Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: right Learning problem is: env: { elt -> {a, b} ; eltlist -> {cons, nil} } definition: { (append, F: {() -> append([nil, l2, l2]) (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)])} (append([_dr, _er, _fr]) /\ append([_dr, _er, _gr])) -> eq_eltlist([_fr, _gr]) ) (reverse, F: {() -> reverse([nil, nil]) (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir])} (reverse([_jr, _kr]) /\ reverse([_jr, _lr])) -> eq_eltlist([_kr, _lr]) ) (mem, P: {() -> mem([h, cons(h, t)]) (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) (mem([e, nil])) -> BOT} ) } properties: {(mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr])} over-approximation: {append, reverse} under-approximation: {} Clause system for inference is: { () -> append([nil, l2, l2]) -> 0 () -> mem([h, cons(h, t)]) -> 0 () -> reverse([nil, nil]) -> 0 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 0 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 0 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 0 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 0 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 0 (mem([e, nil])) -> BOT -> 0 } Solving took 65.604229 seconds. DontKnow. Stopped because: timeout Working model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3256, q_gen_3257, q_gen_3258, q_gen_3261, q_gen_3262, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3273, q_gen_3274, q_gen_3275, q_gen_3283, q_gen_3284, q_gen_3285, q_gen_3296, q_gen_3297, q_gen_3298, q_gen_3299, q_gen_3300, q_gen_3307, q_gen_3308, q_gen_3309, q_gen_3315, q_gen_3316, q_gen_3317, q_gen_3318, q_gen_3319, q_gen_3330, q_gen_3331, q_gen_3332, q_gen_3333, q_gen_3334, q_gen_3335, q_gen_3340, q_gen_3341, q_gen_3342, q_gen_3347, q_gen_3348, q_gen_3349, q_gen_3353, q_gen_3354, q_gen_3357, q_gen_3358, q_gen_3359, q_gen_3363, q_gen_3364, q_gen_3369, q_gen_3370, q_gen_3371, q_gen_3376, q_gen_3377, q_gen_3378, q_gen_3379, q_gen_3382, q_gen_3383, q_gen_3384, q_gen_3386, q_gen_3390, q_gen_3391, q_gen_3395, q_gen_3396, q_gen_3397, q_gen_3398, q_gen_3399, q_gen_3400, q_gen_3401, q_gen_3402, q_gen_3403, q_gen_3404, q_gen_3408, q_gen_3409, q_gen_3410, q_gen_3411, q_gen_3414, q_gen_3415, q_gen_3416, q_gen_3417, q_gen_3418, q_gen_3420, q_gen_3421, q_gen_3422, q_gen_3426, q_gen_3427}, Q_f={}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3265, q_gen_3264) -> q_gen_3332 (q_gen_3265, q_gen_3332) -> q_gen_3397 (q_gen_3298, q_gen_3264) -> q_gen_3402 () -> q_gen_3251 () -> q_gen_3252 (q_gen_3258, q_gen_3251) -> q_gen_3257 () -> q_gen_3258 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3298, q_gen_3264) -> q_gen_3318 (q_gen_3252, q_gen_3335) -> q_gen_3334 (q_gen_3252, q_gen_3251) -> q_gen_3335 (q_gen_3265, q_gen_3332) -> q_gen_3371 (q_gen_3265, q_gen_3402) -> q_gen_3404 () -> q_gen_3417 (q_gen_3252, q_gen_3274) -> q_gen_3427 () -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3258, q_gen_3257) -> q_gen_3256 (q_gen_3252, q_gen_3251) -> q_gen_3261 (q_gen_3266, q_gen_3263) -> q_gen_3262 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 (q_gen_3252, q_gen_3274) -> q_gen_3273 (q_gen_3258, q_gen_3251) -> q_gen_3275 (q_gen_3284, q_gen_3263) -> q_gen_3283 () -> q_gen_3284 (q_gen_3252, q_gen_3274) -> q_gen_3285 (q_gen_3299, q_gen_3297) -> q_gen_3296 (q_gen_3298, q_gen_3264) -> q_gen_3297 () -> q_gen_3299 (q_gen_3299, q_gen_3246) -> q_gen_3300 (q_gen_3308, q_gen_3297) -> q_gen_3307 () -> q_gen_3308 (q_gen_3299, q_gen_3250) -> q_gen_3309 (q_gen_3266, q_gen_3297) -> q_gen_3315 (q_gen_3284, q_gen_3317) -> q_gen_3316 (q_gen_3252, q_gen_3318) -> q_gen_3317 (q_gen_3284, q_gen_3246) -> q_gen_3319 (q_gen_3284, q_gen_3331) -> q_gen_3330 (q_gen_3265, q_gen_3332) -> q_gen_3331 (q_gen_3252, q_gen_3334) -> q_gen_3333 (q_gen_3258, q_gen_3251) -> q_gen_3340 (q_gen_3252, q_gen_3257) -> q_gen_3341 (q_gen_3299, q_gen_3263) -> q_gen_3342 (q_gen_3308, q_gen_3285) -> q_gen_3347 (q_gen_3308, q_gen_3330) -> q_gen_3348 (q_gen_3308, q_gen_3263) -> q_gen_3349 (q_gen_3308, q_gen_3354) -> q_gen_3353 (q_gen_3258, q_gen_3318) -> q_gen_3354 (q_gen_3252, q_gen_3335) -> q_gen_3357 (q_gen_3258, q_gen_3335) -> q_gen_3358 (q_gen_3258, q_gen_3274) -> q_gen_3359 (q_gen_3266, q_gen_3273) -> q_gen_3363 (q_gen_3308, q_gen_3331) -> q_gen_3364 (q_gen_3284, q_gen_3285) -> q_gen_3369 (q_gen_3252, q_gen_3371) -> q_gen_3370 (q_gen_3299, q_gen_3319) -> q_gen_3376 (q_gen_3308, q_gen_3378) -> q_gen_3377 (q_gen_3266, q_gen_3340) -> q_gen_3378 (q_gen_3252, q_gen_3318) -> q_gen_3379 (q_gen_3308, q_gen_3275) -> q_gen_3382 (q_gen_3299, q_gen_3307) -> q_gen_3383 (q_gen_3308, q_gen_3246) -> q_gen_3384 (q_gen_3299, q_gen_3317) -> q_gen_3386 (q_gen_3252, q_gen_3371) -> q_gen_3390 (q_gen_3284, q_gen_3273) -> q_gen_3391 (q_gen_3284, q_gen_3396) -> q_gen_3395 (q_gen_3265, q_gen_3397) -> q_gen_3396 (q_gen_3284, q_gen_3297) -> q_gen_3398 (q_gen_3266, q_gen_3331) -> q_gen_3399 (q_gen_3308, q_gen_3401) -> q_gen_3400 (q_gen_3298, q_gen_3402) -> q_gen_3401 (q_gen_3258, q_gen_3404) -> q_gen_3403 (q_gen_3284, q_gen_3275) -> q_gen_3408 (q_gen_3266, q_gen_3307) -> q_gen_3409 (q_gen_3266, q_gen_3411) -> q_gen_3410 (q_gen_3258, q_gen_3274) -> q_gen_3411 (q_gen_3252, q_gen_3257) -> q_gen_3414 (q_gen_3266, q_gen_3416) -> q_gen_3415 (q_gen_3417, q_gen_3318) -> q_gen_3416 (q_gen_3417, q_gen_3274) -> q_gen_3418 (q_gen_3308, q_gen_3421) -> q_gen_3420 (q_gen_3258, q_gen_3318) -> q_gen_3421 (q_gen_3299, q_gen_3421) -> q_gen_3422 (q_gen_3252, q_gen_3427) -> q_gen_3426 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3247, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3254, q_gen_3255, q_gen_3259, q_gen_3260, q_gen_3269, q_gen_3270, q_gen_3271, q_gen_3272, q_gen_3278, q_gen_3279, q_gen_3280, q_gen_3281, q_gen_3282, q_gen_3290, q_gen_3292, q_gen_3293, q_gen_3294, q_gen_3295, q_gen_3303, q_gen_3304, q_gen_3305, q_gen_3306, q_gen_3312, q_gen_3313, q_gen_3314, q_gen_3324, q_gen_3325, q_gen_3327, q_gen_3328, q_gen_3329, q_gen_3337, q_gen_3338, q_gen_3339, q_gen_3344, q_gen_3345, q_gen_3346, q_gen_3352, q_gen_3367, q_gen_3368}, Q_f={}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3271) -> q_gen_3282 (q_gen_3245, q_gen_3248) -> q_gen_3293 (q_gen_3245, q_gen_3293) -> q_gen_3304 (q_gen_3249, q_gen_3282) -> q_gen_3306 (q_gen_3249, q_gen_3260) -> q_gen_3329 (q_gen_3249, q_gen_3271) -> q_gen_3339 (q_gen_3245, q_gen_3260) -> q_gen_3346 (q_gen_3245, q_gen_3282) -> q_gen_3368 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3247 (q_gen_3249, q_gen_3244) -> q_gen_3253 () -> q_gen_3254 (q_gen_3249, q_gen_3244) -> q_gen_3255 (q_gen_3249, q_gen_3260) -> q_gen_3259 (q_gen_3245, q_gen_3248) -> q_gen_3269 (q_gen_3245, q_gen_3271) -> q_gen_3270 (q_gen_3249, q_gen_3271) -> q_gen_3272 (q_gen_3249, q_gen_3248) -> q_gen_3278 (q_gen_3245, q_gen_3244) -> q_gen_3279 () -> q_gen_3280 (q_gen_3245, q_gen_3282) -> q_gen_3281 (q_gen_3245, q_gen_3248) -> q_gen_3290 (q_gen_3245, q_gen_3293) -> q_gen_3292 (q_gen_3245, q_gen_3271) -> q_gen_3294 (q_gen_3249, q_gen_3282) -> q_gen_3295 (q_gen_3245, q_gen_3304) -> q_gen_3303 (q_gen_3249, q_gen_3306) -> q_gen_3305 (q_gen_3249, q_gen_3293) -> q_gen_3312 (q_gen_3249, q_gen_3271) -> q_gen_3313 (q_gen_3245, q_gen_3260) -> q_gen_3314 (q_gen_3245, q_gen_3306) -> q_gen_3324 (q_gen_3249, q_gen_3282) -> q_gen_3325 (q_gen_3249, q_gen_3260) -> q_gen_3327 (q_gen_3245, q_gen_3329) -> q_gen_3328 (q_gen_3245, q_gen_3260) -> q_gen_3337 (q_gen_3245, q_gen_3339) -> q_gen_3338 (q_gen_3249, q_gen_3339) -> q_gen_3344 (q_gen_3245, q_gen_3346) -> q_gen_3345 (q_gen_3249, q_gen_3346) -> q_gen_3352 (q_gen_3245, q_gen_3368) -> q_gen_3367 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3276, q_gen_3277, q_gen_3286, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3291, q_gen_3301, q_gen_3302, q_gen_3310, q_gen_3311, q_gen_3320, q_gen_3321, q_gen_3322, q_gen_3323, q_gen_3326, q_gen_3336, q_gen_3343, q_gen_3350, q_gen_3351, q_gen_3355, q_gen_3356, q_gen_3360, q_gen_3361, q_gen_3362, q_gen_3365, q_gen_3366, q_gen_3372, q_gen_3373, q_gen_3374, q_gen_3375, q_gen_3380, q_gen_3381, q_gen_3385, q_gen_3387, q_gen_3388, q_gen_3389, q_gen_3392, q_gen_3393, q_gen_3394, q_gen_3405, q_gen_3406, q_gen_3407, q_gen_3412, q_gen_3413, q_gen_3419, q_gen_3423, q_gen_3424, q_gen_3425, q_gen_3428}, Q_f={}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3322 (q_gen_3289, q_gen_3288) -> q_gen_3374 (q_gen_3322, q_gen_3288) -> q_gen_3407 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 () -> q_gen_3268 (q_gen_3277, q_gen_3242) -> q_gen_3276 () -> q_gen_3277 (q_gen_3268, q_gen_3287) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3287 (q_gen_3268, q_gen_3286) -> q_gen_3291 (q_gen_3302, q_gen_3242) -> q_gen_3301 () -> q_gen_3302 (q_gen_3302, q_gen_3267) -> q_gen_3310 (q_gen_3277, q_gen_3286) -> q_gen_3311 (q_gen_3323, q_gen_3321) -> q_gen_3320 (q_gen_3322, q_gen_3288) -> q_gen_3321 () -> q_gen_3323 (q_gen_3268, q_gen_3321) -> q_gen_3326 (q_gen_3302, q_gen_3321) -> q_gen_3336 (q_gen_3302, q_gen_3287) -> q_gen_3343 (q_gen_3277, q_gen_3301) -> q_gen_3350 (q_gen_3323, q_gen_3242) -> q_gen_3351 (q_gen_3302, q_gen_3356) -> q_gen_3355 (q_gen_3289, q_gen_3288) -> q_gen_3356 (q_gen_3277, q_gen_3287) -> q_gen_3360 (q_gen_3277, q_gen_3362) -> q_gen_3361 (q_gen_3323, q_gen_3276) -> q_gen_3362 (q_gen_3277, q_gen_3343) -> q_gen_3365 (q_gen_3323, q_gen_3356) -> q_gen_3366 (q_gen_3268, q_gen_3373) -> q_gen_3372 (q_gen_3289, q_gen_3374) -> q_gen_3373 (q_gen_3268, q_gen_3343) -> q_gen_3375 (q_gen_3268, q_gen_3381) -> q_gen_3380 (q_gen_3322, q_gen_3288) -> q_gen_3381 (q_gen_3277, q_gen_3321) -> q_gen_3385 (q_gen_3323, q_gen_3287) -> q_gen_3387 (q_gen_3277, q_gen_3389) -> q_gen_3388 (q_gen_3323, q_gen_3351) -> q_gen_3389 (q_gen_3323, q_gen_3286) -> q_gen_3392 (q_gen_3277, q_gen_3394) -> q_gen_3393 (q_gen_3277, q_gen_3356) -> q_gen_3394 (q_gen_3277, q_gen_3406) -> q_gen_3405 (q_gen_3289, q_gen_3407) -> q_gen_3406 (q_gen_3268, q_gen_3413) -> q_gen_3412 (q_gen_3322, q_gen_3374) -> q_gen_3413 (q_gen_3323, q_gen_3381) -> q_gen_3419 (q_gen_3268, q_gen_3276) -> q_gen_3423 (q_gen_3302, q_gen_3362) -> q_gen_3424 (q_gen_3268, q_gen_3301) -> q_gen_3425 (q_gen_3268, q_gen_3267) -> q_gen_3428 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.004422 s (model generation: 0.004151, model checking: 0.000271): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; mem -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 0 () -> mem([h, cons(h, t)]) -> 0 () -> reverse([nil, nil]) -> 3 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 1 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 1 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 1 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 1 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 1 (mem([e, nil])) -> BOT -> 1 } Sat witness: Found: (() -> reverse([nil, nil]), { }) ------------------------------------------- Step 1, which took 0.004296 s (model generation: 0.004221, model checking: 0.000075): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; mem -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3242 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 0 () -> mem([h, cons(h, t)]) -> 3 () -> reverse([nil, nil]) -> 3 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 1 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 1 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 1 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 1 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 1 (mem([e, nil])) -> BOT -> 1 } Sat witness: Found: (() -> mem([h, cons(h, t)]), { h -> b ; t -> nil }) ------------------------------------------- Step 2, which took 0.004166 s (model generation: 0.004065, model checking: 0.000101): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3243 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3242 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> mem([h, cons(h, t)]) -> 3 () -> reverse([nil, nil]) -> 3 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 1 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 1 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 1 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 1 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 1 (mem([e, nil])) -> BOT -> 1 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> nil }) ------------------------------------------- Step 3, which took 0.005136 s (model generation: 0.004831, model checking: 0.000305): Model: |_ { append -> {{{ Q={q_gen_3246}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3246 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3243 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3242 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> mem([h, cons(h, t)]) -> 3 () -> reverse([nil, nil]) -> 3 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 1 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 1 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 1 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 4 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 2 (mem([e, nil])) -> BOT -> 2 } Sat witness: Found: ((mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]), { e -> b ; h -> a ; t -> cons(b, nil) }) ------------------------------------------- Step 4, which took 0.004571 s (model generation: 0.004411, model checking: 0.000160): Model: |_ { append -> {{{ Q={q_gen_3246}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3246 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245}, Q_f={q_gen_3243}, Delta= { (q_gen_3245, q_gen_3244) -> q_gen_3244 () -> q_gen_3244 () -> q_gen_3245 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3243 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3242 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> mem([h, cons(h, t)]) -> 3 () -> reverse([nil, nil]) -> 3 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 1 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 4 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 2 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 4 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 2 (mem([e, nil])) -> BOT -> 2 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> nil ; h1 -> b ; l2 -> nil ; t1 -> nil }) ------------------------------------------- Step 5, which took 0.006210 s (model generation: 0.005610, model checking: 0.000600): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3251 () -> q_gen_3252 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245}, Q_f={q_gen_3243}, Delta= { (q_gen_3245, q_gen_3244) -> q_gen_3244 () -> q_gen_3244 () -> q_gen_3245 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3243 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3242 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> mem([h, cons(h, t)]) -> 3 () -> reverse([nil, nil]) -> 3 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 2 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 4 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 2 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 4 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 5 (mem([e, nil])) -> BOT -> 3 } Sat witness: Found: ((mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]), { e -> b ; h -> a ; t -> nil }) ------------------------------------------- Step 6, which took 0.005450 s (model generation: 0.005055, model checking: 0.000395): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3251 () -> q_gen_3252 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245}, Q_f={q_gen_3243}, Delta= { (q_gen_3245, q_gen_3244) -> q_gen_3244 () -> q_gen_3244 () -> q_gen_3245 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3243 () -> q_gen_3243 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3242 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> mem([h, cons(h, t)]) -> 3 () -> reverse([nil, nil]) -> 3 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 3 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 4 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 3 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 4 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 5 (mem([e, nil])) -> BOT -> 6 } Sat witness: Found: ((mem([e, nil])) -> BOT, { e -> b }) ------------------------------------------- Step 7, which took 0.006535 s (model generation: 0.005655, model checking: 0.000880): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3251 () -> q_gen_3252 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3242 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> mem([h, cons(h, t)]) -> 6 () -> reverse([nil, nil]) -> 4 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 4 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 4 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 4 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 4 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 5 (mem([e, nil])) -> BOT -> 6 } Sat witness: Found: (() -> mem([h, cons(h, t)]), { h -> a ; t -> nil }) ------------------------------------------- Step 8, which took 0.005988 s (model generation: 0.005721, model checking: 0.000267): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3251 () -> q_gen_3252 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3242 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> mem([h, cons(h, t)]) -> 6 () -> reverse([nil, nil]) -> 4 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 4 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 4 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 4 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 4 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 5 (mem([e, nil])) -> BOT -> 6 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> cons(a, cons(a, nil)) }) ------------------------------------------- Step 9, which took 0.006840 s (model generation: 0.006102, model checking: 0.000738): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252}, Q_f={q_gen_3246}, Delta= { (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3242 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> mem([h, cons(h, t)]) -> 6 () -> reverse([nil, nil]) -> 4 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 4 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 4 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 4 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 7 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 5 (mem([e, nil])) -> BOT -> 6 } Sat witness: Found: ((mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]), { e -> b ; h -> a ; t -> cons(a, cons(b, nil)) }) ------------------------------------------- Step 10, which took 0.006474 s (model generation: 0.005509, model checking: 0.000965): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252}, Q_f={q_gen_3246}, Delta= { (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3242 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> mem([h, cons(h, t)]) -> 6 () -> reverse([nil, nil]) -> 4 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 4 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 7 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 5 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 7 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 5 (mem([e, nil])) -> BOT -> 6 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(b, nil) ; h1 -> b ; l2 -> cons(b, nil) ; t1 -> nil }) ------------------------------------------- Step 11, which took 0.006697 s (model generation: 0.006139, model checking: 0.000558): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3242 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> mem([h, cons(h, t)]) -> 6 () -> reverse([nil, nil]) -> 4 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 7 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 7 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 5 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 7 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 5 (mem([e, nil])) -> BOT -> 6 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> nil ; _ir -> cons(b, nil) ; h1 -> b ; t1 -> nil }) ------------------------------------------- Step 12, which took 0.007881 s (model generation: 0.006100, model checking: 0.001781): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268}, Q_f={q_gen_3242}, Delta= { (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> mem([h, cons(h, t)]) -> 9 () -> reverse([nil, nil]) -> 5 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 7 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 7 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 6 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 7 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 6 (mem([e, nil])) -> BOT -> 7 } Sat witness: Found: (() -> mem([h, cons(h, t)]), { h -> b ; t -> cons(b, nil) }) ------------------------------------------- Step 13, which took 0.008759 s (model generation: 0.006670, model checking: 0.002089): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268}, Q_f={q_gen_3242}, Delta= { (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 7 () -> mem([h, cons(h, t)]) -> 9 () -> reverse([nil, nil]) -> 6 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 7 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 7 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 7 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 10 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 7 (mem([e, nil])) -> BOT -> 8 } Sat witness: Found: ((mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]), { e -> a ; h -> b ; t -> cons(a, nil) }) ------------------------------------------- Step 14, which took 0.007513 s (model generation: 0.006464, model checking: 0.001049): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268}, Q_f={q_gen_3242}, Delta= { (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 7 () -> mem([h, cons(h, t)]) -> 9 () -> reverse([nil, nil]) -> 7 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 7 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 7 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 7 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 10 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 10 (mem([e, nil])) -> BOT -> 8 } Sat witness: Found: ((mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]), { e -> b ; h -> a ; t -> cons(a, nil) }) ------------------------------------------- Step 15, which took 0.009790 s (model generation: 0.008288, model checking: 0.001502): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253}, Q_f={q_gen_3243}, Delta= { (q_gen_3249, q_gen_3244) -> q_gen_3244 () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268}, Q_f={q_gen_3242}, Delta= { (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 7 () -> mem([h, cons(h, t)]) -> 9 () -> reverse([nil, nil]) -> 7 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 7 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 10 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 8 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 10 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 10 (mem([e, nil])) -> BOT -> 8 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(b, nil) ; h1 -> b ; l2 -> nil ; t1 -> nil }) ------------------------------------------- Step 16, which took 0.007693 s (model generation: 0.007050, model checking: 0.000643): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253}, Q_f={q_gen_3243}, Delta= { (q_gen_3249, q_gen_3244) -> q_gen_3244 () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268}, Q_f={q_gen_3242}, Delta= { (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 7 () -> mem([h, cons(h, t)]) -> 9 () -> reverse([nil, nil]) -> 7 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 10 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 10 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 8 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 10 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 10 (mem([e, nil])) -> BOT -> 8 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> nil ; _ir -> cons(a, nil) ; h1 -> a ; t1 -> nil }) ------------------------------------------- Step 17, which took 0.009666 s (model generation: 0.008010, model checking: 0.001656): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253}, Q_f={q_gen_3243}, Delta= { (q_gen_3249, q_gen_3244) -> q_gen_3244 () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268}, Q_f={q_gen_3242}, Delta= { (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 8 () -> mem([h, cons(h, t)]) -> 12 () -> reverse([nil, nil]) -> 8 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 10 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 10 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 9 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 10 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 10 (mem([e, nil])) -> BOT -> 9 } Sat witness: Found: (() -> mem([h, cons(h, t)]), { h -> a ; t -> cons(b, nil) }) ------------------------------------------- Step 18, which took 0.009919 s (model generation: 0.008452, model checking: 0.001467): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253}, Q_f={q_gen_3243}, Delta= { (q_gen_3249, q_gen_3244) -> q_gen_3244 () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268}, Q_f={q_gen_3242}, Delta= { (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 9 () -> mem([h, cons(h, t)]) -> 12 () -> reverse([nil, nil]) -> 9 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 10 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 10 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 10 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 10 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 13 (mem([e, nil])) -> BOT -> 10 } Sat witness: Found: ((mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]), { e -> a ; h -> b ; t -> nil }) ------------------------------------------- Step 19, which took 0.009263 s (model generation: 0.008361, model checking: 0.000902): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253}, Q_f={q_gen_3243}, Delta= { (q_gen_3249, q_gen_3244) -> q_gen_3244 () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 () -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268}, Q_f={q_gen_3242}, Delta= { (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 10 () -> mem([h, cons(h, t)]) -> 12 () -> reverse([nil, nil]) -> 10 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 10 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 10 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 10 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 10 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 13 (mem([e, nil])) -> BOT -> 13 } Sat witness: Found: ((mem([e, nil])) -> BOT, { e -> a }) ------------------------------------------- Step 20, which took 0.010147 s (model generation: 0.008759, model checking: 0.001388): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268}, Q_f={q_gen_3242}, Delta= { (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 10 () -> mem([h, cons(h, t)]) -> 12 () -> reverse([nil, nil]) -> 10 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 10 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 10 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 10 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 13 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 13 (mem([e, nil])) -> BOT -> 13 } Sat witness: Found: ((mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]), { e -> a ; h -> b ; t -> cons(b, cons(a, nil)) }) ------------------------------------------- Step 21, which took 0.011296 s (model generation: 0.009176, model checking: 0.002120): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3271) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268}, Q_f={q_gen_3242}, Delta= { (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 10 () -> mem([h, cons(h, t)]) -> 12 () -> reverse([nil, nil]) -> 10 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 10 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 13 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 11 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 13 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 13 (mem([e, nil])) -> BOT -> 13 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(b, nil) ; h1 -> a ; l2 -> cons(b, nil) ; t1 -> nil }) ------------------------------------------- Step 22, which took 0.009700 s (model generation: 0.009485, model checking: 0.000215): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3271) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268}, Q_f={q_gen_3242}, Delta= { (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 10 () -> mem([h, cons(h, t)]) -> 12 () -> reverse([nil, nil]) -> 10 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 13 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 13 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 11 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 13 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 13 (mem([e, nil])) -> BOT -> 13 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> nil ; _ir -> cons(b, cons(b, nil)) ; h1 -> b ; t1 -> nil }) ------------------------------------------- Step 23, which took 0.027927 s (model generation: 0.024272, model checking: 0.003655): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3271) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 11 () -> mem([h, cons(h, t)]) -> 12 () -> reverse([nil, nil]) -> 11 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 13 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 13 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 14 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 13 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 13 (mem([e, nil])) -> BOT -> 13 } Sat witness: Found: ((mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]), { _mr -> cons(b, cons(b, cons(b, nil))) ; e -> a ; l1 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 24, which took 0.030082 s (model generation: 0.028560, model checking: 0.001522): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 (q_gen_3245, q_gen_3271) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 12 () -> mem([h, cons(h, t)]) -> 15 () -> reverse([nil, nil]) -> 12 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 13 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 13 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 14 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 13 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 13 (mem([e, nil])) -> BOT -> 13 } Sat witness: Found: (() -> mem([h, cons(h, t)]), { h -> b ; t -> cons(a, nil) }) ------------------------------------------- Step 25, which took 0.031660 s (model generation: 0.029710, model checking: 0.001950): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 (q_gen_3245, q_gen_3271) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 13 () -> mem([h, cons(h, t)]) -> 15 () -> reverse([nil, nil]) -> 13 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 13 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 13 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 14 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 13 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 16 (mem([e, nil])) -> BOT -> 14 } Sat witness: Found: ((mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]), { e -> a ; h -> b ; t -> cons(b, nil) }) ------------------------------------------- Step 26, which took 0.032788 s (model generation: 0.030038, model checking: 0.002750): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3248) -> q_gen_3271 (q_gen_3245, q_gen_3271) -> q_gen_3271 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 13 () -> mem([h, cons(h, t)]) -> 15 () -> reverse([nil, nil]) -> 13 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 13 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 13 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 14 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 16 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 16 (mem([e, nil])) -> BOT -> 14 } Sat witness: Found: ((mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]), { e -> b ; h -> a ; t -> cons(b, cons(a, nil)) }) ------------------------------------------- Step 27, which took 0.034834 s (model generation: 0.031935, model checking: 0.002899): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3271, q_gen_3282}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3248) -> q_gen_3282 (q_gen_3245, q_gen_3271) -> q_gen_3282 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3282) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3282) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 13 () -> mem([h, cons(h, t)]) -> 15 () -> reverse([nil, nil]) -> 13 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 13 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 16 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 14 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 16 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 16 (mem([e, nil])) -> BOT -> 14 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(a, nil) ; h1 -> b ; l2 -> cons(a, nil) ; t1 -> nil }) ------------------------------------------- Step 28, which took 0.035474 s (model generation: 0.034542, model checking: 0.000932): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3271, q_gen_3282}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3248) -> q_gen_3282 (q_gen_3245, q_gen_3271) -> q_gen_3282 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3282) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3282) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 13 () -> mem([h, cons(h, t)]) -> 15 () -> reverse([nil, nil]) -> 13 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 16 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 16 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 14 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 16 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 16 (mem([e, nil])) -> BOT -> 14 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> cons(b, nil) ; _ir -> cons(b, nil) ; h1 -> a ; t1 -> nil }) ------------------------------------------- Step 29, which took 0.039504 s (model generation: 0.036370, model checking: 0.003134): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3245, q_gen_3248) -> q_gen_3271 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 14 () -> mem([h, cons(h, t)]) -> 15 () -> reverse([nil, nil]) -> 14 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 16 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 16 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 17 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 16 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 16 (mem([e, nil])) -> BOT -> 15 } Sat witness: Found: ((mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]), { _mr -> cons(b, nil) ; e -> a ; l1 -> cons(a, nil) }) ------------------------------------------- Step 30, which took 0.038105 s (model generation: 0.036667, model checking: 0.001438): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3271, q_gen_3282}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3248) -> q_gen_3271 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3271) -> q_gen_3282 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3282) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3282) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3268, q_gen_3287) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 15 () -> mem([h, cons(h, t)]) -> 18 () -> reverse([nil, nil]) -> 15 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 16 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 16 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 17 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 16 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 16 (mem([e, nil])) -> BOT -> 16 } Sat witness: Found: (() -> mem([h, cons(h, t)]), { h -> b ; t -> cons(b, cons(b, cons(b, nil))) }) ------------------------------------------- Step 31, which took 0.051061 s (model generation: 0.039426, model checking: 0.011635): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3268, q_gen_3287) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 16 () -> mem([h, cons(h, t)]) -> 18 () -> reverse([nil, nil]) -> 16 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 16 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 16 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 17 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 19 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 17 (mem([e, nil])) -> BOT -> 17 } Sat witness: Found: ((mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]), { e -> b ; h -> a ; t -> cons(a, cons(b, cons(a, nil))) }) ------------------------------------------- Step 32, which took 0.045674 s (model generation: 0.043724, model checking: 0.001950): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3268, q_gen_3287) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 16 () -> mem([h, cons(h, t)]) -> 18 () -> reverse([nil, nil]) -> 16 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 16 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 19 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 17 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 19 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 17 (mem([e, nil])) -> BOT -> 17 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(a, nil) ; h1 -> a ; l2 -> cons(a, nil) ; t1 -> nil }) ------------------------------------------- Step 33, which took 0.044395 s (model generation: 0.043647, model checking: 0.000748): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3260) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3245, q_gen_3248) -> q_gen_3271 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3268, q_gen_3287) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 16 () -> mem([h, cons(h, t)]) -> 18 () -> reverse([nil, nil]) -> 16 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 19 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 19 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 17 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 19 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 17 (mem([e, nil])) -> BOT -> 17 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> cons(b, cons(b, nil)) ; _ir -> cons(b, cons(b, nil)) ; h1 -> a ; t1 -> cons(b, nil) }) ------------------------------------------- Step 34, which took 0.052365 s (model generation: 0.048829, model checking: 0.003536): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3271, q_gen_3282}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3282) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 (q_gen_3249, q_gen_3282) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3248) -> q_gen_3282 (q_gen_3245, q_gen_3271) -> q_gen_3282 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3282) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3282) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242, q_gen_3267}, Delta= { () -> q_gen_3288 () -> q_gen_3289 (q_gen_3302, q_gen_3267) -> q_gen_3242 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 (q_gen_3268, q_gen_3287) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3267) -> q_gen_3287 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 17 () -> mem([h, cons(h, t)]) -> 18 () -> reverse([nil, nil]) -> 17 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 19 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 19 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 17 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 19 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 20 (mem([e, nil])) -> BOT -> 18 } Sat witness: Found: ((mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]), { e -> a ; h -> b ; t -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 35, which took 0.046648 s (model generation: 0.045766, model checking: 0.000882): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3257, q_gen_3261, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3252, q_gen_3251) -> q_gen_3257 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3257) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3261 (q_gen_3266, q_gen_3261) -> q_gen_3261 (q_gen_3252, q_gen_3251) -> q_gen_3261 (q_gen_3265, q_gen_3264) -> q_gen_3261 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3271, q_gen_3282}, Q_f={q_gen_3243}, Delta= { (q_gen_3245, q_gen_3248) -> q_gen_3244 () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 (q_gen_3249, q_gen_3282) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3271) -> q_gen_3282 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3282) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3282) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3288, q_gen_3289}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 (q_gen_3268, q_gen_3267) -> q_gen_3267 (q_gen_3289, q_gen_3288) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 () -> q_gen_3268 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 20 () -> mem([h, cons(h, t)]) -> 18 () -> reverse([nil, nil]) -> 18 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 19 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 19 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 18 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 19 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 20 (mem([e, nil])) -> BOT -> 18 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> cons(b, nil) }) ------------------------------------------- Step 36, which took 0.050963 s (model generation: 0.045195, model checking: 0.005768): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { (q_gen_3245, q_gen_3248) -> q_gen_3244 () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3249, q_gen_3260) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3268, q_gen_3287) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 20 () -> mem([h, cons(h, t)]) -> 18 () -> reverse([nil, nil]) -> 18 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 19 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 19 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 21 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 19 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 20 (mem([e, nil])) -> BOT -> 19 } Sat witness: Found: ((mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]), { _mr -> cons(a, cons(b, cons(b, nil))) ; e -> b ; l1 -> cons(a, cons(b, nil)) }) ------------------------------------------- Step 37, which took 0.052351 s (model generation: 0.051391, model checking: 0.000960): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3271, q_gen_3282}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 (q_gen_3249, q_gen_3282) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3271) -> q_gen_3282 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3282) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3282) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3302, q_gen_3242) -> q_gen_3301 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 20 () -> mem([h, cons(h, t)]) -> 21 () -> reverse([nil, nil]) -> 19 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 19 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 19 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 21 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 19 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 20 (mem([e, nil])) -> BOT -> 19 } Sat witness: Found: (() -> mem([h, cons(h, t)]), { h -> a ; t -> cons(a, nil) }) ------------------------------------------- Step 38, which took 0.057347 s (model generation: 0.053413, model checking: 0.003934): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3271, q_gen_3282}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 (q_gen_3249, q_gen_3248) -> q_gen_3248 (q_gen_3249, q_gen_3282) -> q_gen_3248 () -> q_gen_3249 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3271) -> q_gen_3282 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3282) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3282) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3302, q_gen_3242) -> q_gen_3301 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 20 () -> mem([h, cons(h, t)]) -> 21 () -> reverse([nil, nil]) -> 19 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 19 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 19 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 21 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 22 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 20 (mem([e, nil])) -> BOT -> 20 } Sat witness: Found: ((mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]), { e -> a ; h -> b ; t -> cons(a, cons(b, nil)) }) ------------------------------------------- Step 39, which took 0.057161 s (model generation: 0.055827, model checking: 0.001334): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 (q_gen_3249, q_gen_3260) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3302, q_gen_3242) -> q_gen_3301 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 20 () -> mem([h, cons(h, t)]) -> 21 () -> reverse([nil, nil]) -> 19 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 19 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 22 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 21 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 22 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 20 (mem([e, nil])) -> BOT -> 20 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(b, cons(a, nil)) ; h1 -> a ; l2 -> cons(b, nil) ; t1 -> cons(b, nil) }) ------------------------------------------- Step 40, which took 0.053707 s (model generation: 0.051907, model checking: 0.001800): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242, q_gen_3267}, Delta= { () -> q_gen_3288 () -> q_gen_3289 (q_gen_3302, q_gen_3267) -> q_gen_3242 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 (q_gen_3268, q_gen_3267) -> q_gen_3267 (q_gen_3268, q_gen_3287) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 20 () -> mem([h, cons(h, t)]) -> 21 () -> reverse([nil, nil]) -> 19 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 22 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 22 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 21 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 22 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 20 (mem([e, nil])) -> BOT -> 20 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> cons(a, nil) ; _ir -> cons(a, nil) ; h1 -> b ; t1 -> cons(a, nil) }) ------------------------------------------- Step 41, which took 0.049779 s (model generation: 0.047252, model checking: 0.002527): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242, q_gen_3267}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3302, q_gen_3267) -> q_gen_3242 (q_gen_3302, q_gen_3287) -> q_gen_3242 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 (q_gen_3268, q_gen_3287) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3267) -> q_gen_3287 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 20 () -> mem([h, cons(h, t)]) -> 21 () -> reverse([nil, nil]) -> 20 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 22 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 22 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 21 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 22 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 23 (mem([e, nil])) -> BOT -> 21 } Sat witness: Found: ((mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]), { e -> a ; h -> b ; t -> cons(a, cons(b, cons(a, nil))) }) ------------------------------------------- Step 42, which took 0.027646 s (model generation: 0.024155, model checking: 0.003491): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 (q_gen_3249, q_gen_3260) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 (q_gen_3249, q_gen_3260) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242, q_gen_3267}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3302, q_gen_3287) -> q_gen_3242 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 (q_gen_3268, q_gen_3267) -> q_gen_3267 (q_gen_3268, q_gen_3287) -> q_gen_3267 (q_gen_3302, q_gen_3267) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 21 () -> mem([h, cons(h, t)]) -> 21 () -> reverse([nil, nil]) -> 21 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 22 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 22 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 24 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 22 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 23 (mem([e, nil])) -> BOT -> 22 } Sat witness: Found: ((mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]), { _mr -> cons(b, nil) ; e -> a ; l1 -> cons(b, cons(a, nil)) }) ------------------------------------------- Step 43, which took 0.025101 s (model generation: 0.024814, model checking: 0.000287): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 (q_gen_3249, q_gen_3260) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 (q_gen_3249, q_gen_3260) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242, q_gen_3267}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 (q_gen_3268, q_gen_3287) -> q_gen_3267 (q_gen_3302, q_gen_3267) -> q_gen_3267 (q_gen_3289, q_gen_3288) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3267) -> q_gen_3287 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 21 () -> mem([h, cons(h, t)]) -> 24 () -> reverse([nil, nil]) -> 22 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 22 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 22 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 24 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 22 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 23 (mem([e, nil])) -> BOT -> 22 } Sat witness: Found: (() -> mem([h, cons(h, t)]), { h -> a ; t -> cons(a, cons(b, nil)) }) ------------------------------------------- Step 44, which took 0.027047 s (model generation: 0.025513, model checking: 0.001534): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 (q_gen_3249, q_gen_3260) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242, q_gen_3267}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 (q_gen_3268, q_gen_3287) -> q_gen_3267 (q_gen_3302, q_gen_3267) -> q_gen_3267 (q_gen_3289, q_gen_3288) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3267) -> q_gen_3287 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 22 () -> mem([h, cons(h, t)]) -> 24 () -> reverse([nil, nil]) -> 22 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 22 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 22 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 24 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 25 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 23 (mem([e, nil])) -> BOT -> 23 } Sat witness: Found: ((mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]), { e -> a ; h -> b ; t -> cons(a, cons(a, cons(b, nil))) }) ------------------------------------------- Step 45, which took 0.029347 s (model generation: 0.028349, model checking: 0.000998): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242, q_gen_3267}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 (q_gen_3268, q_gen_3287) -> q_gen_3267 (q_gen_3302, q_gen_3267) -> q_gen_3267 (q_gen_3289, q_gen_3288) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3267) -> q_gen_3287 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 22 () -> mem([h, cons(h, t)]) -> 24 () -> reverse([nil, nil]) -> 22 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 22 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 25 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 24 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 25 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 23 (mem([e, nil])) -> BOT -> 23 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(b, cons(b, nil)) ; h1 -> a ; l2 -> cons(b, nil) ; t1 -> nil }) ------------------------------------------- Step 46, which took 0.036209 s (model generation: 0.035882, model checking: 0.000327): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242, q_gen_3267}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3302, q_gen_3267) -> q_gen_3242 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 (q_gen_3268, q_gen_3287) -> q_gen_3267 (q_gen_3289, q_gen_3288) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3267) -> q_gen_3287 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 22 () -> mem([h, cons(h, t)]) -> 24 () -> reverse([nil, nil]) -> 22 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 25 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 25 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 24 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 25 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 23 (mem([e, nil])) -> BOT -> 23 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> nil ; _ir -> cons(b, nil) ; h1 -> b ; t1 -> cons(a, nil) }) ------------------------------------------- Step 47, which took 0.045271 s (model generation: 0.044755, model checking: 0.000516): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3257, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3252, q_gen_3251) -> q_gen_3257 (q_gen_3265, q_gen_3264) -> q_gen_3257 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3257) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3252, q_gen_3257) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 25 () -> mem([h, cons(h, t)]) -> 24 () -> reverse([nil, nil]) -> 23 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 25 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 25 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 24 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 25 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 23 (mem([e, nil])) -> BOT -> 23 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> cons(b, cons(b, cons(b, nil))) }) ------------------------------------------- Step 48, which took 0.048805 s (model generation: 0.043836, model checking: 0.004969): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3299}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3299, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3299, q_gen_3246) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3302, q_gen_3301) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 25 () -> mem([h, cons(h, t)]) -> 24 () -> reverse([nil, nil]) -> 24 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 25 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 25 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 27 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 25 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 24 (mem([e, nil])) -> BOT -> 24 } Sat witness: Found: ((mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]), { _mr -> cons(b, nil) ; e -> a ; l1 -> cons(a, cons(a, nil)) }) ------------------------------------------- Step 49, which took 0.044795 s (model generation: 0.041442, model checking: 0.003353): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3257, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3252, q_gen_3251) -> q_gen_3257 (q_gen_3252, q_gen_3257) -> q_gen_3257 (q_gen_3265, q_gen_3264) -> q_gen_3257 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3257) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3252, q_gen_3257) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 25 () -> mem([h, cons(h, t)]) -> 27 () -> reverse([nil, nil]) -> 25 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 25 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 25 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 27 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 25 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 25 (mem([e, nil])) -> BOT -> 25 } Sat witness: Found: (() -> mem([h, cons(h, t)]), { h -> b ; t -> cons(a, cons(b, nil)) }) ------------------------------------------- Step 50, which took 0.052064 s (model generation: 0.047052, model checking: 0.005012): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3257, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3252, q_gen_3251) -> q_gen_3257 (q_gen_3252, q_gen_3257) -> q_gen_3257 (q_gen_3265, q_gen_3264) -> q_gen_3257 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3257) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3252, q_gen_3257) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 25 () -> mem([h, cons(h, t)]) -> 27 () -> reverse([nil, nil]) -> 25 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 25 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 25 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 27 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 28 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 26 (mem([e, nil])) -> BOT -> 26 } Sat witness: Found: ((mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]), { e -> a ; h -> b ; t -> cons(a, cons(a, nil)) }) ------------------------------------------- Step 51, which took 0.049048 s (model generation: 0.048480, model checking: 0.000568): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3257, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3252, q_gen_3251) -> q_gen_3257 (q_gen_3252, q_gen_3257) -> q_gen_3257 (q_gen_3265, q_gen_3264) -> q_gen_3257 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3257) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3252, q_gen_3257) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 25 () -> mem([h, cons(h, t)]) -> 27 () -> reverse([nil, nil]) -> 25 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 25 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 28 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 27 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 28 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 26 (mem([e, nil])) -> BOT -> 26 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(a, nil) ; h1 -> b ; l2 -> nil ; t1 -> cons(a, nil) }) ------------------------------------------- Step 52, which took 0.053344 s (model generation: 0.052994, model checking: 0.000350): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 25 () -> mem([h, cons(h, t)]) -> 27 () -> reverse([nil, nil]) -> 25 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 28 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 28 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 27 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 28 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 26 (mem([e, nil])) -> BOT -> 26 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> cons(b, nil) ; _ir -> cons(b, cons(b, nil)) ; h1 -> a ; t1 -> nil }) ------------------------------------------- Step 53, which took 0.064127 s (model generation: 0.062573, model checking: 0.001554): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3302, q_gen_3242) -> q_gen_3286 (q_gen_3302, q_gen_3286) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 26 () -> mem([h, cons(h, t)]) -> 27 () -> reverse([nil, nil]) -> 26 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 28 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 28 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 27 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 28 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 29 (mem([e, nil])) -> BOT -> 27 } Sat witness: Found: ((mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]), { e -> b ; h -> a ; t -> cons(a, cons(a, nil)) }) ------------------------------------------- Step 54, which took 0.063896 s (model generation: 0.060867, model checking: 0.003029): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3302, q_gen_3242) -> q_gen_3286 (q_gen_3302, q_gen_3286) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 27 () -> mem([h, cons(h, t)]) -> 30 () -> reverse([nil, nil]) -> 27 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 28 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 28 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 28 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 28 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 29 (mem([e, nil])) -> BOT -> 28 } Sat witness: Found: (() -> mem([h, cons(h, t)]), { h -> b ; t -> cons(b, cons(a, cons(b, nil))) }) ------------------------------------------- Step 55, which took 0.065017 s (model generation: 0.063203, model checking: 0.001814): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { (q_gen_3245, q_gen_3248) -> q_gen_3244 (q_gen_3245, q_gen_3260) -> q_gen_3244 () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3302, q_gen_3242) -> q_gen_3286 (q_gen_3302, q_gen_3286) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 28 () -> mem([h, cons(h, t)]) -> 30 () -> reverse([nil, nil]) -> 28 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 28 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 28 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 28 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 31 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 29 (mem([e, nil])) -> BOT -> 29 } Sat witness: Found: ((mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]), { e -> b ; h -> a ; t -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 56, which took 0.115444 s (model generation: 0.111018, model checking: 0.004426): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { (q_gen_3245, q_gen_3260) -> q_gen_3244 () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3302, q_gen_3242) -> q_gen_3286 (q_gen_3302, q_gen_3286) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 28 () -> mem([h, cons(h, t)]) -> 30 () -> reverse([nil, nil]) -> 28 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 28 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 31 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 29 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 31 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 29 (mem([e, nil])) -> BOT -> 29 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(a, cons(b, cons(b, nil))) ; h1 -> a ; l2 -> cons(a, cons(b, nil)) ; t1 -> cons(a, nil) }) ------------------------------------------- Step 57, which took 0.068187 s (model generation: 0.067165, model checking: 0.001022): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3300}, Q_f={q_gen_3246, q_gen_3250}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3250) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3300 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { (q_gen_3245, q_gen_3260) -> q_gen_3244 () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242, q_gen_3267}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3302, q_gen_3267) -> q_gen_3242 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 (q_gen_3268, q_gen_3267) -> q_gen_3267 (q_gen_3289, q_gen_3288) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 28 () -> mem([h, cons(h, t)]) -> 30 () -> reverse([nil, nil]) -> 28 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 31 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 31 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 29 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 31 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 29 (mem([e, nil])) -> BOT -> 29 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> cons(a, nil) ; _ir -> cons(a, cons(b, nil)) ; h1 -> a ; t1 -> cons(a, nil) }) ------------------------------------------- Step 58, which took 0.132303 s (model generation: 0.121232, model checking: 0.011071): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { (q_gen_3245, q_gen_3260) -> q_gen_3244 () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3277, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242, q_gen_3267}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3277, q_gen_3301) -> q_gen_3242 (q_gen_3302, q_gen_3267) -> q_gen_3242 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 (q_gen_3268, q_gen_3267) -> q_gen_3267 (q_gen_3268, q_gen_3287) -> q_gen_3267 (q_gen_3277, q_gen_3242) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3277 () -> q_gen_3277 (q_gen_3302, q_gen_3287) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3277, q_gen_3267) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 29 () -> mem([h, cons(h, t)]) -> 30 () -> reverse([nil, nil]) -> 29 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 31 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 31 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 32 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 31 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 30 (mem([e, nil])) -> BOT -> 30 } Sat witness: Found: ((mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]), { _mr -> cons(a, nil) ; e -> b ; l1 -> cons(b, nil) }) ------------------------------------------- Step 59, which took 0.319989 s (model generation: 0.311664, model checking: 0.008325): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { (q_gen_3245, q_gen_3260) -> q_gen_3244 () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302, q_gen_3321, q_gen_3323}, Q_f={q_gen_3242, q_gen_3267}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3302, q_gen_3267) -> q_gen_3242 (q_gen_3323, q_gen_3321) -> q_gen_3242 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 (q_gen_3268, q_gen_3267) -> q_gen_3267 (q_gen_3268, q_gen_3287) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3321) -> q_gen_3287 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 (q_gen_3302, q_gen_3287) -> q_gen_3321 (q_gen_3302, q_gen_3321) -> q_gen_3321 (q_gen_3323, q_gen_3242) -> q_gen_3321 (q_gen_3289, q_gen_3288) -> q_gen_3321 () -> q_gen_3323 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 30 () -> mem([h, cons(h, t)]) -> 31 () -> reverse([nil, nil]) -> 30 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 31 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 31 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 32 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 34 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 31 (mem([e, nil])) -> BOT -> 31 } Sat witness: Found: ((mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]), { e -> b ; h -> a ; t -> cons(b, cons(a, cons(b, nil))) }) ------------------------------------------- Step 60, which took 0.130603 s (model generation: 0.127869, model checking: 0.002734): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3274) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302, q_gen_3320}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3268, q_gen_3287) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3320) -> q_gen_3287 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 () -> q_gen_3302 (q_gen_3302, q_gen_3287) -> q_gen_3320 (q_gen_3302, q_gen_3320) -> q_gen_3320 (q_gen_3289, q_gen_3288) -> q_gen_3320 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 31 () -> mem([h, cons(h, t)]) -> 31 () -> reverse([nil, nil]) -> 31 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 31 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 34 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 32 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 34 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 32 (mem([e, nil])) -> BOT -> 32 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(a, cons(a, nil)) ; h1 -> a ; l2 -> cons(a, cons(a, nil)) ; t1 -> nil }) ------------------------------------------- Step 61, which took 0.136734 s (model generation: 0.135604, model checking: 0.001130): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302, q_gen_3321, q_gen_3323}, Q_f={q_gen_3242, q_gen_3267}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3302, q_gen_3267) -> q_gen_3242 (q_gen_3323, q_gen_3321) -> q_gen_3242 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 (q_gen_3268, q_gen_3287) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3267) -> q_gen_3287 (q_gen_3268, q_gen_3321) -> q_gen_3287 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 (q_gen_3302, q_gen_3287) -> q_gen_3321 (q_gen_3302, q_gen_3321) -> q_gen_3321 (q_gen_3323, q_gen_3242) -> q_gen_3321 (q_gen_3289, q_gen_3288) -> q_gen_3321 () -> q_gen_3323 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 31 () -> mem([h, cons(h, t)]) -> 31 () -> reverse([nil, nil]) -> 31 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 34 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 34 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 32 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 34 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 32 (mem([e, nil])) -> BOT -> 32 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> cons(b, nil) ; _ir -> cons(b, nil) ; h1 -> a ; t1 -> cons(b, nil) }) ------------------------------------------- Step 62, which took 0.152001 s (model generation: 0.151332, model checking: 0.000669): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3257, q_gen_3258, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3275}, Q_f={q_gen_3246, q_gen_3250}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3257) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 (q_gen_3252, q_gen_3251) -> q_gen_3257 (q_gen_3258, q_gen_3251) -> q_gen_3257 (q_gen_3265, q_gen_3264) -> q_gen_3257 () -> q_gen_3258 (q_gen_3266, q_gen_3250) -> q_gen_3246 () -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3257) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3258, q_gen_3257) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3275 (q_gen_3266, q_gen_3275) -> q_gen_3275 (q_gen_3258, q_gen_3251) -> q_gen_3275 (q_gen_3252, q_gen_3257) -> q_gen_3275 (q_gen_3258, q_gen_3251) -> q_gen_3275 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3276, q_gen_3277, q_gen_3288, q_gen_3289}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 (q_gen_3268, q_gen_3276) -> q_gen_3276 (q_gen_3277, q_gen_3242) -> q_gen_3276 (q_gen_3277, q_gen_3276) -> q_gen_3276 (q_gen_3289, q_gen_3288) -> q_gen_3276 (q_gen_3289, q_gen_3288) -> q_gen_3276 () -> q_gen_3277 () -> q_gen_3277 () -> q_gen_3277 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 34 () -> mem([h, cons(h, t)]) -> 32 () -> reverse([nil, nil]) -> 32 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 34 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 34 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 32 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 34 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 32 (mem([e, nil])) -> BOT -> 32 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 63, which took 0.157955 s (model generation: 0.153259, model checking: 0.004696): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3257, q_gen_3258, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3275}, Q_f={q_gen_3246, q_gen_3250}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 (q_gen_3258, q_gen_3251) -> q_gen_3257 (q_gen_3265, q_gen_3264) -> q_gen_3257 () -> q_gen_3258 (q_gen_3266, q_gen_3250) -> q_gen_3246 () -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3257) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3258, q_gen_3257) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3275 (q_gen_3266, q_gen_3275) -> q_gen_3275 (q_gen_3258, q_gen_3251) -> q_gen_3275 (q_gen_3252, q_gen_3257) -> q_gen_3275 (q_gen_3258, q_gen_3251) -> q_gen_3275 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3276, q_gen_3277, q_gen_3288, q_gen_3289}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 (q_gen_3268, q_gen_3276) -> q_gen_3276 (q_gen_3277, q_gen_3242) -> q_gen_3276 (q_gen_3277, q_gen_3276) -> q_gen_3276 (q_gen_3289, q_gen_3288) -> q_gen_3276 (q_gen_3289, q_gen_3288) -> q_gen_3276 () -> q_gen_3277 () -> q_gen_3277 () -> q_gen_3277 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 34 () -> mem([h, cons(h, t)]) -> 33 () -> reverse([nil, nil]) -> 33 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 34 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 37 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 33 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 35 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 33 (mem([e, nil])) -> BOT -> 33 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(b, nil) ; h1 -> a ; l2 -> nil ; t1 -> cons(b, nil) }) ------------------------------------------- Step 64, which took 0.150596 s (model generation: 0.147630, model checking: 0.002966): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3257, q_gen_3258, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3275}, Q_f={q_gen_3246, q_gen_3250}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 (q_gen_3258, q_gen_3251) -> q_gen_3257 (q_gen_3265, q_gen_3264) -> q_gen_3257 () -> q_gen_3258 () -> q_gen_3246 (q_gen_3266, q_gen_3250) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3257) -> q_gen_3250 (q_gen_3258, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3258, q_gen_3257) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3275 (q_gen_3266, q_gen_3275) -> q_gen_3275 (q_gen_3252, q_gen_3257) -> q_gen_3275 (q_gen_3258, q_gen_3251) -> q_gen_3275 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3276, q_gen_3277, q_gen_3288, q_gen_3289}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 (q_gen_3268, q_gen_3276) -> q_gen_3276 (q_gen_3277, q_gen_3242) -> q_gen_3276 (q_gen_3277, q_gen_3276) -> q_gen_3276 (q_gen_3289, q_gen_3288) -> q_gen_3276 (q_gen_3289, q_gen_3288) -> q_gen_3276 () -> q_gen_3277 () -> q_gen_3277 () -> q_gen_3277 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 34 () -> mem([h, cons(h, t)]) -> 34 () -> reverse([nil, nil]) -> 34 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 37 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 37 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 34 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 35 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 34 (mem([e, nil])) -> BOT -> 34 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> nil ; _ir -> cons(a, cons(b, nil)) ; h1 -> a ; t1 -> nil }) ------------------------------------------- Step 65, which took 0.186907 s (model generation: 0.181747, model checking: 0.005160): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3285}, Q_f={q_gen_3246, q_gen_3250}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3285) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3250) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3274) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3285 (q_gen_3252, q_gen_3274) -> q_gen_3285 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3268, q_gen_3301) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3286) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 34 () -> mem([h, cons(h, t)]) -> 34 () -> reverse([nil, nil]) -> 34 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 37 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 37 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 37 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 35 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 35 (mem([e, nil])) -> BOT -> 35 } Sat witness: Found: ((mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]), { _mr -> cons(a, cons(a, cons(a, nil))) ; e -> b ; l1 -> cons(a, cons(b, cons(a, nil))) }) ------------------------------------------- Step 66, which took 0.206265 s (model generation: 0.201428, model checking: 0.004837): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3300}, Q_f={q_gen_3246, q_gen_3250}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 () -> q_gen_3246 (q_gen_3266, q_gen_3250) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3300 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302, q_gen_3321}, Q_f={q_gen_3242, q_gen_3267}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 (q_gen_3268, q_gen_3287) -> q_gen_3267 (q_gen_3302, q_gen_3267) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3267) -> q_gen_3287 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3302, q_gen_3321) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 () -> q_gen_3302 (q_gen_3268, q_gen_3321) -> q_gen_3321 (q_gen_3302, q_gen_3287) -> q_gen_3321 (q_gen_3289, q_gen_3288) -> q_gen_3321 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 35 () -> mem([h, cons(h, t)]) -> 35 () -> reverse([nil, nil]) -> 35 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 37 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 37 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 40 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 36 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 36 (mem([e, nil])) -> BOT -> 36 } Sat witness: Found: ((mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]), { _mr -> cons(b, cons(b, nil)) ; e -> a ; l1 -> cons(a, cons(b, nil)) }) ------------------------------------------- Step 67, which took 0.199347 s (model generation: 0.198956, model checking: 0.000391): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3257, q_gen_3258, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3275, q_gen_3299}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 (q_gen_3252, q_gen_3251) -> q_gen_3257 (q_gen_3252, q_gen_3257) -> q_gen_3257 (q_gen_3258, q_gen_3251) -> q_gen_3257 () -> q_gen_3258 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3266, q_gen_3275) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3258, q_gen_3257) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3257) -> q_gen_3246 (q_gen_3258, q_gen_3257) -> q_gen_3246 (q_gen_3265, q_gen_3264) -> q_gen_3246 () -> q_gen_3246 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3299, q_gen_3246) -> q_gen_3275 (q_gen_3252, q_gen_3257) -> q_gen_3275 (q_gen_3258, q_gen_3251) -> q_gen_3275 (q_gen_3258, q_gen_3251) -> q_gen_3275 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3276, q_gen_3277, q_gen_3288, q_gen_3289}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 (q_gen_3268, q_gen_3276) -> q_gen_3276 (q_gen_3277, q_gen_3242) -> q_gen_3276 (q_gen_3277, q_gen_3276) -> q_gen_3276 (q_gen_3289, q_gen_3288) -> q_gen_3276 () -> q_gen_3277 () -> q_gen_3277 () -> q_gen_3277 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 38 () -> mem([h, cons(h, t)]) -> 36 () -> reverse([nil, nil]) -> 36 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 37 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 37 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 40 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 36 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 36 (mem([e, nil])) -> BOT -> 36 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> cons(a, nil) }) ------------------------------------------- Step 68, which took 0.182191 s (model generation: 0.178847, model checking: 0.003344): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3256, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3298, q_gen_3299}, Q_f={q_gen_3246, q_gen_3256}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 (q_gen_3298, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3299, q_gen_3256) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3263) -> q_gen_3256 (q_gen_3252, q_gen_3251) -> q_gen_3256 (q_gen_3298, q_gen_3264) -> q_gen_3256 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3266, q_gen_3256) -> q_gen_3263 (q_gen_3299, q_gen_3246) -> q_gen_3263 (q_gen_3299, q_gen_3263) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 38 () -> mem([h, cons(h, t)]) -> 37 () -> reverse([nil, nil]) -> 37 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 37 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 40 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 40 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 37 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 37 (mem([e, nil])) -> BOT -> 37 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(b, cons(b, nil)) ; h1 -> b ; l2 -> cons(b, nil) ; t1 -> cons(b, nil) }) ------------------------------------------- Step 69, which took 0.221771 s (model generation: 0.218084, model checking: 0.003687): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3299}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3299, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3299, q_gen_3246) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302, q_gen_3321, q_gen_3323}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3268, q_gen_3287) -> q_gen_3242 (q_gen_3323, q_gen_3321) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3302, q_gen_3321) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 (q_gen_3268, q_gen_3321) -> q_gen_3321 (q_gen_3302, q_gen_3287) -> q_gen_3321 (q_gen_3323, q_gen_3242) -> q_gen_3321 (q_gen_3289, q_gen_3288) -> q_gen_3321 () -> q_gen_3323 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 38 () -> mem([h, cons(h, t)]) -> 37 () -> reverse([nil, nil]) -> 37 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 40 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 40 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 40 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 38 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 38 (mem([e, nil])) -> BOT -> 38 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> cons(a, nil) ; _ir -> cons(a, cons(b, cons(b, nil))) ; h1 -> a ; t1 -> cons(a, nil) }) ------------------------------------------- Step 70, which took 0.265996 s (model generation: 0.257319, model checking: 0.008677): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3299}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3299, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3299, q_gen_3246) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302, q_gen_3321, q_gen_3323}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3268, q_gen_3287) -> q_gen_3242 (q_gen_3302, q_gen_3287) -> q_gen_3242 (q_gen_3323, q_gen_3321) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3321) -> q_gen_3287 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 (q_gen_3302, q_gen_3321) -> q_gen_3321 (q_gen_3323, q_gen_3242) -> q_gen_3321 (q_gen_3289, q_gen_3288) -> q_gen_3321 () -> q_gen_3323 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 39 () -> mem([h, cons(h, t)]) -> 38 () -> reverse([nil, nil]) -> 38 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 40 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 40 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 43 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 39 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 39 (mem([e, nil])) -> BOT -> 39 } Sat witness: Found: ((mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]), { _mr -> cons(a, nil) ; e -> b ; l1 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 71, which took 0.270889 s (model generation: 0.266414, model checking: 0.004475): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3297, q_gen_3298, q_gen_3299, q_gen_3318}, Q_f={q_gen_3246, q_gen_3250}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3298, q_gen_3264) -> q_gen_3318 (q_gen_3266, q_gen_3297) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3250) -> q_gen_3250 (q_gen_3299, q_gen_3297) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3297 (q_gen_3299, q_gen_3246) -> q_gen_3297 (q_gen_3299, q_gen_3250) -> q_gen_3297 (q_gen_3252, q_gen_3318) -> q_gen_3297 (q_gen_3252, q_gen_3318) -> q_gen_3297 (q_gen_3298, q_gen_3264) -> q_gen_3297 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 (q_gen_3245, q_gen_3260) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 39 () -> mem([h, cons(h, t)]) -> 39 () -> reverse([nil, nil]) -> 39 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 40 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 40 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 43 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 42 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 40 (mem([e, nil])) -> BOT -> 40 } Sat witness: Found: ((mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]), { e -> a ; h -> b ; t -> cons(b, cons(b, cons(a, nil))) }) ------------------------------------------- Step 72, which took 0.286948 s (model generation: 0.283636, model checking: 0.003312): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3256, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3298, q_gen_3299, q_gen_3300}, Q_f={q_gen_3246, q_gen_3250, q_gen_3256}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 (q_gen_3298, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3299, q_gen_3256) -> q_gen_3246 () -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 (q_gen_3266, q_gen_3250) -> q_gen_3256 (q_gen_3252, q_gen_3251) -> q_gen_3256 (q_gen_3298, q_gen_3264) -> q_gen_3256 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3299 () -> q_gen_3299 (q_gen_3266, q_gen_3246) -> q_gen_3300 (q_gen_3266, q_gen_3256) -> q_gen_3300 (q_gen_3299, q_gen_3246) -> q_gen_3300 (q_gen_3299, q_gen_3250) -> q_gen_3300 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 40 () -> mem([h, cons(h, t)]) -> 40 () -> reverse([nil, nil]) -> 40 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 40 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 43 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 43 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 42 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 41 (mem([e, nil])) -> BOT -> 41 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(b, cons(b, nil)) ; h1 -> a ; l2 -> cons(b, cons(b, nil)) ; t1 -> nil }) ------------------------------------------- Step 73, which took 0.247333 s (model generation: 0.247054, model checking: 0.000279): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3297, q_gen_3298, q_gen_3299, q_gen_3318}, Q_f={q_gen_3246, q_gen_3250}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3298, q_gen_3264) -> q_gen_3318 (q_gen_3266, q_gen_3250) -> q_gen_3246 (q_gen_3299, q_gen_3297) -> q_gen_3246 () -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3297 (q_gen_3266, q_gen_3297) -> q_gen_3297 (q_gen_3299, q_gen_3246) -> q_gen_3297 (q_gen_3299, q_gen_3250) -> q_gen_3297 (q_gen_3252, q_gen_3318) -> q_gen_3297 (q_gen_3252, q_gen_3318) -> q_gen_3297 (q_gen_3298, q_gen_3264) -> q_gen_3297 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 40 () -> mem([h, cons(h, t)]) -> 40 () -> reverse([nil, nil]) -> 40 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 43 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 43 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 43 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 42 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 41 (mem([e, nil])) -> BOT -> 41 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> nil ; _ir -> cons(b, cons(b, cons(b, nil))) ; h1 -> b ; t1 -> nil }) ------------------------------------------- Step 74, which took 0.411944 s (model generation: 0.405843, model checking: 0.006101): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3284}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3246) -> q_gen_3246 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3284, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3284, q_gen_3246) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3284 () -> q_gen_3284 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3291, q_gen_3302}, Q_f={q_gen_3242, q_gen_3267}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 (q_gen_3268, q_gen_3287) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3302, q_gen_3287) -> q_gen_3287 (q_gen_3302, q_gen_3291) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 (q_gen_3268, q_gen_3267) -> q_gen_3291 (q_gen_3268, q_gen_3291) -> q_gen_3291 (q_gen_3302, q_gen_3267) -> q_gen_3291 (q_gen_3289, q_gen_3288) -> q_gen_3291 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 41 () -> mem([h, cons(h, t)]) -> 41 () -> reverse([nil, nil]) -> 41 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 43 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 43 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 46 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 43 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 42 (mem([e, nil])) -> BOT -> 42 } Sat witness: Found: ((mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]), { _mr -> cons(b, cons(b, cons(b, nil))) ; e -> a ; l1 -> cons(b, cons(a, nil)) }) ------------------------------------------- Step 75, which took 0.320484 s (model generation: 0.315404, model checking: 0.005080): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3273, q_gen_3274, q_gen_3298, q_gen_3308}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3298, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3266, q_gen_3273) -> q_gen_3246 (q_gen_3308, q_gen_3246) -> q_gen_3246 (q_gen_3308, q_gen_3273) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3308, q_gen_3263) -> q_gen_3273 (q_gen_3252, q_gen_3274) -> q_gen_3273 (q_gen_3252, q_gen_3274) -> q_gen_3273 (q_gen_3298, q_gen_3264) -> q_gen_3273 () -> q_gen_3308 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3302, q_gen_3242) -> q_gen_3286 (q_gen_3302, q_gen_3286) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 42 () -> mem([h, cons(h, t)]) -> 42 () -> reverse([nil, nil]) -> 42 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 43 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 46 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 46 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 44 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 43 (mem([e, nil])) -> BOT -> 43 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(b, cons(a, nil)) ; h1 -> a ; l2 -> cons(a, cons(b, nil)) ; t1 -> cons(b, cons(a, nil)) }) ------------------------------------------- Step 76, which took 0.301195 s (model generation: 0.299477, model checking: 0.001718): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3298, q_gen_3299}, Q_f={q_gen_3246, q_gen_3250}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3298, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3250) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3263) -> q_gen_3250 (q_gen_3299, q_gen_3250) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3274) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3298, q_gen_3264) -> q_gen_3250 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3299, q_gen_3246) -> q_gen_3263 (q_gen_3299, q_gen_3263) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3302, q_gen_3242) -> q_gen_3286 (q_gen_3302, q_gen_3286) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 43 () -> mem([h, cons(h, t)]) -> 43 () -> reverse([nil, nil]) -> 43 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 46 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 46 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 46 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 44 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 44 (mem([e, nil])) -> BOT -> 44 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> nil ; _ir -> cons(b, cons(a, nil)) ; h1 -> b ; t1 -> nil }) ------------------------------------------- Step 77, which took 0.519317 s (model generation: 0.512236, model checking: 0.007081): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3256, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3297, q_gen_3298, q_gen_3299}, Q_f={q_gen_3246, q_gen_3250, q_gen_3256}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 (q_gen_3298, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3256) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3297) -> q_gen_3250 (q_gen_3299, q_gen_3297) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 (q_gen_3266, q_gen_3250) -> q_gen_3256 (q_gen_3299, q_gen_3256) -> q_gen_3256 (q_gen_3252, q_gen_3251) -> q_gen_3256 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3297 (q_gen_3299, q_gen_3246) -> q_gen_3297 (q_gen_3299, q_gen_3250) -> q_gen_3297 (q_gen_3298, q_gen_3264) -> q_gen_3297 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 44 () -> mem([h, cons(h, t)]) -> 44 () -> reverse([nil, nil]) -> 44 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 46 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 49 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 47 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 45 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 45 (mem([e, nil])) -> BOT -> 45 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(a, cons(a, nil)) ; h1 -> b ; l2 -> cons(a, cons(a, nil)) ; t1 -> cons(a, nil) }) ------------------------------------------- Step 78, which took 0.512603 s (model generation: 0.509412, model checking: 0.003191): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3285, q_gen_3298, q_gen_3308}, Q_f={q_gen_3246, q_gen_3250}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3298, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3250) -> q_gen_3246 (q_gen_3308, q_gen_3285) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3285) -> q_gen_3250 (q_gen_3308, q_gen_3246) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3274) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3285 (q_gen_3308, q_gen_3250) -> q_gen_3285 (q_gen_3252, q_gen_3274) -> q_gen_3285 (q_gen_3298, q_gen_3264) -> q_gen_3285 () -> q_gen_3308 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3302, q_gen_3242) -> q_gen_3286 (q_gen_3302, q_gen_3286) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 45 () -> mem([h, cons(h, t)]) -> 45 () -> reverse([nil, nil]) -> 45 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 49 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 49 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 47 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 46 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 46 (mem([e, nil])) -> BOT -> 46 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> cons(a, nil) ; _ir -> cons(a, nil) ; h1 -> a ; t1 -> cons(a, nil) }) ------------------------------------------- Step 79, which took 0.415903 s (model generation: 0.410853, model checking: 0.005050): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3256, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3298, q_gen_3299, q_gen_3300}, Q_f={q_gen_3246, q_gen_3250, q_gen_3256}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 (q_gen_3298, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3266, q_gen_3256) -> q_gen_3246 () -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 (q_gen_3266, q_gen_3250) -> q_gen_3256 (q_gen_3299, q_gen_3256) -> q_gen_3256 (q_gen_3252, q_gen_3251) -> q_gen_3256 (q_gen_3298, q_gen_3264) -> q_gen_3256 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3299 () -> q_gen_3299 (q_gen_3266, q_gen_3246) -> q_gen_3300 (q_gen_3299, q_gen_3246) -> q_gen_3300 (q_gen_3299, q_gen_3250) -> q_gen_3300 (q_gen_3299, q_gen_3300) -> q_gen_3300 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 46 () -> mem([h, cons(h, t)]) -> 46 () -> reverse([nil, nil]) -> 46 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 49 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 52 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 48 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 47 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 47 (mem([e, nil])) -> BOT -> 47 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(b, cons(a, nil)) ; h1 -> b ; l2 -> cons(a, nil) ; t1 -> cons(b, nil) }) ------------------------------------------- Step 80, which took 0.493751 s (model generation: 0.487110, model checking: 0.006641): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3285}, Q_f={q_gen_3246, q_gen_3250}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3285) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3250) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3274) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3285 (q_gen_3252, q_gen_3274) -> q_gen_3285 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3276, q_gen_3277, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242, q_gen_3276}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3277, q_gen_3286) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 (q_gen_3277, q_gen_3242) -> q_gen_3276 (q_gen_3302, q_gen_3276) -> q_gen_3276 () -> q_gen_3277 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3277, q_gen_3276) -> q_gen_3286 (q_gen_3302, q_gen_3242) -> q_gen_3286 (q_gen_3302, q_gen_3286) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 47 () -> mem([h, cons(h, t)]) -> 47 () -> reverse([nil, nil]) -> 47 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 49 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 52 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 51 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 48 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 48 (mem([e, nil])) -> BOT -> 48 } Sat witness: Found: ((mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]), { _mr -> cons(a, cons(a, nil)) ; e -> b ; l1 -> cons(b, cons(a, nil)) }) ------------------------------------------- Step 81, which took 0.658219 s (model generation: 0.654696, model checking: 0.003523): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3256, q_gen_3257, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3298, q_gen_3299}, Q_f={q_gen_3246, q_gen_3256}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3257) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3252, q_gen_3251) -> q_gen_3257 (q_gen_3265, q_gen_3264) -> q_gen_3257 (q_gen_3298, q_gen_3264) -> q_gen_3257 (q_gen_3266, q_gen_3256) -> q_gen_3246 (q_gen_3299, q_gen_3256) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3263) -> q_gen_3256 (q_gen_3252, q_gen_3257) -> q_gen_3256 (q_gen_3252, q_gen_3257) -> q_gen_3256 (q_gen_3298, q_gen_3264) -> q_gen_3256 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3299, q_gen_3246) -> q_gen_3263 (q_gen_3299, q_gen_3263) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 48 () -> mem([h, cons(h, t)]) -> 48 () -> reverse([nil, nil]) -> 48 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 52 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 52 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 51 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 49 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 49 (mem([e, nil])) -> BOT -> 49 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> cons(a, nil) ; _ir -> cons(a, cons(b, nil)) ; h1 -> b ; t1 -> nil }) ------------------------------------------- Step 82, which took 0.531965 s (model generation: 0.524446, model checking: 0.007519): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3332}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3265, q_gen_3264) -> q_gen_3332 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3265, q_gen_3332) -> q_gen_3274 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3332) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302, q_gen_3323}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3268, q_gen_3301) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3302, q_gen_3286) -> q_gen_3286 (q_gen_3323, q_gen_3242) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3323, q_gen_3286) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3323 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 49 () -> mem([h, cons(h, t)]) -> 49 () -> reverse([nil, nil]) -> 49 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 52 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 52 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 54 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 50 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 50 (mem([e, nil])) -> BOT -> 50 } Sat witness: Found: ((mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]), { _mr -> cons(a, cons(a, cons(a, nil))) ; e -> b ; l1 -> cons(a, cons(b, cons(b, nil))) }) ------------------------------------------- Step 83, which took 0.688050 s (model generation: 0.684082, model checking: 0.003968): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3332}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3265, q_gen_3264) -> q_gen_3332 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3265, q_gen_3332) -> q_gen_3274 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3332) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242, q_gen_3267}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3301) -> q_gen_3242 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3302, q_gen_3267) -> q_gen_3286 (q_gen_3302, q_gen_3286) -> q_gen_3286 (q_gen_3302, q_gen_3301) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3302, q_gen_3242) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 50 () -> mem([h, cons(h, t)]) -> 50 () -> reverse([nil, nil]) -> 50 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 52 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 55 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 54 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 51 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 51 (mem([e, nil])) -> BOT -> 51 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(b, cons(b, nil)) ; h1 -> b ; l2 -> nil ; t1 -> nil }) ------------------------------------------- Step 84, which took 1.111306 s (model generation: 1.106768, model checking: 0.004538): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3332}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3265, q_gen_3264) -> q_gen_3332 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3332) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3332) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302, q_gen_3320, q_gen_3323}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3268, q_gen_3287) -> q_gen_3242 (q_gen_3323, q_gen_3287) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3320) -> q_gen_3287 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3302, q_gen_3320) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 (q_gen_3302, q_gen_3287) -> q_gen_3320 (q_gen_3323, q_gen_3242) -> q_gen_3320 (q_gen_3323, q_gen_3320) -> q_gen_3320 (q_gen_3289, q_gen_3288) -> q_gen_3320 () -> q_gen_3323 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 51 () -> mem([h, cons(h, t)]) -> 51 () -> reverse([nil, nil]) -> 51 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 55 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 55 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 54 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 52 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 52 (mem([e, nil])) -> BOT -> 52 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> cons(a, cons(b, nil)) ; _ir -> cons(a, cons(b, cons(b, nil))) ; h1 -> b ; t1 -> cons(b, nil) }) ------------------------------------------- Step 85, which took 1.037130 s (model generation: 1.029616, model checking: 0.007514): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3332}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3265, q_gen_3264) -> q_gen_3332 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3332) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3332) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302, q_gen_3320, q_gen_3323}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3268, q_gen_3287) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3320) -> q_gen_3287 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3302, q_gen_3320) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 (q_gen_3302, q_gen_3287) -> q_gen_3320 (q_gen_3323, q_gen_3242) -> q_gen_3320 (q_gen_3323, q_gen_3287) -> q_gen_3320 (q_gen_3323, q_gen_3320) -> q_gen_3320 (q_gen_3289, q_gen_3288) -> q_gen_3320 () -> q_gen_3323 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 52 () -> mem([h, cons(h, t)]) -> 52 () -> reverse([nil, nil]) -> 52 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 55 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 55 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 57 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 53 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 53 (mem([e, nil])) -> BOT -> 53 } Sat witness: Found: ((mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]), { _mr -> cons(a, cons(a, nil)) ; e -> b ; l1 -> cons(a, cons(a, cons(b, nil))) }) ------------------------------------------- Step 86, which took 0.738688 s (model generation: 0.731544, model checking: 0.007144): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3332}, Q_f={q_gen_3246}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3265, q_gen_3264) -> q_gen_3332 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3332) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3332) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302, q_gen_3320, q_gen_3323}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3268, q_gen_3287) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3302, q_gen_3320) -> q_gen_3287 (q_gen_3323, q_gen_3287) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 (q_gen_3268, q_gen_3320) -> q_gen_3320 (q_gen_3302, q_gen_3287) -> q_gen_3320 (q_gen_3323, q_gen_3242) -> q_gen_3320 (q_gen_3323, q_gen_3320) -> q_gen_3320 (q_gen_3289, q_gen_3288) -> q_gen_3320 () -> q_gen_3323 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 53 () -> mem([h, cons(h, t)]) -> 53 () -> reverse([nil, nil]) -> 53 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 55 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 58 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 57 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 54 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 54 (mem([e, nil])) -> BOT -> 54 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(b, cons(b, cons(b, nil))) ; h1 -> a ; l2 -> cons(b, nil) ; t1 -> nil }) ------------------------------------------- Step 87, which took 0.956402 s (model generation: 0.953435, model checking: 0.002967): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3332}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3332) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3265 (q_gen_3265, q_gen_3264) -> q_gen_3332 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3332) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3332) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3266 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3302, q_gen_3310}, Q_f={q_gen_3242, q_gen_3267}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 (q_gen_3268, q_gen_3287) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3267) -> q_gen_3287 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3302, q_gen_3310) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 () -> q_gen_3302 () -> q_gen_3302 (q_gen_3268, q_gen_3310) -> q_gen_3310 (q_gen_3302, q_gen_3267) -> q_gen_3310 (q_gen_3302, q_gen_3287) -> q_gen_3310 (q_gen_3289, q_gen_3288) -> q_gen_3310 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 54 () -> mem([h, cons(h, t)]) -> 54 () -> reverse([nil, nil]) -> 54 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 58 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 58 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 57 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 55 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 55 (mem([e, nil])) -> BOT -> 55 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> cons(a, nil) ; _ir -> cons(a, cons(a, nil)) ; h1 -> b ; t1 -> cons(a, nil) }) ------------------------------------------- Step 88, which took 0.522661 s (model generation: 0.518410, model checking: 0.004251): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3273, q_gen_3274, q_gen_3298, q_gen_3299}, Q_f={q_gen_3246, q_gen_3250}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3298, q_gen_3264) -> q_gen_3274 (q_gen_3299, q_gen_3273) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3263) -> q_gen_3250 (q_gen_3266, q_gen_3273) -> q_gen_3250 (q_gen_3299, q_gen_3250) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3298, q_gen_3264) -> q_gen_3250 (q_gen_3299, q_gen_3246) -> q_gen_3263 (q_gen_3299, q_gen_3263) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3273 (q_gen_3266, q_gen_3250) -> q_gen_3273 (q_gen_3252, q_gen_3274) -> q_gen_3273 (q_gen_3252, q_gen_3274) -> q_gen_3273 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3302, q_gen_3242) -> q_gen_3286 (q_gen_3302, q_gen_3286) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 55 () -> mem([h, cons(h, t)]) -> 55 () -> reverse([nil, nil]) -> 55 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 58 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 61 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 58 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 56 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 56 (mem([e, nil])) -> BOT -> 56 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(a, nil) ; h1 -> b ; l2 -> nil ; t1 -> nil }) ------------------------------------------- Step 89, which took 0.705945 s (model generation: 0.701474, model checking: 0.004471): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3297, q_gen_3298, q_gen_3299, q_gen_3318}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3298, q_gen_3264) -> q_gen_3318 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3299, q_gen_3297) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3297) -> q_gen_3263 (q_gen_3299, q_gen_3246) -> q_gen_3263 (q_gen_3299, q_gen_3263) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3297 (q_gen_3252, q_gen_3318) -> q_gen_3297 (q_gen_3252, q_gen_3318) -> q_gen_3297 (q_gen_3298, q_gen_3264) -> q_gen_3297 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3302, q_gen_3242) -> q_gen_3286 (q_gen_3302, q_gen_3286) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 56 () -> mem([h, cons(h, t)]) -> 56 () -> reverse([nil, nil]) -> 56 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 61 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 61 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 59 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 57 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 57 (mem([e, nil])) -> BOT -> 57 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> cons(b, nil) ; _ir -> cons(b, cons(b, cons(b, nil))) ; h1 -> b ; t1 -> cons(b, nil) }) ------------------------------------------- Step 90, which took 1.856513 s (model generation: 1.847722, model checking: 0.008791): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3256, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3273, q_gen_3274, q_gen_3298, q_gen_3299}, Q_f={q_gen_3246, q_gen_3256, q_gen_3273}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3298, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3273) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3263) -> q_gen_3256 (q_gen_3299, q_gen_3256) -> q_gen_3256 (q_gen_3252, q_gen_3251) -> q_gen_3256 (q_gen_3298, q_gen_3264) -> q_gen_3256 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3266, q_gen_3256) -> q_gen_3263 (q_gen_3299, q_gen_3246) -> q_gen_3263 (q_gen_3299, q_gen_3263) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3299, q_gen_3273) -> q_gen_3273 (q_gen_3252, q_gen_3274) -> q_gen_3273 (q_gen_3252, q_gen_3274) -> q_gen_3273 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3268, q_gen_3287) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3289, q_gen_3288) -> q_gen_3287 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3287) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 57 () -> mem([h, cons(h, t)]) -> 57 () -> reverse([nil, nil]) -> 57 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 61 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 64 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 60 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 58 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 58 (mem([e, nil])) -> BOT -> 58 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(a, cons(a, nil)) ; h1 -> a ; l2 -> cons(a, nil) ; t1 -> nil }) ------------------------------------------- Step 91, which took 1.273621 s (model generation: 1.269129, model checking: 0.004492): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3258, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3297, q_gen_3298, q_gen_3299, q_gen_3318}, Q_f={q_gen_3246, q_gen_3250}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 (q_gen_3298, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3258, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3258 (q_gen_3298, q_gen_3264) -> q_gen_3318 (q_gen_3266, q_gen_3250) -> q_gen_3246 (q_gen_3299, q_gen_3297) -> q_gen_3246 (q_gen_3258, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3258, q_gen_3251) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3297 (q_gen_3266, q_gen_3297) -> q_gen_3297 (q_gen_3299, q_gen_3246) -> q_gen_3297 (q_gen_3299, q_gen_3250) -> q_gen_3297 (q_gen_3252, q_gen_3318) -> q_gen_3297 (q_gen_3252, q_gen_3318) -> q_gen_3297 (q_gen_3258, q_gen_3318) -> q_gen_3297 (q_gen_3298, q_gen_3264) -> q_gen_3297 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302, q_gen_3322}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3322 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 (q_gen_3322, q_gen_3288) -> q_gen_3301 (q_gen_3322, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 58 () -> mem([h, cons(h, t)]) -> 58 () -> reverse([nil, nil]) -> 58 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 64 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 64 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 61 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 59 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 59 (mem([e, nil])) -> BOT -> 59 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> nil ; _ir -> cons(a, cons(b, cons(a, nil))) ; h1 -> a ; t1 -> nil }) ------------------------------------------- Step 92, which took 1.353037 s (model generation: 1.347784, model checking: 0.005253): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3297, q_gen_3298, q_gen_3299, q_gen_3300, q_gen_3318}, Q_f={q_gen_3246, q_gen_3250}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 (q_gen_3298, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3298, q_gen_3264) -> q_gen_3318 (q_gen_3299, q_gen_3297) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3250) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3299, q_gen_3250) -> q_gen_3297 (q_gen_3252, q_gen_3318) -> q_gen_3297 (q_gen_3252, q_gen_3318) -> q_gen_3297 (q_gen_3298, q_gen_3264) -> q_gen_3297 () -> q_gen_3299 () -> q_gen_3299 (q_gen_3266, q_gen_3246) -> q_gen_3300 (q_gen_3266, q_gen_3297) -> q_gen_3300 (q_gen_3299, q_gen_3246) -> q_gen_3300 (q_gen_3299, q_gen_3300) -> q_gen_3300 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302, q_gen_3322}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 (q_gen_3322, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3322 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 (q_gen_3322, q_gen_3288) -> q_gen_3301 (q_gen_3322, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 59 () -> mem([h, cons(h, t)]) -> 59 () -> reverse([nil, nil]) -> 59 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 64 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 67 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 62 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 60 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 60 (mem([e, nil])) -> BOT -> 60 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(a, cons(a, nil)) ; h1 -> b ; l2 -> cons(b, cons(a, nil)) ; t1 -> cons(a, nil) }) ------------------------------------------- Step 93, which took 1.534375 s (model generation: 1.530077, model checking: 0.004298): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3262, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3297, q_gen_3298, q_gen_3299, q_gen_3318}, Q_f={q_gen_3246, q_gen_3262}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 (q_gen_3298, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3298, q_gen_3264) -> q_gen_3318 (q_gen_3299, q_gen_3297) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3262) -> q_gen_3262 (q_gen_3252, q_gen_3274) -> q_gen_3262 (q_gen_3252, q_gen_3274) -> q_gen_3262 (q_gen_3265, q_gen_3264) -> q_gen_3262 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3297 (q_gen_3266, q_gen_3297) -> q_gen_3297 (q_gen_3299, q_gen_3246) -> q_gen_3297 (q_gen_3299, q_gen_3262) -> q_gen_3297 (q_gen_3252, q_gen_3318) -> q_gen_3297 (q_gen_3252, q_gen_3318) -> q_gen_3297 (q_gen_3298, q_gen_3264) -> q_gen_3297 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302, q_gen_3322}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 (q_gen_3322, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3322 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 (q_gen_3322, q_gen_3288) -> q_gen_3301 (q_gen_3322, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 60 () -> mem([h, cons(h, t)]) -> 60 () -> reverse([nil, nil]) -> 60 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 67 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 67 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 63 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 61 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 61 (mem([e, nil])) -> BOT -> 61 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> cons(b, cons(a, nil)) ; _ir -> cons(b, cons(a, cons(b, nil))) ; h1 -> b ; t1 -> nil }) ------------------------------------------- Step 94, which took 1.312321 s (model generation: 1.305523, model checking: 0.006798): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3258, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3297, q_gen_3298, q_gen_3299, q_gen_3318}, Q_f={q_gen_3246, q_gen_3250}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 (q_gen_3298, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3258, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3258 (q_gen_3298, q_gen_3264) -> q_gen_3318 (q_gen_3266, q_gen_3250) -> q_gen_3246 (q_gen_3299, q_gen_3297) -> q_gen_3246 (q_gen_3258, q_gen_3251) -> q_gen_3246 (q_gen_3258, q_gen_3251) -> q_gen_3246 () -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3297 (q_gen_3266, q_gen_3297) -> q_gen_3297 (q_gen_3299, q_gen_3246) -> q_gen_3297 (q_gen_3299, q_gen_3250) -> q_gen_3297 (q_gen_3252, q_gen_3318) -> q_gen_3297 (q_gen_3252, q_gen_3318) -> q_gen_3297 (q_gen_3258, q_gen_3318) -> q_gen_3297 (q_gen_3298, q_gen_3264) -> q_gen_3297 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302, q_gen_3322}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 (q_gen_3322, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3322 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3289, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 (q_gen_3322, q_gen_3288) -> q_gen_3301 (q_gen_3322, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 61 () -> mem([h, cons(h, t)]) -> 61 () -> reverse([nil, nil]) -> 61 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 67 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 70 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 64 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 62 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 62 (mem([e, nil])) -> BOT -> 62 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(b, cons(a, nil)) ; h1 -> b ; l2 -> cons(b, cons(a, nil)) ; t1 -> nil }) ------------------------------------------- Step 95, which took 1.838035 s (model generation: 1.831491, model checking: 0.006544): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3262, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3297, q_gen_3298, q_gen_3299}, Q_f={q_gen_3246, q_gen_3250, q_gen_3262}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 (q_gen_3298, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3298, q_gen_3264) -> q_gen_3274 () -> q_gen_3246 (q_gen_3299, q_gen_3262) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 (q_gen_3266, q_gen_3250) -> q_gen_3262 (q_gen_3266, q_gen_3262) -> q_gen_3262 (q_gen_3299, q_gen_3297) -> q_gen_3262 (q_gen_3252, q_gen_3274) -> q_gen_3262 (q_gen_3252, q_gen_3274) -> q_gen_3262 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3297 (q_gen_3266, q_gen_3297) -> q_gen_3297 (q_gen_3299, q_gen_3246) -> q_gen_3297 (q_gen_3299, q_gen_3250) -> q_gen_3297 (q_gen_3298, q_gen_3264) -> q_gen_3297 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3268, q_gen_3287) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3289, q_gen_3288) -> q_gen_3287 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3287) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 62 () -> mem([h, cons(h, t)]) -> 62 () -> reverse([nil, nil]) -> 62 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 70 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 70 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 65 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 63 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 63 (mem([e, nil])) -> BOT -> 63 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> nil ; _ir -> cons(b, cons(b, nil)) ; h1 -> a ; t1 -> nil }) ------------------------------------------- Step 96, which took 4.382221 s (model generation: 4.378401, model checking: 0.003820): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3256, q_gen_3257, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3297, q_gen_3298, q_gen_3299}, Q_f={q_gen_3246, q_gen_3250, q_gen_3256}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 (q_gen_3298, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3257) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3252, q_gen_3251) -> q_gen_3257 (q_gen_3298, q_gen_3264) -> q_gen_3257 () -> q_gen_3246 (q_gen_3299, q_gen_3297) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 (q_gen_3266, q_gen_3250) -> q_gen_3256 (q_gen_3266, q_gen_3256) -> q_gen_3256 (q_gen_3299, q_gen_3256) -> q_gen_3256 (q_gen_3252, q_gen_3257) -> q_gen_3256 (q_gen_3252, q_gen_3257) -> q_gen_3256 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3297 (q_gen_3266, q_gen_3297) -> q_gen_3297 (q_gen_3299, q_gen_3246) -> q_gen_3297 (q_gen_3299, q_gen_3250) -> q_gen_3297 (q_gen_3298, q_gen_3264) -> q_gen_3297 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302, q_gen_3343}, Q_f={q_gen_3242, q_gen_3286, q_gen_3343}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3268, q_gen_3301) -> q_gen_3301 (q_gen_3268, q_gen_3343) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3301) -> q_gen_3301 (q_gen_3289, q_gen_3288) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 (q_gen_3302, q_gen_3286) -> q_gen_3343 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 63 () -> mem([h, cons(h, t)]) -> 63 () -> reverse([nil, nil]) -> 63 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 70 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 70 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 68 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 64 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 64 (mem([e, nil])) -> BOT -> 64 } Sat witness: Found: ((mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]), { _mr -> cons(a, cons(a, nil)) ; e -> b ; l1 -> cons(b, nil) }) ------------------------------------------- Step 97, which took 3.610916 s (model generation: 3.610120, model checking: 0.000796): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3257, q_gen_3258, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3298, q_gen_3299, q_gen_3332}, Q_f={q_gen_3246, q_gen_3250}, Delta= { (q_gen_3265, q_gen_3332) -> q_gen_3264 (q_gen_3298, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3265, q_gen_3264) -> q_gen_3332 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3258, q_gen_3251) -> q_gen_3257 (q_gen_3265, q_gen_3332) -> q_gen_3257 (q_gen_3298, q_gen_3264) -> q_gen_3257 () -> q_gen_3258 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3265, q_gen_3332) -> q_gen_3246 () -> q_gen_3246 (q_gen_3299, q_gen_3250) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3257) -> q_gen_3250 (q_gen_3258, q_gen_3251) -> q_gen_3250 (q_gen_3258, q_gen_3274) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3258, q_gen_3251) -> q_gen_3250 (q_gen_3258, q_gen_3257) -> q_gen_3250 (q_gen_3298, q_gen_3264) -> q_gen_3250 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3266, q_gen_3250) -> q_gen_3263 (q_gen_3299, q_gen_3246) -> q_gen_3263 (q_gen_3299, q_gen_3263) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3252, q_gen_3257) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3258, q_gen_3274) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3302, q_gen_3242) -> q_gen_3286 (q_gen_3302, q_gen_3286) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 66 () -> mem([h, cons(h, t)]) -> 64 () -> reverse([nil, nil]) -> 64 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 70 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 70 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 68 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 64 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 64 (mem([e, nil])) -> BOT -> 64 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> cons(b, cons(a, nil)) }) ------------------------------------------- Step 98, which took 3.031579 s (model generation: 3.025968, model checking: 0.005611): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3285, q_gen_3297, q_gen_3298, q_gen_3299, q_gen_3308, q_gen_3332}, Q_f={q_gen_3246, q_gen_3250}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3265, q_gen_3264) -> q_gen_3332 (q_gen_3265, q_gen_3332) -> q_gen_3332 (q_gen_3298, q_gen_3264) -> q_gen_3332 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3265, q_gen_3332) -> q_gen_3274 (q_gen_3298, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3285) -> q_gen_3246 (q_gen_3299, q_gen_3250) -> q_gen_3246 (q_gen_3299, q_gen_3297) -> q_gen_3246 (q_gen_3308, q_gen_3285) -> q_gen_3246 (q_gen_3265, q_gen_3332) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3250) -> q_gen_3250 (q_gen_3308, q_gen_3297) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3274) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3285 (q_gen_3299, q_gen_3246) -> q_gen_3285 (q_gen_3299, q_gen_3285) -> q_gen_3285 (q_gen_3308, q_gen_3246) -> q_gen_3285 (q_gen_3252, q_gen_3274) -> q_gen_3285 (q_gen_3298, q_gen_3332) -> q_gen_3285 (q_gen_3266, q_gen_3297) -> q_gen_3297 (q_gen_3308, q_gen_3250) -> q_gen_3297 (q_gen_3298, q_gen_3264) -> q_gen_3297 () -> q_gen_3299 () -> q_gen_3308 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3302, q_gen_3242) -> q_gen_3286 (q_gen_3302, q_gen_3286) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 67 () -> mem([h, cons(h, t)]) -> 65 () -> reverse([nil, nil]) -> 65 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 70 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 73 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 69 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 65 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 65 (mem([e, nil])) -> BOT -> 65 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(a, cons(a, nil)) ; h1 -> a ; l2 -> cons(a, nil) ; t1 -> cons(a, nil) }) ------------------------------------------- Step 99, which took 3.229876 s (model generation: 3.224036, model checking: 0.005840): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3262, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3285, q_gen_3297, q_gen_3298, q_gen_3299, q_gen_3332}, Q_f={q_gen_3246, q_gen_3250, q_gen_3262, q_gen_3297}, Delta= { (q_gen_3265, q_gen_3332) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3265, q_gen_3264) -> q_gen_3332 (q_gen_3298, q_gen_3264) -> q_gen_3332 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3265, q_gen_3332) -> q_gen_3274 (q_gen_3298, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3285) -> q_gen_3246 (q_gen_3299, q_gen_3297) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3332) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3250) -> q_gen_3250 (q_gen_3299, q_gen_3285) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3274) -> q_gen_3250 (q_gen_3266, q_gen_3262) -> q_gen_3262 (q_gen_3265, q_gen_3264) -> q_gen_3262 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3285 (q_gen_3266, q_gen_3297) -> q_gen_3285 (q_gen_3299, q_gen_3246) -> q_gen_3285 (q_gen_3299, q_gen_3262) -> q_gen_3285 (q_gen_3252, q_gen_3274) -> q_gen_3285 (q_gen_3299, q_gen_3250) -> q_gen_3297 (q_gen_3298, q_gen_3264) -> q_gen_3297 (q_gen_3298, q_gen_3332) -> q_gen_3297 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 (q_gen_3268, q_gen_3242) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3302, q_gen_3242) -> q_gen_3286 (q_gen_3302, q_gen_3286) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 68 () -> mem([h, cons(h, t)]) -> 66 () -> reverse([nil, nil]) -> 66 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 73 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 73 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 70 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 66 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 66 (mem([e, nil])) -> BOT -> 66 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> cons(b, cons(a, nil)) ; _ir -> cons(b, cons(a, cons(a, nil))) ; h1 -> a ; t1 -> cons(b, cons(a, nil)) }) ------------------------------------------- Step 100, which took 6.092112 s (model generation: 6.084877, model checking: 0.007235): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3263, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3297, q_gen_3298, q_gen_3299, q_gen_3332}, Q_f={q_gen_3246}, Delta= { (q_gen_3265, q_gen_3332) -> q_gen_3264 (q_gen_3298, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3265, q_gen_3264) -> q_gen_3332 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3332) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3298, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3263) -> q_gen_3246 (q_gen_3299, q_gen_3263) -> q_gen_3246 (q_gen_3299, q_gen_3297) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3332) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3246) -> q_gen_3263 (q_gen_3266, q_gen_3297) -> q_gen_3263 (q_gen_3299, q_gen_3246) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3252, q_gen_3274) -> q_gen_3263 (q_gen_3265, q_gen_3264) -> q_gen_3263 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3298, q_gen_3264) -> q_gen_3297 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3287, q_gen_3288, q_gen_3289, q_gen_3291, q_gen_3302}, Q_f={q_gen_3242, q_gen_3267}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 (q_gen_3268, q_gen_3287) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3302, q_gen_3242) -> q_gen_3287 (q_gen_3302, q_gen_3291) -> q_gen_3287 (q_gen_3289, q_gen_3288) -> q_gen_3287 (q_gen_3268, q_gen_3267) -> q_gen_3291 (q_gen_3268, q_gen_3291) -> q_gen_3291 (q_gen_3302, q_gen_3267) -> q_gen_3291 (q_gen_3302, q_gen_3287) -> q_gen_3291 (q_gen_3289, q_gen_3288) -> q_gen_3291 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 69 () -> mem([h, cons(h, t)]) -> 67 () -> reverse([nil, nil]) -> 67 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 73 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 73 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 73 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 67 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 67 (mem([e, nil])) -> BOT -> 67 } Sat witness: Found: ((mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]), { _mr -> cons(b, cons(b, nil)) ; e -> a ; l1 -> cons(b, cons(a, nil)) }) ------------------------------------------- Step 101, which took 5.771938 s (model generation: 5.766853, model checking: 0.005085): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3251, q_gen_3252, q_gen_3256, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3273, q_gen_3274, q_gen_3285, q_gen_3297, q_gen_3298, q_gen_3299, q_gen_3332}, Q_f={q_gen_3246, q_gen_3256, q_gen_3273}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3265, q_gen_3264) -> q_gen_3332 (q_gen_3265, q_gen_3332) -> q_gen_3332 (q_gen_3298, q_gen_3264) -> q_gen_3332 (q_gen_3252, q_gen_3251) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3265, q_gen_3332) -> q_gen_3274 (q_gen_3298, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3273) -> q_gen_3246 (q_gen_3266, q_gen_3285) -> q_gen_3246 (q_gen_3299, q_gen_3273) -> q_gen_3246 (q_gen_3299, q_gen_3285) -> q_gen_3246 (q_gen_3252, q_gen_3251) -> q_gen_3246 (q_gen_3265, q_gen_3332) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3256) -> q_gen_3256 (q_gen_3299, q_gen_3297) -> q_gen_3256 (q_gen_3252, q_gen_3251) -> q_gen_3256 (q_gen_3265, q_gen_3264) -> q_gen_3256 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3252, q_gen_3274) -> q_gen_3273 (q_gen_3266, q_gen_3246) -> q_gen_3285 (q_gen_3266, q_gen_3297) -> q_gen_3285 (q_gen_3299, q_gen_3246) -> q_gen_3285 (q_gen_3299, q_gen_3256) -> q_gen_3285 (q_gen_3252, q_gen_3274) -> q_gen_3285 (q_gen_3298, q_gen_3264) -> q_gen_3297 (q_gen_3298, q_gen_3332) -> q_gen_3297 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242, q_gen_3267}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3267) -> q_gen_3286 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3302, q_gen_3242) -> q_gen_3286 (q_gen_3302, q_gen_3267) -> q_gen_3286 (q_gen_3302, q_gen_3286) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 70 () -> mem([h, cons(h, t)]) -> 68 () -> reverse([nil, nil]) -> 68 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 73 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 76 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 74 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 68 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 68 (mem([e, nil])) -> BOT -> 68 } Sat witness: Found: ((append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]), { _cr -> cons(b, cons(b, nil)) ; h1 -> b ; l2 -> nil ; t1 -> cons(b, nil) }) ------------------------------------------- Step 102, which took 5.369225 s (model generation: 5.354258, model checking: 0.014967): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3262, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3274, q_gen_3285, q_gen_3297, q_gen_3298, q_gen_3299, q_gen_3332}, Q_f={q_gen_3246, q_gen_3250, q_gen_3262, q_gen_3297}, Delta= { () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3265, q_gen_3264) -> q_gen_3332 (q_gen_3265, q_gen_3332) -> q_gen_3332 (q_gen_3298, q_gen_3264) -> q_gen_3332 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3252, q_gen_3274) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3265, q_gen_3264) -> q_gen_3274 (q_gen_3265, q_gen_3332) -> q_gen_3274 (q_gen_3298, q_gen_3264) -> q_gen_3274 (q_gen_3266, q_gen_3285) -> q_gen_3246 (q_gen_3265, q_gen_3332) -> q_gen_3246 () -> q_gen_3246 (q_gen_3266, q_gen_3250) -> q_gen_3250 (q_gen_3299, q_gen_3250) -> q_gen_3250 (q_gen_3299, q_gen_3297) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3274) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3298, q_gen_3332) -> q_gen_3250 (q_gen_3266, q_gen_3262) -> q_gen_3262 (q_gen_3265, q_gen_3264) -> q_gen_3262 () -> q_gen_3266 () -> q_gen_3266 (q_gen_3266, q_gen_3246) -> q_gen_3285 (q_gen_3266, q_gen_3297) -> q_gen_3285 (q_gen_3299, q_gen_3246) -> q_gen_3285 (q_gen_3299, q_gen_3262) -> q_gen_3285 (q_gen_3252, q_gen_3274) -> q_gen_3285 (q_gen_3299, q_gen_3285) -> q_gen_3297 (q_gen_3298, q_gen_3264) -> q_gen_3297 () -> q_gen_3299 () -> q_gen_3299 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3267, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3302}, Q_f={q_gen_3242, q_gen_3267}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3289 () -> q_gen_3242 (q_gen_3268, q_gen_3242) -> q_gen_3267 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3267) -> q_gen_3286 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3302, q_gen_3242) -> q_gen_3286 (q_gen_3302, q_gen_3267) -> q_gen_3286 (q_gen_3302, q_gen_3286) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 () -> q_gen_3302 () -> q_gen_3302 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 71 () -> mem([h, cons(h, t)]) -> 69 () -> reverse([nil, nil]) -> 69 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 76 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 76 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 74 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 69 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 69 (mem([e, nil])) -> BOT -> 69 } Sat witness: Found: ((append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]), { _hr -> cons(b, nil) ; _ir -> cons(b, cons(b, nil)) ; h1 -> b ; t1 -> cons(b, nil) }) ------------------------------------------- Step 103, which took 4.038235 s (model generation: 4.031793, model checking: 0.006442): Model: |_ { append -> {{{ Q={q_gen_3246, q_gen_3250, q_gen_3251, q_gen_3252, q_gen_3262, q_gen_3264, q_gen_3265, q_gen_3266, q_gen_3298, q_gen_3299, q_gen_3300, q_gen_3318}, Q_f={q_gen_3246, q_gen_3250, q_gen_3262}, Delta= { (q_gen_3265, q_gen_3264) -> q_gen_3264 (q_gen_3298, q_gen_3264) -> q_gen_3264 () -> q_gen_3264 () -> q_gen_3265 () -> q_gen_3298 (q_gen_3252, q_gen_3251) -> q_gen_3251 (q_gen_3265, q_gen_3264) -> q_gen_3251 () -> q_gen_3251 () -> q_gen_3252 () -> q_gen_3252 () -> q_gen_3252 (q_gen_3298, q_gen_3264) -> q_gen_3318 (q_gen_3266, q_gen_3300) -> q_gen_3246 (q_gen_3299, q_gen_3300) -> q_gen_3246 () -> q_gen_3246 (q_gen_3299, q_gen_3262) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3252, q_gen_3251) -> q_gen_3250 (q_gen_3265, q_gen_3264) -> q_gen_3250 (q_gen_3266, q_gen_3250) -> q_gen_3262 (q_gen_3252, q_gen_3318) -> q_gen_3262 (q_gen_3298, q_gen_3264) -> q_gen_3262 () -> q_gen_3266 () -> q_gen_3266 () -> q_gen_3299 () -> q_gen_3299 (q_gen_3266, q_gen_3246) -> q_gen_3300 (q_gen_3266, q_gen_3262) -> q_gen_3300 (q_gen_3299, q_gen_3246) -> q_gen_3300 (q_gen_3299, q_gen_3250) -> q_gen_3300 (q_gen_3252, q_gen_3318) -> q_gen_3300 } Datatype: Convolution form: right }}} ; mem -> {{{ Q={q_gen_3243, q_gen_3244, q_gen_3245, q_gen_3248, q_gen_3249, q_gen_3253, q_gen_3260, q_gen_3271}, Q_f={q_gen_3243}, Delta= { () -> q_gen_3244 () -> q_gen_3245 (q_gen_3245, q_gen_3244) -> q_gen_3248 (q_gen_3245, q_gen_3248) -> q_gen_3248 () -> q_gen_3249 (q_gen_3245, q_gen_3260) -> q_gen_3260 (q_gen_3245, q_gen_3271) -> q_gen_3260 (q_gen_3249, q_gen_3248) -> q_gen_3260 (q_gen_3249, q_gen_3260) -> q_gen_3260 (q_gen_3249, q_gen_3244) -> q_gen_3271 (q_gen_3249, q_gen_3271) -> q_gen_3271 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3244) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3249, q_gen_3271) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3243 (q_gen_3245, q_gen_3248) -> q_gen_3243 (q_gen_3245, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3271) -> q_gen_3243 (q_gen_3249, q_gen_3248) -> q_gen_3243 (q_gen_3249, q_gen_3260) -> q_gen_3243 (q_gen_3245, q_gen_3244) -> q_gen_3253 (q_gen_3245, q_gen_3248) -> q_gen_3253 () -> q_gen_3253 (q_gen_3249, q_gen_3244) -> q_gen_3253 (q_gen_3249, q_gen_3271) -> q_gen_3253 () -> q_gen_3253 } Datatype: Convolution form: right }}} ; reverse -> {{{ Q={q_gen_3242, q_gen_3268, q_gen_3286, q_gen_3288, q_gen_3289, q_gen_3301, q_gen_3302, q_gen_3320, q_gen_3322, q_gen_3343}, Q_f={q_gen_3242, q_gen_3286, q_gen_3343}, Delta= { (q_gen_3289, q_gen_3288) -> q_gen_3288 (q_gen_3322, q_gen_3288) -> q_gen_3288 () -> q_gen_3288 () -> q_gen_3289 () -> q_gen_3322 (q_gen_3268, q_gen_3242) -> q_gen_3242 (q_gen_3322, q_gen_3288) -> q_gen_3242 () -> q_gen_3242 () -> q_gen_3268 () -> q_gen_3268 (q_gen_3268, q_gen_3286) -> q_gen_3286 (q_gen_3289, q_gen_3288) -> q_gen_3286 (q_gen_3268, q_gen_3320) -> q_gen_3301 (q_gen_3268, q_gen_3343) -> q_gen_3301 (q_gen_3302, q_gen_3242) -> q_gen_3301 (q_gen_3302, q_gen_3343) -> q_gen_3301 () -> q_gen_3302 () -> q_gen_3302 (q_gen_3268, q_gen_3301) -> q_gen_3320 (q_gen_3302, q_gen_3320) -> q_gen_3320 (q_gen_3322, q_gen_3288) -> q_gen_3320 (q_gen_3302, q_gen_3286) -> q_gen_3343 (q_gen_3302, q_gen_3301) -> q_gen_3343 (q_gen_3289, q_gen_3288) -> q_gen_3343 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 72 () -> mem([h, cons(h, t)]) -> 70 () -> reverse([nil, nil]) -> 70 (append([_hr, cons(h1, nil), _ir]) /\ reverse([t1, _hr])) -> reverse([cons(h1, t1), _ir]) -> 76 (append([t1, l2, _cr])) -> append([cons(h1, t1), l2, cons(h1, _cr)]) -> 76 (mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]) -> 77 (mem([e, t]) /\ not eq_elt([e, h])) -> mem([e, cons(h, t)]) -> 70 (mem([e, cons(h, t)]) /\ not eq_elt([e, h])) -> mem([e, t]) -> 70 (mem([e, nil])) -> BOT -> 70 } Sat witness: Found: ((mem([e, l1]) /\ reverse([l1, _mr])) -> mem([e, _mr]), { _mr -> nil ; e -> b ; l1 -> cons(b, nil) }) Total time: 65.604229 Reason for stopping: DontKnow. Stopped because: timeout