Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: left Learning problem is: env: { elt -> {a, b} ; eltlist -> {cons, nil} ; nat -> {s, z} } definition: { (append, F: {() -> append([nil, l2, l2]) (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)])} (append([_ao, _bo, _co]) /\ append([_ao, _bo, _do])) -> eq_eltlist([_co, _do]) ) (reverse, F: {() -> reverse([nil, nil]) (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo])} (reverse([_go, _ho]) /\ reverse([_go, _io])) -> eq_eltlist([_ho, _io]) ) (leq, P: {() -> leq([z, s(nn2)]) () -> leq([z, z]) (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) (leq([s(nn1), z])) -> BOT} ) (length, F: {() -> length([nil, z]) (length([ll, _jo])) -> length([cons(x, ll), s(_jo)])} (length([_ko, _lo]) /\ length([_ko, _mo])) -> eq_nat([_lo, _mo]) ) } properties: {(length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]), (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so])} over-approximation: {append, length, reverse} under-approximation: {leq} Clause system for inference is: { () -> append([nil, l2, l2]) -> 0 () -> length([nil, z]) -> 0 () -> leq([z, s(nn2)]) -> 0 () -> leq([z, z]) -> 0 () -> reverse([nil, nil]) -> 0 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 0 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 0 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 0 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 0 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 0 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 0 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 0 (leq([s(nn1), z])) -> BOT -> 0 } Solving took 65.155136 seconds. DontKnow. Stopped because: timeout Working model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3643, q_gen_3644, q_gen_3645, q_gen_3648, q_gen_3649, q_gen_3650, q_gen_3651, q_gen_3656, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3661, q_gen_3672, q_gen_3673, q_gen_3674, q_gen_3681, q_gen_3682, q_gen_3685, q_gen_3695, q_gen_3696, q_gen_3700, q_gen_3711, q_gen_3721, q_gen_3729, q_gen_3730, q_gen_3731, q_gen_3732, q_gen_3736, q_gen_3737, q_gen_3747, q_gen_3748, q_gen_3749, q_gen_3750, q_gen_3751, q_gen_3752, q_gen_3753, q_gen_3754, q_gen_3762, q_gen_3763, q_gen_3764, q_gen_3765, q_gen_3774, q_gen_3775, q_gen_3776, q_gen_3777, q_gen_3778, q_gen_3779, q_gen_3780, q_gen_3798, q_gen_3799, q_gen_3813, q_gen_3814, q_gen_3815, q_gen_3816, q_gen_3817, q_gen_3818, q_gen_3819, q_gen_3827, q_gen_3828, q_gen_3829, q_gen_3830, q_gen_3831, q_gen_3837, q_gen_3839, q_gen_3840, q_gen_3841, q_gen_3851, q_gen_3852, q_gen_3853, q_gen_3854, q_gen_3855}, Q_f={}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3731 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3659, q_gen_3751) -> q_gen_3754 () -> q_gen_3644 () -> q_gen_3645 (q_gen_3650, q_gen_3644) -> q_gen_3649 () -> q_gen_3650 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3645, q_gen_3673) -> q_gen_3696 (q_gen_3731, q_gen_3658) -> q_gen_3764 (q_gen_3650, q_gen_3649) -> q_gen_3776 (q_gen_3650, q_gen_3764) -> q_gen_3779 (q_gen_3659, q_gen_3751) -> q_gen_3799 (q_gen_3645, q_gen_3644) -> q_gen_3814 () -> q_gen_3817 () -> q_gen_3829 () -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3643 (q_gen_3650, q_gen_3649) -> q_gen_3648 (q_gen_3645, q_gen_3644) -> q_gen_3651 (q_gen_3660, q_gen_3657) -> q_gen_3656 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 (q_gen_3650, q_gen_3644) -> q_gen_3661 (q_gen_3645, q_gen_3673) -> q_gen_3672 (q_gen_3645, q_gen_3673) -> q_gen_3674 (q_gen_3682, q_gen_3657) -> q_gen_3681 () -> q_gen_3682 (q_gen_3682, q_gen_3672) -> q_gen_3685 (q_gen_3645, q_gen_3696) -> q_gen_3695 (q_gen_3660, q_gen_3638) -> q_gen_3700 (q_gen_3660, q_gen_3672) -> q_gen_3711 (q_gen_3682, q_gen_3695) -> q_gen_3721 (q_gen_3732, q_gen_3730) -> q_gen_3729 (q_gen_3731, q_gen_3658) -> q_gen_3730 () -> q_gen_3732 (q_gen_3737, q_gen_3730) -> q_gen_3736 () -> q_gen_3737 (q_gen_3737, q_gen_3674) -> q_gen_3747 (q_gen_3737, q_gen_3749) -> q_gen_3748 (q_gen_3682, q_gen_3750) -> q_gen_3749 (q_gen_3659, q_gen_3751) -> q_gen_3750 (q_gen_3682, q_gen_3753) -> q_gen_3752 (q_gen_3731, q_gen_3754) -> q_gen_3753 (q_gen_3737, q_gen_3763) -> q_gen_3762 (q_gen_3650, q_gen_3764) -> q_gen_3763 (q_gen_3737, q_gen_3672) -> q_gen_3765 (q_gen_3645, q_gen_3649) -> q_gen_3774 (q_gen_3650, q_gen_3776) -> q_gen_3775 (q_gen_3737, q_gen_3778) -> q_gen_3777 (q_gen_3650, q_gen_3779) -> q_gen_3778 (q_gen_3660, q_gen_3750) -> q_gen_3780 (q_gen_3645, q_gen_3799) -> q_gen_3798 (q_gen_3650, q_gen_3814) -> q_gen_3813 (q_gen_3737, q_gen_3816) -> q_gen_3815 (q_gen_3817, q_gen_3673) -> q_gen_3816 (q_gen_3732, q_gen_3819) -> q_gen_3818 (q_gen_3645, q_gen_3764) -> q_gen_3819 (q_gen_3660, q_gen_3828) -> q_gen_3827 (q_gen_3829, q_gen_3764) -> q_gen_3828 (q_gen_3737, q_gen_3831) -> q_gen_3830 (q_gen_3817, q_gen_3673) -> q_gen_3831 (q_gen_3732, q_gen_3672) -> q_gen_3837 (q_gen_3645, q_gen_3799) -> q_gen_3839 (q_gen_3682, q_gen_3841) -> q_gen_3840 (q_gen_3659, q_gen_3754) -> q_gen_3841 (q_gen_3737, q_gen_3852) -> q_gen_3851 (q_gen_3682, q_gen_3638) -> q_gen_3852 (q_gen_3737, q_gen_3854) -> q_gen_3853 (q_gen_3682, q_gen_3855) -> q_gen_3854 (q_gen_3650, q_gen_3644) -> q_gen_3855 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3640, q_gen_3641, q_gen_3642, q_gen_3654, q_gen_3655, q_gen_3664, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3679, q_gen_3680, q_gen_3683, q_gen_3691, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3697, q_gen_3705, q_gen_3706, q_gen_3707, q_gen_3708, q_gen_3712, q_gen_3714, q_gen_3715, q_gen_3716, q_gen_3717, q_gen_3725, q_gen_3726, q_gen_3733, q_gen_3734, q_gen_3738, q_gen_3741, q_gen_3742, q_gen_3743, q_gen_3744, q_gen_3758, q_gen_3759, q_gen_3760, q_gen_3769, q_gen_3770, q_gen_3771, q_gen_3782, q_gen_3783, q_gen_3784, q_gen_3785, q_gen_3786, q_gen_3787, q_gen_3788, q_gen_3789, q_gen_3795, q_gen_3802, q_gen_3803, q_gen_3807, q_gen_3811, q_gen_3812, q_gen_3821, q_gen_3822, q_gen_3825, q_gen_3826, q_gen_3833, q_gen_3834, q_gen_3835, q_gen_3842, q_gen_3843, q_gen_3844, q_gen_3846, q_gen_3856, q_gen_3857, q_gen_3858, q_gen_3859, q_gen_3860, q_gen_3861, q_gen_3862, q_gen_3863, q_gen_3868, q_gen_3869, q_gen_3870, q_gen_3871}, Q_f={}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 (q_gen_3716, q_gen_3641) -> q_gen_3715 () -> q_gen_3716 (q_gen_3716, q_gen_3665) -> q_gen_3726 (q_gen_3666, q_gen_3726) -> q_gen_3734 (q_gen_3708) -> q_gen_3744 (q_gen_3666, q_gen_3715) -> q_gen_3770 (q_gen_3666, q_gen_3692) -> q_gen_3783 (q_gen_3666, q_gen_3783) -> q_gen_3785 (q_gen_3789) -> q_gen_3788 (q_gen_3744) -> q_gen_3789 (q_gen_3666, q_gen_3770) -> q_gen_3803 (q_gen_3666, q_gen_3734) -> q_gen_3826 (q_gen_3716, q_gen_3726) -> q_gen_3834 (q_gen_3666, q_gen_3860) -> q_gen_3859 (q_gen_3666, q_gen_3861) -> q_gen_3860 (q_gen_3716, q_gen_3715) -> q_gen_3861 (q_gen_3666, q_gen_3803) -> q_gen_3863 (q_gen_3666, q_gen_3834) -> q_gen_3869 () -> q_gen_3637 (q_gen_3642, q_gen_3641) -> q_gen_3640 () -> q_gen_3642 (q_gen_3655, q_gen_3641) -> q_gen_3654 () -> q_gen_3655 (q_gen_3667, q_gen_3665) -> q_gen_3664 (q_gen_3668) -> q_gen_3667 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3680, q_gen_3665) -> q_gen_3679 (q_gen_3668) -> q_gen_3680 (q_gen_3655, q_gen_3665) -> q_gen_3683 (q_gen_3693, q_gen_3692) -> q_gen_3691 (q_gen_3694) -> q_gen_3693 (q_gen_3693, q_gen_3665) -> q_gen_3697 (q_gen_3693, q_gen_3641) -> q_gen_3705 (q_gen_3707, q_gen_3665) -> q_gen_3706 (q_gen_3708) -> q_gen_3707 (q_gen_3680, q_gen_3641) -> q_gen_3712 (q_gen_3667, q_gen_3715) -> q_gen_3714 (q_gen_3642, q_gen_3692) -> q_gen_3717 (q_gen_3693, q_gen_3726) -> q_gen_3725 (q_gen_3707, q_gen_3734) -> q_gen_3733 (q_gen_3707, q_gen_3692) -> q_gen_3738 (q_gen_3707, q_gen_3641) -> q_gen_3741 (q_gen_3743, q_gen_3665) -> q_gen_3742 (q_gen_3744) -> q_gen_3743 (q_gen_3759, q_gen_3726) -> q_gen_3758 (q_gen_3694) -> q_gen_3759 (q_gen_3759, q_gen_3641) -> q_gen_3760 (q_gen_3693, q_gen_3770) -> q_gen_3769 (q_gen_3667, q_gen_3692) -> q_gen_3771 (q_gen_3707, q_gen_3783) -> q_gen_3782 (q_gen_3743, q_gen_3785) -> q_gen_3784 (q_gen_3787, q_gen_3641) -> q_gen_3786 (q_gen_3788) -> q_gen_3787 (q_gen_3693, q_gen_3785) -> q_gen_3795 (q_gen_3693, q_gen_3803) -> q_gen_3802 (q_gen_3693, q_gen_3734) -> q_gen_3807 (q_gen_3642, q_gen_3726) -> q_gen_3811 (q_gen_3667, q_gen_3734) -> q_gen_3812 (q_gen_3743, q_gen_3783) -> q_gen_3821 (q_gen_3667, q_gen_3783) -> q_gen_3822 (q_gen_3707, q_gen_3826) -> q_gen_3825 (q_gen_3835, q_gen_3834) -> q_gen_3833 (q_gen_3708) -> q_gen_3835 (q_gen_3835, q_gen_3641) -> q_gen_3842 (q_gen_3844, q_gen_3715) -> q_gen_3843 (q_gen_3744) -> q_gen_3844 (q_gen_3743, q_gen_3692) -> q_gen_3846 (q_gen_3707, q_gen_3715) -> q_gen_3856 (q_gen_3743, q_gen_3770) -> q_gen_3857 (q_gen_3667, q_gen_3859) -> q_gen_3858 (q_gen_3642, q_gen_3863) -> q_gen_3862 (q_gen_3870, q_gen_3869) -> q_gen_3868 (q_gen_3789) -> q_gen_3870 (q_gen_3667, q_gen_3869) -> q_gen_3871 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3635, q_gen_3636, q_gen_3639, q_gen_3646, q_gen_3647, q_gen_3670, q_gen_3671, q_gen_3699, q_gen_3709, q_gen_3710, q_gen_3722, q_gen_3723, q_gen_3735, q_gen_3740, q_gen_3745, q_gen_3746, q_gen_3790, q_gen_3791, q_gen_3792, q_gen_3793, q_gen_3794, q_gen_3824, q_gen_3836, q_gen_3847, q_gen_3874, q_gen_3875, q_gen_3876}, Q_f={}, Delta= { () -> q_gen_3636 (q_gen_3636) -> q_gen_3647 (q_gen_3647) -> q_gen_3723 (q_gen_3793) -> q_gen_3792 (q_gen_3794) -> q_gen_3793 (q_gen_3723) -> q_gen_3794 () -> q_gen_3634 (q_gen_3636) -> q_gen_3635 (q_gen_3634) -> q_gen_3639 (q_gen_3647) -> q_gen_3646 (q_gen_3671) -> q_gen_3670 (q_gen_3636) -> q_gen_3671 (q_gen_3670) -> q_gen_3699 (q_gen_3710) -> q_gen_3709 (q_gen_3647) -> q_gen_3710 (q_gen_3723) -> q_gen_3722 (q_gen_3709) -> q_gen_3735 (q_gen_3699) -> q_gen_3740 (q_gen_3746) -> q_gen_3745 (q_gen_3723) -> q_gen_3746 (q_gen_3791) -> q_gen_3790 (q_gen_3792) -> q_gen_3791 (q_gen_3745) -> q_gen_3824 (q_gen_3740) -> q_gen_3836 (q_gen_3735) -> q_gen_3847 (q_gen_3875) -> q_gen_3874 (q_gen_3876) -> q_gen_3875 (q_gen_3794) -> q_gen_3876 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3662, q_gen_3663, q_gen_3675, q_gen_3676, q_gen_3677, q_gen_3678, q_gen_3684, q_gen_3686, q_gen_3687, q_gen_3688, q_gen_3689, q_gen_3690, q_gen_3698, q_gen_3701, q_gen_3702, q_gen_3703, q_gen_3704, q_gen_3713, q_gen_3718, q_gen_3719, q_gen_3720, q_gen_3724, q_gen_3727, q_gen_3728, q_gen_3739, q_gen_3755, q_gen_3756, q_gen_3757, q_gen_3761, q_gen_3766, q_gen_3767, q_gen_3768, q_gen_3772, q_gen_3773, q_gen_3781, q_gen_3796, q_gen_3797, q_gen_3800, q_gen_3801, q_gen_3804, q_gen_3805, q_gen_3806, q_gen_3808, q_gen_3809, q_gen_3810, q_gen_3820, q_gen_3823, q_gen_3832, q_gen_3838, q_gen_3845, q_gen_3848, q_gen_3849, q_gen_3850, q_gen_3864, q_gen_3865, q_gen_3866, q_gen_3867, q_gen_3872, q_gen_3873}, Q_f={}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3704 (q_gen_3678, q_gen_3677) -> q_gen_3850 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 (q_gen_3663, q_gen_3633) -> q_gen_3662 () -> q_gen_3663 (q_gen_3653, q_gen_3676) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3676 (q_gen_3663, q_gen_3652) -> q_gen_3684 (q_gen_3663, q_gen_3676) -> q_gen_3686 (q_gen_3690, q_gen_3688) -> q_gen_3687 (q_gen_3689, q_gen_3676) -> q_gen_3688 () -> q_gen_3689 () -> q_gen_3690 (q_gen_3653, q_gen_3652) -> q_gen_3698 (q_gen_3689, q_gen_3633) -> q_gen_3701 (q_gen_3653, q_gen_3703) -> q_gen_3702 (q_gen_3704, q_gen_3677) -> q_gen_3703 (q_gen_3690, q_gen_3701) -> q_gen_3713 (q_gen_3653, q_gen_3719) -> q_gen_3718 (q_gen_3653, q_gen_3720) -> q_gen_3719 (q_gen_3678, q_gen_3677) -> q_gen_3720 (q_gen_3653, q_gen_3701) -> q_gen_3724 (q_gen_3653, q_gen_3728) -> q_gen_3727 (q_gen_3690, q_gen_3676) -> q_gen_3728 (q_gen_3653, q_gen_3698) -> q_gen_3739 (q_gen_3690, q_gen_3703) -> q_gen_3755 (q_gen_3690, q_gen_3687) -> q_gen_3756 (q_gen_3689, q_gen_3720) -> q_gen_3757 (q_gen_3690, q_gen_3633) -> q_gen_3761 (q_gen_3663, q_gen_3701) -> q_gen_3766 (q_gen_3663, q_gen_3768) -> q_gen_3767 (q_gen_3689, q_gen_3701) -> q_gen_3768 (q_gen_3653, q_gen_3773) -> q_gen_3772 (q_gen_3653, q_gen_3761) -> q_gen_3773 (q_gen_3653, q_gen_3675) -> q_gen_3781 (q_gen_3653, q_gen_3797) -> q_gen_3796 (q_gen_3653, q_gen_3718) -> q_gen_3797 (q_gen_3690, q_gen_3652) -> q_gen_3800 (q_gen_3690, q_gen_3698) -> q_gen_3801 (q_gen_3653, q_gen_3805) -> q_gen_3804 (q_gen_3653, q_gen_3806) -> q_gen_3805 (q_gen_3689, q_gen_3761) -> q_gen_3806 (q_gen_3653, q_gen_3809) -> q_gen_3808 (q_gen_3653, q_gen_3810) -> q_gen_3809 (q_gen_3689, q_gen_3652) -> q_gen_3810 (q_gen_3689, q_gen_3806) -> q_gen_3820 (q_gen_3653, q_gen_3739) -> q_gen_3823 (q_gen_3663, q_gen_3684) -> q_gen_3832 (q_gen_3689, q_gen_3810) -> q_gen_3838 (q_gen_3653, q_gen_3800) -> q_gen_3845 (q_gen_3653, q_gen_3849) -> q_gen_3848 (q_gen_3678, q_gen_3850) -> q_gen_3849 (q_gen_3653, q_gen_3865) -> q_gen_3864 (q_gen_3653, q_gen_3866) -> q_gen_3865 (q_gen_3653, q_gen_3867) -> q_gen_3866 (q_gen_3690, q_gen_3662) -> q_gen_3867 (q_gen_3653, q_gen_3873) -> q_gen_3872 (q_gen_3653, q_gen_3832) -> q_gen_3873 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.009566 s (model generation: 0.009199, model checking: 0.000367): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 0 () -> length([nil, z]) -> 0 () -> leq([z, s(nn2)]) -> 0 () -> leq([z, z]) -> 0 () -> reverse([nil, nil]) -> 3 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 1 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 1 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 1 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 1 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 1 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 (leq([s(nn1), z])) -> BOT -> 1 } Sat witness: Found: (() -> reverse([nil, nil]), { }) ------------------------------------------- Step 1, which took 0.008726 s (model generation: 0.008679, model checking: 0.000047): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3633 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 0 () -> length([nil, z]) -> 0 () -> leq([z, s(nn2)]) -> 0 () -> leq([z, z]) -> 3 () -> reverse([nil, nil]) -> 3 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 1 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 1 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 1 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 1 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 1 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 (leq([s(nn1), z])) -> BOT -> 1 } Sat witness: Found: (() -> leq([z, z]), { }) ------------------------------------------- Step 2, which took 0.007025 s (model generation: 0.006960, model checking: 0.000065): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634}, Q_f={q_gen_3634}, Delta= { () -> q_gen_3634 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3633 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 0 () -> length([nil, z]) -> 0 () -> leq([z, s(nn2)]) -> 3 () -> leq([z, z]) -> 3 () -> reverse([nil, nil]) -> 3 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 1 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 1 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 1 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 1 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 1 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 (leq([s(nn1), z])) -> BOT -> 1 } Sat witness: Found: (() -> leq([z, s(nn2)]), { nn2 -> z }) ------------------------------------------- Step 3, which took 0.008458 s (model generation: 0.008385, model checking: 0.000073): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636}, Q_f={q_gen_3634}, Delta= { () -> q_gen_3636 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3633 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 0 () -> length([nil, z]) -> 3 () -> leq([z, s(nn2)]) -> 3 () -> leq([z, z]) -> 3 () -> reverse([nil, nil]) -> 3 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 1 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 1 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 1 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 1 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 1 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 (leq([s(nn1), z])) -> BOT -> 1 } Sat witness: Found: (() -> length([nil, z]), { }) ------------------------------------------- Step 4, which took 0.011591 s (model generation: 0.011434, model checking: 0.000157): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3637 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636}, Q_f={q_gen_3634}, Delta= { () -> q_gen_3636 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3633 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> length([nil, z]) -> 3 () -> leq([z, s(nn2)]) -> 3 () -> leq([z, z]) -> 3 () -> reverse([nil, nil]) -> 3 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 1 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 1 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 1 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 1 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 1 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 (leq([s(nn1), z])) -> BOT -> 1 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> nil }) ------------------------------------------- Step 5, which took 0.010616 s (model generation: 0.010494, model checking: 0.000122): Model: |_ { append -> {{{ Q={q_gen_3638}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3638 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3637 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636}, Q_f={q_gen_3634}, Delta= { () -> q_gen_3636 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3633 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> length([nil, z]) -> 3 () -> leq([z, s(nn2)]) -> 3 () -> leq([z, z]) -> 3 () -> reverse([nil, nil]) -> 3 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 1 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 1 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 1 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 1 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 1 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 2 (leq([s(nn1), z])) -> BOT -> 2 } Sat witness: Found: ((leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]), { nn1 -> z ; nn2 -> z }) ------------------------------------------- Step 6, which took 0.008185 s (model generation: 0.008041, model checking: 0.000144): Model: |_ { append -> {{{ Q={q_gen_3638}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3638 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3637 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636}, Q_f={q_gen_3634}, Delta= { () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3633 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> length([nil, z]) -> 3 () -> leq([z, s(nn2)]) -> 3 () -> leq([z, z]) -> 3 () -> reverse([nil, nil]) -> 3 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 1 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 1 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 1 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 1 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 4 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 2 (leq([s(nn1), z])) -> BOT -> 2 } Sat witness: Found: ((length([ll, _jo])) -> length([cons(x, ll), s(_jo)]), { _jo -> z ; ll -> nil ; x -> b }) ------------------------------------------- Step 7, which took 0.009430 s (model generation: 0.009189, model checking: 0.000241): Model: |_ { append -> {{{ Q={q_gen_3638}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3638 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3642, q_gen_3641) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636}, Q_f={q_gen_3634}, Delta= { () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3633 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> length([nil, z]) -> 3 () -> leq([z, s(nn2)]) -> 3 () -> leq([z, z]) -> 3 () -> reverse([nil, nil]) -> 3 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 1 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 4 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 2 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 2 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 4 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 2 (leq([s(nn1), z])) -> BOT -> 2 } Sat witness: Found: ((append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]), { _zn -> nil ; h1 -> b ; l2 -> nil ; t1 -> nil }) ------------------------------------------- Step 8, which took 0.011209 s (model generation: 0.010813, model checking: 0.000396): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3644 () -> q_gen_3645 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3642, q_gen_3641) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636}, Q_f={q_gen_3634}, Delta= { () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3633 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> length([nil, z]) -> 3 () -> leq([z, s(nn2)]) -> 6 () -> leq([z, z]) -> 4 () -> reverse([nil, nil]) -> 4 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 2 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 4 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 3 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 3 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 4 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 3 (leq([s(nn1), z])) -> BOT -> 3 } Sat witness: Found: (() -> leq([z, s(nn2)]), { nn2 -> s(z) }) ------------------------------------------- Step 9, which took 0.011722 s (model generation: 0.011136, model checking: 0.000586): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3644 () -> q_gen_3645 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3642, q_gen_3641) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3633 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> length([nil, z]) -> 4 () -> leq([z, s(nn2)]) -> 6 () -> leq([z, z]) -> 4 () -> reverse([nil, nil]) -> 4 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 3 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 4 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 4 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 4 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 4 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 4 (leq([s(nn1), z])) -> BOT -> 4 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> cons(a, cons(a, nil)) }) ------------------------------------------- Step 10, which took 0.011091 s (model generation: 0.010966, model checking: 0.000125): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645}, Q_f={q_gen_3638}, Delta= { (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3642, q_gen_3641) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3633 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> length([nil, z]) -> 4 () -> leq([z, s(nn2)]) -> 6 () -> leq([z, z]) -> 4 () -> reverse([nil, nil]) -> 4 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 6 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 4 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 4 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 4 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 4 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 4 (leq([s(nn1), z])) -> BOT -> 4 } Sat witness: Found: ((append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]), { _eo -> nil ; _fo -> cons(b, nil) ; h1 -> b ; t1 -> nil }) ------------------------------------------- Step 11, which took 0.010197 s (model generation: 0.009817, model checking: 0.000380): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645}, Q_f={q_gen_3638}, Delta= { (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3642, q_gen_3641) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653}, Q_f={q_gen_3633}, Delta= { (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> length([nil, z]) -> 4 () -> leq([z, s(nn2)]) -> 6 () -> leq([z, z]) -> 4 () -> reverse([nil, nil]) -> 4 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 6 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 4 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 4 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 4 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 7 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 5 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 5 (leq([s(nn1), z])) -> BOT -> 5 } Sat witness: Found: ((length([ll, _jo])) -> length([cons(x, ll), s(_jo)]), { _jo -> z ; ll -> nil ; x -> a }) ------------------------------------------- Step 12, which took 0.012171 s (model generation: 0.011102, model checking: 0.001069): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645}, Q_f={q_gen_3638}, Delta= { (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3642, q_gen_3641) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653}, Q_f={q_gen_3633}, Delta= { (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> length([nil, z]) -> 4 () -> leq([z, s(nn2)]) -> 6 () -> leq([z, z]) -> 4 () -> reverse([nil, nil]) -> 4 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 6 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 7 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 5 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 5 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 7 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 5 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 5 (leq([s(nn1), z])) -> BOT -> 5 } Sat witness: Found: ((append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]), { _zn -> cons(b, nil) ; h1 -> b ; l2 -> cons(b, nil) ; t1 -> nil }) ------------------------------------------- Step 13, which took 0.017064 s (model generation: 0.016144, model checking: 0.000920): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3642, q_gen_3641) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653}, Q_f={q_gen_3633}, Delta= { (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> length([nil, z]) -> 5 () -> leq([z, s(nn2)]) -> 6 () -> leq([z, z]) -> 5 () -> reverse([nil, nil]) -> 5 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 9 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 7 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 6 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 6 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 7 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 6 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 6 (leq([s(nn1), z])) -> BOT -> 6 } Sat witness: Found: ((append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]), { _eo -> nil ; _fo -> cons(a, nil) ; h1 -> a ; t1 -> nil }) ------------------------------------------- Step 14, which took 0.015913 s (model generation: 0.014793, model checking: 0.001120): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3642, q_gen_3641) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653}, Q_f={q_gen_3633}, Delta= { (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 7 () -> length([nil, z]) -> 6 () -> leq([z, s(nn2)]) -> 7 () -> leq([z, z]) -> 6 () -> reverse([nil, nil]) -> 6 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 9 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 7 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 7 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 7 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 10 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 7 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 7 (leq([s(nn1), z])) -> BOT -> 7 } Sat witness: Found: ((length([ll, _jo])) -> length([cons(x, ll), s(_jo)]), { _jo -> s(z) ; ll -> cons(b, nil) ; x -> b }) ------------------------------------------- Step 15, which took 0.012323 s (model generation: 0.011842, model checking: 0.000481): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3666, q_gen_3668}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3641) -> q_gen_3641 () -> q_gen_3641 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 (q_gen_3668) -> q_gen_3642 () -> q_gen_3642 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653}, Q_f={q_gen_3633}, Delta= { (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 7 () -> length([nil, z]) -> 7 () -> leq([z, s(nn2)]) -> 7 () -> leq([z, z]) -> 7 () -> reverse([nil, nil]) -> 7 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 9 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 7 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 7 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 10 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 10 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 8 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 8 (leq([s(nn1), z])) -> BOT -> 8 } Sat witness: Found: ((length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]), { _qo -> cons(b, nil) ; _ro -> s(s(z)) ; _so -> s(z) ; l1 -> cons(b, nil) }) ------------------------------------------- Step 16, which took 0.014033 s (model generation: 0.013430, model checking: 0.000603): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3666, q_gen_3668}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3641) -> q_gen_3641 () -> q_gen_3641 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 (q_gen_3668) -> q_gen_3642 () -> q_gen_3642 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653}, Q_f={q_gen_3633}, Delta= { (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 7 () -> length([nil, z]) -> 7 () -> leq([z, s(nn2)]) -> 7 () -> leq([z, z]) -> 7 () -> reverse([nil, nil]) -> 7 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 9 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 10 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 8 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 10 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 10 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 8 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 8 (leq([s(nn1), z])) -> BOT -> 8 } Sat witness: Found: ((append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]), { _zn -> cons(b, nil) ; h1 -> b ; l2 -> nil ; t1 -> nil }) ------------------------------------------- Step 17, which took 0.015703 s (model generation: 0.015058, model checking: 0.000645): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3658) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3666, q_gen_3668}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3641) -> q_gen_3641 () -> q_gen_3641 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 (q_gen_3668) -> q_gen_3642 () -> q_gen_3642 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653}, Q_f={q_gen_3633}, Delta= { (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 8 () -> length([nil, z]) -> 8 () -> leq([z, s(nn2)]) -> 8 () -> leq([z, z]) -> 8 () -> reverse([nil, nil]) -> 8 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 9 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 10 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 8 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 10 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 10 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 8 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 8 (leq([s(nn1), z])) -> BOT -> 11 } Sat witness: Found: ((leq([s(nn1), z])) -> BOT, { nn1 -> z }) ------------------------------------------- Step 18, which took 0.014729 s (model generation: 0.014577, model checking: 0.000152): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3658) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3666, q_gen_3668}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3641) -> q_gen_3641 () -> q_gen_3641 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 (q_gen_3668) -> q_gen_3642 () -> q_gen_3642 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3671}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3671) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3636) -> q_gen_3671 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653}, Q_f={q_gen_3633}, Delta= { (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 8 () -> length([nil, z]) -> 8 () -> leq([z, s(nn2)]) -> 8 () -> leq([z, z]) -> 8 () -> reverse([nil, nil]) -> 8 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 9 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 10 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 8 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 10 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 10 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 8 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 11 (leq([s(nn1), z])) -> BOT -> 11 } Sat witness: Found: ((leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]), { nn1 -> s(z) ; nn2 -> z }) ------------------------------------------- Step 19, which took 0.014906 s (model generation: 0.014272, model checking: 0.000634): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3649, q_gen_3651, q_gen_3658, q_gen_3659, q_gen_3660}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3644) -> q_gen_3649 (q_gen_3659, q_gen_3658) -> q_gen_3649 (q_gen_3660, q_gen_3651) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3649) -> q_gen_3638 () -> q_gen_3638 (q_gen_3645, q_gen_3649) -> q_gen_3651 (q_gen_3645, q_gen_3644) -> q_gen_3651 (q_gen_3659, q_gen_3658) -> q_gen_3651 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3666, q_gen_3668}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3641) -> q_gen_3641 () -> q_gen_3641 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 (q_gen_3668) -> q_gen_3642 () -> q_gen_3642 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 11 () -> length([nil, z]) -> 9 () -> leq([z, s(nn2)]) -> 9 () -> leq([z, z]) -> 9 () -> reverse([nil, nil]) -> 9 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 9 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 10 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 9 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 10 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 10 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 9 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 11 (leq([s(nn1), z])) -> BOT -> 11 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> cons(b, nil) }) ------------------------------------------- Step 20, which took 0.022764 s (model generation: 0.022126, model checking: 0.000638): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3658) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653}, Q_f={q_gen_3633}, Delta= { (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 11 () -> length([nil, z]) -> 9 () -> leq([z, s(nn2)]) -> 9 () -> leq([z, z]) -> 9 () -> reverse([nil, nil]) -> 9 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 12 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 10 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 10 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 10 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 10 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 10 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 11 (leq([s(nn1), z])) -> BOT -> 11 } Sat witness: Found: ((append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]), { _eo -> nil ; _fo -> cons(b, cons(b, nil)) ; h1 -> b ; t1 -> nil }) ------------------------------------------- Step 21, which took 0.017094 s (model generation: 0.015954, model checking: 0.001140): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3658) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 (q_gen_3678, q_gen_3677) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 11 () -> length([nil, z]) -> 10 () -> leq([z, s(nn2)]) -> 10 () -> leq([z, z]) -> 10 () -> reverse([nil, nil]) -> 10 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 12 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 10 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 10 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 10 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 13 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 11 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 11 (leq([s(nn1), z])) -> BOT -> 11 } Sat witness: Found: ((length([ll, _jo])) -> length([cons(x, ll), s(_jo)]), { _jo -> s(z) ; ll -> cons(b, nil) ; x -> a }) ------------------------------------------- Step 22, which took 0.016737 s (model generation: 0.016282, model checking: 0.000455): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3658) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3642, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 (q_gen_3668) -> q_gen_3642 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 (q_gen_3678, q_gen_3677) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 11 () -> length([nil, z]) -> 10 () -> leq([z, s(nn2)]) -> 10 () -> leq([z, z]) -> 10 () -> reverse([nil, nil]) -> 10 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 12 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 10 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 10 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 13 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 13 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 11 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 11 (leq([s(nn1), z])) -> BOT -> 11 } Sat witness: Found: ((length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]), { _qo -> cons(b, nil) ; _ro -> s(z) ; _so -> z ; l1 -> nil }) ------------------------------------------- Step 23, which took 0.017484 s (model generation: 0.016037, model checking: 0.001447): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3658) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3676, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 (q_gen_3653, q_gen_3676) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3678, q_gen_3677) -> q_gen_3676 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 11 () -> length([nil, z]) -> 10 () -> leq([z, s(nn2)]) -> 10 () -> leq([z, z]) -> 10 () -> reverse([nil, nil]) -> 10 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 12 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 13 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 11 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 13 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 13 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 11 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 11 (leq([s(nn1), z])) -> BOT -> 11 } Sat witness: Found: ((append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]), { _zn -> cons(b, nil) ; h1 -> a ; l2 -> cons(b, nil) ; t1 -> nil }) ------------------------------------------- Step 24, which took 0.017580 s (model generation: 0.016450, model checking: 0.001130): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3658) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3642, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 (q_gen_3668) -> q_gen_3642 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3676, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 (q_gen_3653, q_gen_3676) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3678, q_gen_3677) -> q_gen_3676 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 11 () -> length([nil, z]) -> 11 () -> leq([z, s(nn2)]) -> 11 () -> leq([z, z]) -> 11 () -> reverse([nil, nil]) -> 11 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 12 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 13 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 14 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 13 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 13 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 12 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 12 (leq([s(nn1), z])) -> BOT -> 12 } Sat witness: Found: ((length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]), { _no -> s(s(z)) ; _oo -> cons(a, cons(b, nil)) ; _po -> s(z) ; l1 -> cons(a, cons(b, nil)) }) ------------------------------------------- Step 25, which took 0.019392 s (model generation: 0.017587, model checking: 0.001805): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3658) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3676, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 (q_gen_3653, q_gen_3676) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3678, q_gen_3677) -> q_gen_3676 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 12 () -> length([nil, z]) -> 12 () -> leq([z, s(nn2)]) -> 12 () -> leq([z, z]) -> 12 () -> reverse([nil, nil]) -> 12 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 15 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 13 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 14 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 13 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 13 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 13 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 13 (leq([s(nn1), z])) -> BOT -> 13 } Sat witness: Found: ((append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]), { _eo -> cons(a, cons(b, nil)) ; _fo -> cons(a, cons(b, cons(b, nil))) ; h1 -> b ; t1 -> cons(a, nil) }) ------------------------------------------- Step 26, which took 0.022942 s (model generation: 0.021305, model checking: 0.001637): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3658) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3676, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 (q_gen_3653, q_gen_3676) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3678, q_gen_3677) -> q_gen_3676 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 13 () -> length([nil, z]) -> 13 () -> leq([z, s(nn2)]) -> 13 () -> leq([z, z]) -> 13 () -> reverse([nil, nil]) -> 13 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 15 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 13 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 14 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 13 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 16 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 14 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 14 (leq([s(nn1), z])) -> BOT -> 14 } Sat witness: Found: ((length([ll, _jo])) -> length([cons(x, ll), s(_jo)]), { _jo -> s(s(z)) ; ll -> cons(b, cons(b, nil)) ; x -> b }) ------------------------------------------- Step 27, which took 0.024029 s (model generation: 0.023320, model checking: 0.000709): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3658) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3665) -> q_gen_3665 () -> q_gen_3666 (q_gen_3668) -> q_gen_3668 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3676, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 (q_gen_3653, q_gen_3676) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3678, q_gen_3677) -> q_gen_3676 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 13 () -> length([nil, z]) -> 13 () -> leq([z, s(nn2)]) -> 13 () -> leq([z, z]) -> 13 () -> reverse([nil, nil]) -> 13 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 15 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 13 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 14 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 16 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 16 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 14 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 14 (leq([s(nn1), z])) -> BOT -> 14 } Sat witness: Found: ((length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]), { _qo -> cons(b, cons(b, nil)) ; _ro -> s(s(z)) ; _so -> s(z) ; l1 -> cons(b, nil) }) ------------------------------------------- Step 28, which took 0.024315 s (model generation: 0.023184, model checking: 0.001131): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3665) -> q_gen_3665 () -> q_gen_3666 (q_gen_3668) -> q_gen_3668 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 13 () -> length([nil, z]) -> 13 () -> leq([z, s(nn2)]) -> 13 () -> leq([z, z]) -> 13 () -> reverse([nil, nil]) -> 13 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 15 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 16 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 14 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 16 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 16 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 14 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 14 (leq([s(nn1), z])) -> BOT -> 14 } Sat witness: Found: ((append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]), { _zn -> cons(b, cons(b, nil)) ; h1 -> b ; l2 -> nil ; t1 -> cons(b, nil) }) ------------------------------------------- Step 29, which took 0.026182 s (model generation: 0.024828, model checking: 0.001354): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3665) -> q_gen_3665 () -> q_gen_3666 (q_gen_3668) -> q_gen_3668 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 14 () -> length([nil, z]) -> 14 () -> leq([z, s(nn2)]) -> 14 () -> leq([z, z]) -> 14 () -> reverse([nil, nil]) -> 14 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 15 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 16 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 17 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 16 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 16 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 15 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 15 (leq([s(nn1), z])) -> BOT -> 15 } Sat witness: Found: ((length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]), { _no -> s(s(s(z))) ; _oo -> cons(b, cons(b, nil)) ; _po -> s(s(z)) ; l1 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 30, which took 0.027652 s (model generation: 0.026819, model checking: 0.000833): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3665) -> q_gen_3665 () -> q_gen_3666 (q_gen_3668) -> q_gen_3668 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670, q_gen_3671}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3670) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3671) -> q_gen_3670 (q_gen_3636) -> q_gen_3671 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 15 () -> length([nil, z]) -> 15 () -> leq([z, s(nn2)]) -> 15 () -> leq([z, z]) -> 15 () -> reverse([nil, nil]) -> 15 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 15 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 16 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 17 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 16 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 16 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 15 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 18 (leq([s(nn1), z])) -> BOT -> 16 } Sat witness: Found: ((leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]), { nn1 -> s(s(z)) ; nn2 -> s(z) }) ------------------------------------------- Step 31, which took 0.028473 s (model generation: 0.026554, model checking: 0.001919): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3694}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3665) -> q_gen_3641 () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3668) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 (q_gen_3694) -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 15 () -> length([nil, z]) -> 15 () -> leq([z, s(nn2)]) -> 15 () -> leq([z, z]) -> 15 () -> reverse([nil, nil]) -> 15 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 18 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 16 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 17 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 16 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 16 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 16 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 18 (leq([s(nn1), z])) -> BOT -> 16 } Sat witness: Found: ((append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]), { _eo -> cons(b, nil) ; _fo -> cons(b, nil) ; h1 -> b ; t1 -> cons(a, nil) }) ------------------------------------------- Step 32, which took 0.031641 s (model generation: 0.029461, model checking: 0.002180): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3694}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3665) -> q_gen_3641 () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3668) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 (q_gen_3694) -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 16 () -> length([nil, z]) -> 16 () -> leq([z, s(nn2)]) -> 16 () -> leq([z, z]) -> 16 () -> reverse([nil, nil]) -> 16 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 18 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 16 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 17 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 16 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 19 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 17 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 18 (leq([s(nn1), z])) -> BOT -> 17 } Sat witness: Found: ((length([ll, _jo])) -> length([cons(x, ll), s(_jo)]), { _jo -> s(s(s(z))) ; ll -> cons(b, nil) ; x -> b }) ------------------------------------------- Step 33, which took 0.034329 s (model generation: 0.033836, model checking: 0.000493): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3694}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3665) -> q_gen_3641 () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 (q_gen_3694) -> q_gen_3668 () -> q_gen_3668 (q_gen_3668) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 (q_gen_3694) -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 (q_gen_3678, q_gen_3677) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 16 () -> length([nil, z]) -> 16 () -> leq([z, s(nn2)]) -> 16 () -> leq([z, z]) -> 16 () -> reverse([nil, nil]) -> 16 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 18 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 16 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 17 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 19 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 19 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 17 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 18 (leq([s(nn1), z])) -> BOT -> 17 } Sat witness: Found: ((length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]), { _qo -> cons(b, nil) ; _ro -> s(s(s(z))) ; _so -> s(z) ; l1 -> cons(b, nil) }) ------------------------------------------- Step 34, which took 0.034853 s (model generation: 0.034167, model checking: 0.000686): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3665) -> q_gen_3665 () -> q_gen_3666 (q_gen_3668) -> q_gen_3668 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3642, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 (q_gen_3668) -> q_gen_3642 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633, q_gen_3652}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3652) -> q_gen_3675 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 16 () -> length([nil, z]) -> 16 () -> leq([z, s(nn2)]) -> 16 () -> leq([z, z]) -> 16 () -> reverse([nil, nil]) -> 16 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 18 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 19 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 17 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 19 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 19 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 17 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 18 (leq([s(nn1), z])) -> BOT -> 17 } Sat witness: Found: ((append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]), { _zn -> cons(b, cons(b, nil)) ; h1 -> b ; l2 -> cons(b, nil) ; t1 -> cons(b, nil) }) ------------------------------------------- Step 35, which took 0.035158 s (model generation: 0.033881, model checking: 0.001277): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3665) -> q_gen_3665 () -> q_gen_3666 (q_gen_3668) -> q_gen_3668 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3642, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 (q_gen_3668) -> q_gen_3642 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633, q_gen_3652}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3678, q_gen_3677) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3652) -> q_gen_3675 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 17 () -> length([nil, z]) -> 17 () -> leq([z, s(nn2)]) -> 17 () -> leq([z, z]) -> 17 () -> reverse([nil, nil]) -> 17 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 18 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 19 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 20 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 19 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 19 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 18 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 18 (leq([s(nn1), z])) -> BOT -> 18 } Sat witness: Found: ((length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]), { _no -> s(s(z)) ; _oo -> cons(a, nil) ; _po -> s(z) ; l1 -> cons(a, nil) }) ------------------------------------------- Step 36, which took 0.037671 s (model generation: 0.036445, model checking: 0.001226): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3665) -> q_gen_3665 () -> q_gen_3666 (q_gen_3668) -> q_gen_3668 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633, q_gen_3652}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3678, q_gen_3677) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3652) -> q_gen_3675 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 18 () -> length([nil, z]) -> 18 () -> leq([z, s(nn2)]) -> 18 () -> leq([z, z]) -> 18 () -> reverse([nil, nil]) -> 18 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 21 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 19 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 20 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 19 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 19 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 19 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 19 (leq([s(nn1), z])) -> BOT -> 19 } Sat witness: Found: ((append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]), { _eo -> cons(a, nil) ; _fo -> cons(a, cons(b, nil)) ; h1 -> b ; t1 -> cons(a, nil) }) ------------------------------------------- Step 37, which took 0.047630 s (model generation: 0.045605, model checking: 0.002025): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3665) -> q_gen_3665 () -> q_gen_3666 (q_gen_3668) -> q_gen_3668 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3690}, Q_f={q_gen_3633, q_gen_3652}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3690, q_gen_3652) -> q_gen_3633 (q_gen_3678, q_gen_3677) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3652) -> q_gen_3675 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3690, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 () -> q_gen_3690 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 19 () -> length([nil, z]) -> 19 () -> leq([z, s(nn2)]) -> 19 () -> leq([z, z]) -> 19 () -> reverse([nil, nil]) -> 19 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 21 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 19 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 20 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 19 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 22 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 20 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 20 (leq([s(nn1), z])) -> BOT -> 20 } Sat witness: Found: ((length([ll, _jo])) -> length([cons(x, ll), s(_jo)]), { _jo -> s(z) ; ll -> cons(a, nil) ; x -> b }) ------------------------------------------- Step 38, which took 0.040633 s (model generation: 0.040162, model checking: 0.000471): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3694}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3665) -> q_gen_3641 () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3694) -> q_gen_3668 () -> q_gen_3668 (q_gen_3668) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 (q_gen_3694) -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3647, q_gen_3670}, Q_f={q_gen_3634}, Delta= { () -> q_gen_3636 (q_gen_3636) -> q_gen_3647 (q_gen_3634) -> q_gen_3634 (q_gen_3647) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 (q_gen_3647) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 (q_gen_3678, q_gen_3677) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 19 () -> length([nil, z]) -> 19 () -> leq([z, s(nn2)]) -> 19 () -> leq([z, z]) -> 19 () -> reverse([nil, nil]) -> 19 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 21 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 19 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 20 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 22 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 22 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 20 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 20 (leq([s(nn1), z])) -> BOT -> 20 } Sat witness: Found: ((length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]), { _qo -> cons(b, cons(b, nil)) ; _ro -> s(s(z)) ; _so -> s(z) ; l1 -> cons(b, cons(b, cons(b, nil))) }) ------------------------------------------- Step 39, which took 0.052340 s (model generation: 0.051604, model checking: 0.000736): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3694}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3665) -> q_gen_3641 () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3694) -> q_gen_3668 () -> q_gen_3668 (q_gen_3668) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 (q_gen_3694) -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3647, q_gen_3670}, Q_f={q_gen_3634}, Delta= { () -> q_gen_3636 (q_gen_3636) -> q_gen_3647 (q_gen_3634) -> q_gen_3634 (q_gen_3647) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 (q_gen_3647) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 19 () -> length([nil, z]) -> 19 () -> leq([z, s(nn2)]) -> 19 () -> leq([z, z]) -> 19 () -> reverse([nil, nil]) -> 19 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 21 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 22 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 20 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 22 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 22 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 20 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 20 (leq([s(nn1), z])) -> BOT -> 20 } Sat witness: Found: ((append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]), { _zn -> cons(b, cons(b, cons(b, nil))) ; h1 -> a ; l2 -> cons(b, nil) ; t1 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 40, which took 0.047509 s (model generation: 0.047297, model checking: 0.000212): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3694}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3665) -> q_gen_3641 () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3694) -> q_gen_3668 () -> q_gen_3668 (q_gen_3668) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 (q_gen_3694) -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3647, q_gen_3670}, Q_f={q_gen_3634}, Delta= { () -> q_gen_3636 (q_gen_3636) -> q_gen_3647 (q_gen_3634) -> q_gen_3634 (q_gen_3647) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 (q_gen_3647) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 19 () -> length([nil, z]) -> 19 () -> leq([z, s(nn2)]) -> 22 () -> leq([z, z]) -> 20 () -> reverse([nil, nil]) -> 20 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 21 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 22 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 20 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 22 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 22 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 20 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 20 (leq([s(nn1), z])) -> BOT -> 20 } Sat witness: Found: (() -> leq([z, s(nn2)]), { nn2 -> s(s(z)) }) ------------------------------------------- Step 41, which took 0.049141 s (model generation: 0.048568, model checking: 0.000573): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3694}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3665) -> q_gen_3641 () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3694) -> q_gen_3668 () -> q_gen_3668 (q_gen_3668) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 (q_gen_3694) -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3647, q_gen_3670}, Q_f={q_gen_3634}, Delta= { () -> q_gen_3636 (q_gen_3636) -> q_gen_3647 (q_gen_3647) -> q_gen_3647 (q_gen_3634) -> q_gen_3634 (q_gen_3647) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 (q_gen_3647) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 20 () -> length([nil, z]) -> 20 () -> leq([z, s(nn2)]) -> 22 () -> leq([z, z]) -> 20 () -> reverse([nil, nil]) -> 20 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 21 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 22 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 20 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 22 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 22 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 20 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 20 (leq([s(nn1), z])) -> BOT -> 23 } Sat witness: Found: ((leq([s(nn1), z])) -> BOT, { nn1 -> s(z) }) ------------------------------------------- Step 42, which took 0.049887 s (model generation: 0.049208, model checking: 0.000679): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3665) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3668) -> q_gen_3668 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3690}, Q_f={q_gen_3633, q_gen_3652}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3690, q_gen_3652) -> q_gen_3633 (q_gen_3690, q_gen_3675) -> q_gen_3633 (q_gen_3678, q_gen_3677) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3652) -> q_gen_3675 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 () -> q_gen_3690 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 20 () -> length([nil, z]) -> 20 () -> leq([z, s(nn2)]) -> 22 () -> leq([z, z]) -> 20 () -> reverse([nil, nil]) -> 20 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 21 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 22 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 23 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 22 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 22 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 21 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 21 (leq([s(nn1), z])) -> BOT -> 23 } Sat witness: Found: ((length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]), { _no -> s(s(z)) ; _oo -> cons(b, nil) ; _po -> s(z) ; l1 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 43, which took 0.057880 s (model generation: 0.056745, model checking: 0.001135): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3665) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3668) -> q_gen_3668 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3690}, Q_f={q_gen_3633, q_gen_3652}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3690, q_gen_3652) -> q_gen_3633 (q_gen_3690, q_gen_3675) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3652) -> q_gen_3675 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 () -> q_gen_3690 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 21 () -> length([nil, z]) -> 21 () -> leq([z, s(nn2)]) -> 22 () -> leq([z, z]) -> 21 () -> reverse([nil, nil]) -> 21 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 24 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 22 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 23 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 22 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 22 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 22 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 22 (leq([s(nn1), z])) -> BOT -> 23 } Sat witness: Found: ((append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]), { _eo -> cons(b, nil) ; _fo -> cons(b, cons(b, nil)) ; h1 -> b ; t1 -> cons(a, nil) }) ------------------------------------------- Step 44, which took 0.052570 s (model generation: 0.050545, model checking: 0.002025): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3665) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3668) -> q_gen_3668 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3689}, Q_f={q_gen_3633, q_gen_3652}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3689, q_gen_3675) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3678, q_gen_3677) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3652) -> q_gen_3675 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3689, q_gen_3633) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 () -> q_gen_3689 () -> q_gen_3689 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 22 () -> length([nil, z]) -> 22 () -> leq([z, s(nn2)]) -> 22 () -> leq([z, z]) -> 22 () -> reverse([nil, nil]) -> 22 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 24 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 22 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 23 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 25 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 23 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 23 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 23 (leq([s(nn1), z])) -> BOT -> 23 } Sat witness: Found: ((length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]), { _qo -> cons(b, cons(a, cons(b, nil))) ; _ro -> s(s(s(z))) ; _so -> s(s(z)) ; l1 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 45, which took 0.064141 s (model generation: 0.061136, model checking: 0.003005): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3665) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3668) -> q_gen_3668 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3689}, Q_f={q_gen_3633, q_gen_3652}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3689, q_gen_3675) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3652) -> q_gen_3675 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3689, q_gen_3633) -> q_gen_3675 (q_gen_3689, q_gen_3652) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 () -> q_gen_3689 () -> q_gen_3689 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 22 () -> length([nil, z]) -> 22 () -> leq([z, s(nn2)]) -> 22 () -> leq([z, z]) -> 22 () -> reverse([nil, nil]) -> 22 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 24 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 25 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 23 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 25 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 23 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 23 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 23 (leq([s(nn1), z])) -> BOT -> 23 } Sat witness: Found: ((append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]), { _zn -> cons(a, nil) ; h1 -> b ; l2 -> cons(a, nil) ; t1 -> nil }) ------------------------------------------- Step 46, which took 0.063862 s (model generation: 0.062071, model checking: 0.001791): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3665) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3668) -> q_gen_3668 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3689}, Q_f={q_gen_3633, q_gen_3652}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3689, q_gen_3675) -> q_gen_3652 (q_gen_3678, q_gen_3677) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3652) -> q_gen_3675 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3689, q_gen_3633) -> q_gen_3675 (q_gen_3689, q_gen_3652) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 () -> q_gen_3689 () -> q_gen_3689 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 23 () -> length([nil, z]) -> 23 () -> leq([z, s(nn2)]) -> 23 () -> leq([z, z]) -> 23 () -> reverse([nil, nil]) -> 23 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 24 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 25 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 26 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 25 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 24 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 24 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 24 (leq([s(nn1), z])) -> BOT -> 24 } Sat witness: Found: ((length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]), { _no -> s(z) ; _oo -> nil ; _po -> z ; l1 -> cons(b, nil) }) ------------------------------------------- Step 47, which took 0.063463 s (model generation: 0.061621, model checking: 0.001842): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3665) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3668) -> q_gen_3668 () -> q_gen_3668 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3689}, Q_f={q_gen_3633, q_gen_3652}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3689, q_gen_3675) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3652) -> q_gen_3675 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3689, q_gen_3633) -> q_gen_3675 (q_gen_3689, q_gen_3652) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 () -> q_gen_3689 () -> q_gen_3689 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 24 () -> length([nil, z]) -> 24 () -> leq([z, s(nn2)]) -> 24 () -> leq([z, z]) -> 24 () -> reverse([nil, nil]) -> 24 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 27 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 25 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 26 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 25 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 25 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 25 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 25 (leq([s(nn1), z])) -> BOT -> 25 } Sat witness: Found: ((append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]), { _eo -> cons(b, nil) ; _fo -> cons(b, cons(b, nil)) ; h1 -> b ; t1 -> cons(b, nil) }) ------------------------------------------- Step 48, which took 0.068829 s (model generation: 0.067630, model checking: 0.001199): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3694}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3665) -> q_gen_3641 () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3694) -> q_gen_3668 () -> q_gen_3668 (q_gen_3668) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 (q_gen_3694) -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3647, q_gen_3670, q_gen_3710}, Q_f={q_gen_3634}, Delta= { () -> q_gen_3636 (q_gen_3636) -> q_gen_3647 (q_gen_3647) -> q_gen_3647 (q_gen_3634) -> q_gen_3634 (q_gen_3710) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 (q_gen_3647) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 (q_gen_3647) -> q_gen_3710 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 25 () -> length([nil, z]) -> 25 () -> leq([z, s(nn2)]) -> 25 () -> leq([z, z]) -> 25 () -> reverse([nil, nil]) -> 25 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 27 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 25 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 26 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 25 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 25 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 25 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 28 (leq([s(nn1), z])) -> BOT -> 26 } Sat witness: Found: ((leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]), { nn1 -> s(s(z)) ; nn2 -> z }) ------------------------------------------- Step 49, which took 0.065866 s (model generation: 0.062059, model checking: 0.003807): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3694) -> q_gen_3668 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 25 () -> length([nil, z]) -> 25 () -> leq([z, s(nn2)]) -> 25 () -> leq([z, z]) -> 25 () -> reverse([nil, nil]) -> 25 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 27 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 25 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 26 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 25 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 28 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 26 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 28 (leq([s(nn1), z])) -> BOT -> 26 } Sat witness: Found: ((length([ll, _jo])) -> length([cons(x, ll), s(_jo)]), { _jo -> s(s(s(z))) ; ll -> cons(b, cons(a, cons(b, nil))) ; x -> b }) ------------------------------------------- Step 50, which took 0.067654 s (model generation: 0.066758, model checking: 0.000896): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3692) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3694) -> q_gen_3668 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 25 () -> length([nil, z]) -> 25 () -> leq([z, s(nn2)]) -> 25 () -> leq([z, z]) -> 25 () -> reverse([nil, nil]) -> 25 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 27 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 25 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 26 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 28 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 28 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 26 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 28 (leq([s(nn1), z])) -> BOT -> 26 } Sat witness: Found: ((length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]), { _qo -> cons(b, cons(b, nil)) ; _ro -> s(s(s(s(z)))) ; _so -> s(s(z)) ; l1 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 51, which took 0.065811 s (model generation: 0.061988, model checking: 0.003823): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 25 () -> length([nil, z]) -> 25 () -> leq([z, s(nn2)]) -> 25 () -> leq([z, z]) -> 25 () -> reverse([nil, nil]) -> 25 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 27 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 28 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 26 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 28 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 28 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 26 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 28 (leq([s(nn1), z])) -> BOT -> 26 } Sat witness: Found: ((append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]), { _zn -> cons(a, nil) ; h1 -> a ; l2 -> cons(a, nil) ; t1 -> nil }) ------------------------------------------- Step 52, which took 0.074438 s (model generation: 0.072473, model checking: 0.001965): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 26 () -> length([nil, z]) -> 26 () -> leq([z, s(nn2)]) -> 26 () -> leq([z, z]) -> 26 () -> reverse([nil, nil]) -> 26 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 27 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 28 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 29 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 28 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 28 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 27 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 28 (leq([s(nn1), z])) -> BOT -> 27 } Sat witness: Found: ((length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]), { _no -> s(s(s(s(z)))) ; _oo -> cons(b, cons(b, cons(b, nil))) ; _po -> s(s(s(z))) ; l1 -> cons(b, cons(b, cons(b, nil))) }) ------------------------------------------- Step 53, which took 0.090688 s (model generation: 0.084736, model checking: 0.005952): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3708}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3692) -> q_gen_3641 () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 (q_gen_3708) -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 27 () -> length([nil, z]) -> 27 () -> leq([z, s(nn2)]) -> 27 () -> leq([z, z]) -> 27 () -> reverse([nil, nil]) -> 27 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 28 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 28 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 29 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 28 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 31 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 28 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 29 (leq([s(nn1), z])) -> BOT -> 28 } Sat witness: Found: ((length([ll, _jo])) -> length([cons(x, ll), s(_jo)]), { _jo -> s(s(s(s(z)))) ; ll -> cons(b, nil) ; x -> b }) ------------------------------------------- Step 54, which took 0.093314 s (model generation: 0.091872, model checking: 0.001442): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3708}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3692) -> q_gen_3641 () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3708) -> q_gen_3668 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 (q_gen_3708) -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 28 () -> length([nil, z]) -> 28 () -> leq([z, s(nn2)]) -> 28 () -> leq([z, z]) -> 28 () -> reverse([nil, nil]) -> 28 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 28 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 28 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 29 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 31 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 31 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 29 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 29 (leq([s(nn1), z])) -> BOT -> 29 } Sat witness: Found: ((length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]), { _qo -> cons(b, nil) ; _ro -> s(s(s(s(z)))) ; _so -> s(z) ; l1 -> cons(b, nil) }) ------------------------------------------- Step 55, which took 0.116156 s (model generation: 0.102028, model checking: 0.014128): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670, q_gen_3671, q_gen_3699}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3699) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3671) -> q_gen_3670 (q_gen_3636) -> q_gen_3671 (q_gen_3670) -> q_gen_3699 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 28 () -> length([nil, z]) -> 28 () -> leq([z, s(nn2)]) -> 28 () -> leq([z, z]) -> 28 () -> reverse([nil, nil]) -> 28 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 28 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 31 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 29 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 31 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 31 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 29 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 29 (leq([s(nn1), z])) -> BOT -> 29 } Sat witness: Found: ((append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]), { _zn -> cons(a, cons(b, cons(b, nil))) ; h1 -> a ; l2 -> cons(a, cons(b, nil)) ; t1 -> cons(a, nil) }) ------------------------------------------- Step 56, which took 0.131188 s (model generation: 0.130135, model checking: 0.001053): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3658) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3660, q_gen_3674) -> q_gen_3674 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3684, q_gen_3689}, Q_f={q_gen_3633, q_gen_3652, q_gen_3684}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3689, q_gen_3684) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3684) -> q_gen_3675 (q_gen_3689, q_gen_3633) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3684 (q_gen_3689, q_gen_3675) -> q_gen_3684 () -> q_gen_3689 () -> q_gen_3689 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 28 () -> length([nil, z]) -> 28 () -> leq([z, s(nn2)]) -> 28 () -> leq([z, z]) -> 28 () -> reverse([nil, nil]) -> 28 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 31 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 31 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 29 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 31 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 31 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 29 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 29 (leq([s(nn1), z])) -> BOT -> 29 } Sat witness: Found: ((append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]), { _eo -> cons(a, nil) ; _fo -> cons(a, cons(a, cons(b, cons(b, nil)))) ; h1 -> b ; t1 -> cons(b, cons(a, nil)) }) ------------------------------------------- Step 57, which took 0.146760 s (model generation: 0.144423, model checking: 0.002337): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3658) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3660, q_gen_3674) -> q_gen_3674 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3684, q_gen_3689}, Q_f={q_gen_3633, q_gen_3652, q_gen_3684}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3684) -> q_gen_3675 (q_gen_3689, q_gen_3633) -> q_gen_3675 (q_gen_3689, q_gen_3684) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3684 (q_gen_3689, q_gen_3675) -> q_gen_3684 () -> q_gen_3689 () -> q_gen_3689 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 29 () -> length([nil, z]) -> 29 () -> leq([z, s(nn2)]) -> 29 () -> leq([z, z]) -> 29 () -> reverse([nil, nil]) -> 29 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 31 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 31 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 32 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 31 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 31 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 30 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 30 (leq([s(nn1), z])) -> BOT -> 30 } Sat witness: Found: ((length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]), { _no -> s(s(z)) ; _oo -> cons(b, nil) ; _po -> s(z) ; l1 -> cons(a, cons(b, nil)) }) ------------------------------------------- Step 58, which took 0.149388 s (model generation: 0.146751, model checking: 0.002637): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3643, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638, q_gen_3643}, Delta= { (q_gen_3659, q_gen_3658) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3643) -> q_gen_3638 () -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3643 (q_gen_3645, q_gen_3673) -> q_gen_3643 (q_gen_3645, q_gen_3644) -> q_gen_3643 (q_gen_3659, q_gen_3658) -> q_gen_3643 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3660, q_gen_3638) -> q_gen_3674 (q_gen_3660, q_gen_3674) -> q_gen_3674 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3684}, Q_f={q_gen_3633, q_gen_3652, q_gen_3684}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3684) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3684 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 30 () -> length([nil, z]) -> 30 () -> leq([z, s(nn2)]) -> 30 () -> leq([z, z]) -> 30 () -> reverse([nil, nil]) -> 30 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 31 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 31 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 32 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 31 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 34 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 31 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 31 (leq([s(nn1), z])) -> BOT -> 31 } Sat witness: Found: ((length([ll, _jo])) -> length([cons(x, ll), s(_jo)]), { _jo -> s(s(z)) ; ll -> cons(a, cons(b, nil)) ; x -> a }) ------------------------------------------- Step 59, which took 0.170299 s (model generation: 0.167918, model checking: 0.002381): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3643, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638, q_gen_3643}, Delta= { (q_gen_3659, q_gen_3658) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3643) -> q_gen_3643 (q_gen_3645, q_gen_3644) -> q_gen_3643 (q_gen_3645, q_gen_3673) -> q_gen_3643 (q_gen_3659, q_gen_3658) -> q_gen_3643 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3660, q_gen_3638) -> q_gen_3674 (q_gen_3660, q_gen_3674) -> q_gen_3674 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3642, q_gen_3692) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 (q_gen_3694) -> q_gen_3642 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3684}, Q_f={q_gen_3633, q_gen_3652, q_gen_3684}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3684) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3684 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 31 () -> length([nil, z]) -> 31 () -> leq([z, s(nn2)]) -> 31 () -> leq([z, z]) -> 31 () -> reverse([nil, nil]) -> 31 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 31 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 31 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 32 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 34 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 34 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 32 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 32 (leq([s(nn1), z])) -> BOT -> 32 } Sat witness: Found: ((length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]), { _qo -> cons(a, nil) ; _ro -> s(s(s(z))) ; _so -> s(z) ; l1 -> cons(b, nil) }) ------------------------------------------- Step 60, which took 0.193249 s (model generation: 0.192098, model checking: 0.001151): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3643, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638, q_gen_3643}, Delta= { (q_gen_3659, q_gen_3658) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 () -> q_gen_3638 (q_gen_3660, q_gen_3643) -> q_gen_3643 (q_gen_3645, q_gen_3644) -> q_gen_3643 (q_gen_3645, q_gen_3673) -> q_gen_3643 (q_gen_3645, q_gen_3644) -> q_gen_3643 (q_gen_3659, q_gen_3658) -> q_gen_3643 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3660, q_gen_3638) -> q_gen_3674 (q_gen_3660, q_gen_3674) -> q_gen_3674 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3692) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3694) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3684}, Q_f={q_gen_3633, q_gen_3652, q_gen_3684}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3684) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3684 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 31 () -> length([nil, z]) -> 31 () -> leq([z, s(nn2)]) -> 31 () -> leq([z, z]) -> 31 () -> reverse([nil, nil]) -> 31 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 31 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 34 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 32 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 34 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 34 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 32 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 32 (leq([s(nn1), z])) -> BOT -> 32 } Sat witness: Found: ((append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]), { _zn -> cons(a, cons(a, nil)) ; h1 -> a ; l2 -> cons(a, cons(a, nil)) ; t1 -> nil }) ------------------------------------------- Step 61, which took 0.202354 s (model generation: 0.200876, model checking: 0.001478): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3643, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638, q_gen_3643}, Delta= { (q_gen_3659, q_gen_3658) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3674) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3643) -> q_gen_3643 (q_gen_3645, q_gen_3644) -> q_gen_3643 (q_gen_3645, q_gen_3673) -> q_gen_3643 (q_gen_3645, q_gen_3644) -> q_gen_3643 (q_gen_3659, q_gen_3658) -> q_gen_3643 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3660, q_gen_3638) -> q_gen_3674 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3692) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3694) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3684}, Q_f={q_gen_3633, q_gen_3652, q_gen_3684}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3684) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3684 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 31 () -> length([nil, z]) -> 31 () -> leq([z, s(nn2)]) -> 31 () -> leq([z, z]) -> 31 () -> reverse([nil, nil]) -> 31 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 34 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 34 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 32 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 34 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 34 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 32 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 32 (leq([s(nn1), z])) -> BOT -> 32 } Sat witness: Found: ((append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]), { _eo -> cons(a, cons(b, nil)) ; _fo -> cons(a, cons(b, cons(b, nil))) ; h1 -> a ; t1 -> cons(a, cons(a, nil)) }) ------------------------------------------- Step 62, which took 0.284122 s (model generation: 0.283185, model checking: 0.000937): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3643, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638, q_gen_3643}, Delta= { (q_gen_3659, q_gen_3658) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3674) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3643) -> q_gen_3643 (q_gen_3645, q_gen_3644) -> q_gen_3643 (q_gen_3645, q_gen_3673) -> q_gen_3643 (q_gen_3659, q_gen_3658) -> q_gen_3643 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3660, q_gen_3638) -> q_gen_3674 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3692) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3694) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670, q_gen_3671, q_gen_3699}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3699) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3671) -> q_gen_3670 (q_gen_3636) -> q_gen_3671 (q_gen_3670) -> q_gen_3699 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 32 () -> length([nil, z]) -> 32 () -> leq([z, s(nn2)]) -> 32 () -> leq([z, z]) -> 32 () -> reverse([nil, nil]) -> 32 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 34 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 34 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 32 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 34 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 34 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 32 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 35 (leq([s(nn1), z])) -> BOT -> 33 } Sat witness: Found: ((leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]), { nn1 -> s(s(s(z))) ; nn2 -> s(s(z)) }) ------------------------------------------- Step 63, which took 0.324629 s (model generation: 0.323454, model checking: 0.001175): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3658) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3660, q_gen_3674) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3692) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3694) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3663, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3698, q_gen_3704}, Q_f={q_gen_3633, q_gen_3652, q_gen_3698}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3704 (q_gen_3663, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3704, q_gen_3677) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3663 () -> q_gen_3663 () -> q_gen_3663 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3698) -> q_gen_3675 (q_gen_3663, q_gen_3652) -> q_gen_3675 (q_gen_3663, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3698 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 32 () -> length([nil, z]) -> 32 () -> leq([z, s(nn2)]) -> 32 () -> leq([z, z]) -> 32 () -> reverse([nil, nil]) -> 32 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 34 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 34 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 35 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 34 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 34 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 33 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 35 (leq([s(nn1), z])) -> BOT -> 33 } Sat witness: Found: ((length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]), { _no -> s(s(z)) ; _oo -> cons(b, nil) ; _po -> s(z) ; l1 -> cons(b, cons(a, nil)) }) ------------------------------------------- Step 64, which took 0.245827 s (model generation: 0.242566, model checking: 0.003261): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3643, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638, q_gen_3643}, Delta= { (q_gen_3659, q_gen_3658) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3643) -> q_gen_3643 (q_gen_3660, q_gen_3674) -> q_gen_3643 (q_gen_3645, q_gen_3644) -> q_gen_3643 (q_gen_3645, q_gen_3673) -> q_gen_3643 (q_gen_3659, q_gen_3658) -> q_gen_3643 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3660, q_gen_3638) -> q_gen_3674 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3692) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3694) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3663, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3698}, Q_f={q_gen_3633, q_gen_3652, q_gen_3698}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3663, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3663, q_gen_3652) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3663 () -> q_gen_3663 () -> q_gen_3663 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3698) -> q_gen_3675 (q_gen_3663, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3698 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 33 () -> length([nil, z]) -> 33 () -> leq([z, s(nn2)]) -> 33 () -> leq([z, z]) -> 33 () -> reverse([nil, nil]) -> 33 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 34 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 34 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 35 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 37 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 35 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 34 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 35 (leq([s(nn1), z])) -> BOT -> 34 } Sat witness: Found: ((length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]), { _qo -> cons(b, cons(b, cons(a, nil))) ; _ro -> s(s(s(z))) ; _so -> s(s(z)) ; l1 -> cons(b, cons(b, cons(b, nil))) }) ------------------------------------------- Step 65, which took 0.249517 s (model generation: 0.248792, model checking: 0.000725): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3649, q_gen_3650, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3661}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3658) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3649) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 (q_gen_3650, q_gen_3644) -> q_gen_3649 (q_gen_3659, q_gen_3658) -> q_gen_3649 () -> q_gen_3650 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3649) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3650, q_gen_3649) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3660, q_gen_3661) -> q_gen_3661 (q_gen_3645, q_gen_3649) -> q_gen_3661 (q_gen_3650, q_gen_3644) -> q_gen_3661 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3662, q_gen_3663, q_gen_3677, q_gen_3678, q_gen_3698}, Q_f={q_gen_3633, q_gen_3652, q_gen_3698}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3663, q_gen_3652) -> q_gen_3652 () -> q_gen_3653 (q_gen_3653, q_gen_3662) -> q_gen_3662 (q_gen_3653, q_gen_3698) -> q_gen_3662 (q_gen_3663, q_gen_3633) -> q_gen_3662 (q_gen_3663, q_gen_3662) -> q_gen_3662 (q_gen_3678, q_gen_3677) -> q_gen_3662 (q_gen_3678, q_gen_3677) -> q_gen_3662 () -> q_gen_3663 () -> q_gen_3663 () -> q_gen_3663 (q_gen_3653, q_gen_3652) -> q_gen_3698 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 36 () -> length([nil, z]) -> 34 () -> leq([z, s(nn2)]) -> 34 () -> leq([z, z]) -> 34 () -> reverse([nil, nil]) -> 34 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 34 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 34 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 35 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 37 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 35 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 34 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 35 (leq([s(nn1), z])) -> BOT -> 34 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> cons(b, cons(a, nil)) }) ------------------------------------------- Step 66, which took 0.256070 s (model generation: 0.245734, model checking: 0.010336): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3643, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638, q_gen_3643}, Delta= { (q_gen_3659, q_gen_3658) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3674) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3643) -> q_gen_3643 (q_gen_3645, q_gen_3644) -> q_gen_3643 (q_gen_3645, q_gen_3673) -> q_gen_3643 (q_gen_3659, q_gen_3658) -> q_gen_3643 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3660, q_gen_3638) -> q_gen_3674 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3642, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3692) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3694) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3663, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3698}, Q_f={q_gen_3633, q_gen_3652, q_gen_3698}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3663, q_gen_3633) -> q_gen_3633 (q_gen_3663, q_gen_3698) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3663 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3698) -> q_gen_3675 (q_gen_3663, q_gen_3652) -> q_gen_3675 (q_gen_3663, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3698 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 36 () -> length([nil, z]) -> 34 () -> leq([z, s(nn2)]) -> 34 () -> leq([z, z]) -> 34 () -> reverse([nil, nil]) -> 34 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 34 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 37 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 35 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 37 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 35 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 35 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 35 (leq([s(nn1), z])) -> BOT -> 35 } Sat witness: Found: ((append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]), { _zn -> cons(a, cons(a, cons(a, nil))) ; h1 -> a ; l2 -> cons(a, cons(a, cons(a, nil))) ; t1 -> nil }) ------------------------------------------- Step 67, which took 0.302400 s (model generation: 0.301680, model checking: 0.000720): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3643, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638, q_gen_3643}, Delta= { (q_gen_3659, q_gen_3658) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3674) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3643) -> q_gen_3643 (q_gen_3645, q_gen_3644) -> q_gen_3643 (q_gen_3645, q_gen_3673) -> q_gen_3643 (q_gen_3659, q_gen_3658) -> q_gen_3643 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3660, q_gen_3638) -> q_gen_3674 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3707, q_gen_3708, q_gen_3716}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3716, q_gen_3641) -> q_gen_3665 (q_gen_3716, q_gen_3665) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3708) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 () -> q_gen_3716 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3694) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3641) -> q_gen_3669 (q_gen_3707, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3692) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3708) -> q_gen_3707 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 36 () -> length([nil, z]) -> 34 () -> leq([z, s(nn2)]) -> 34 () -> leq([z, z]) -> 34 () -> reverse([nil, nil]) -> 34 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 37 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 37 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 35 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 37 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 35 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 35 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 35 (leq([s(nn1), z])) -> BOT -> 35 } Sat witness: Found: ((append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]), { _eo -> cons(b, nil) ; _fo -> cons(b, cons(b, cons(b, nil))) ; h1 -> b ; t1 -> cons(b, nil) }) ------------------------------------------- Step 68, which took 0.334258 s (model generation: 0.326451, model checking: 0.007807): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3751) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3707, q_gen_3708, q_gen_3734}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 (q_gen_3708) -> q_gen_3708 (q_gen_3666, q_gen_3692) -> q_gen_3734 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 (q_gen_3707, q_gen_3734) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3641) -> q_gen_3669 (q_gen_3707, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3692) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 (q_gen_3708) -> q_gen_3707 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 36 () -> length([nil, z]) -> 35 () -> leq([z, s(nn2)]) -> 35 () -> leq([z, z]) -> 35 () -> reverse([nil, nil]) -> 35 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 37 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 37 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 35 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 37 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 38 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 36 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 36 (leq([s(nn1), z])) -> BOT -> 36 } Sat witness: Found: ((length([ll, _jo])) -> length([cons(x, ll), s(_jo)]), { _jo -> s(s(s(s(z)))) ; ll -> cons(b, cons(b, cons(b, cons(b, nil)))) ; x -> b }) ------------------------------------------- Step 69, which took 0.297560 s (model generation: 0.294602, model checking: 0.002958): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3659, q_gen_3751) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3708}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3692) -> q_gen_3641 () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3708) -> q_gen_3668 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 (q_gen_3708) -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3647, q_gen_3670, q_gen_3723}, Q_f={q_gen_3634}, Delta= { () -> q_gen_3636 (q_gen_3636) -> q_gen_3647 (q_gen_3647) -> q_gen_3723 (q_gen_3634) -> q_gen_3634 (q_gen_3723) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 (q_gen_3647) -> q_gen_3634 (q_gen_3723) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 (q_gen_3647) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 36 () -> length([nil, z]) -> 35 () -> leq([z, s(nn2)]) -> 35 () -> leq([z, z]) -> 35 () -> reverse([nil, nil]) -> 35 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 37 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 37 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 38 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 37 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 38 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 36 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 36 (leq([s(nn1), z])) -> BOT -> 36 } Sat witness: Found: ((length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]), { _no -> s(z) ; _oo -> cons(b, nil) ; _po -> s(s(s(s(s(s(s(z))))))) ; l1 -> cons(a, nil) }) ------------------------------------------- Step 70, which took 0.369976 s (model generation: 0.366591, model checking: 0.003385): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3658) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3660, q_gen_3674) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3676, q_gen_3677, q_gen_3678, q_gen_3684, q_gen_3689}, Q_f={q_gen_3633, q_gen_3652, q_gen_3684}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3675) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3689, q_gen_3675) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3676) -> q_gen_3675 (q_gen_3653, q_gen_3684) -> q_gen_3675 (q_gen_3689, q_gen_3633) -> q_gen_3675 (q_gen_3689, q_gen_3676) -> q_gen_3676 (q_gen_3678, q_gen_3677) -> q_gen_3676 (q_gen_3678, q_gen_3677) -> q_gen_3676 (q_gen_3653, q_gen_3652) -> q_gen_3684 () -> q_gen_3689 () -> q_gen_3689 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 37 () -> length([nil, z]) -> 36 () -> leq([z, s(nn2)]) -> 36 () -> leq([z, z]) -> 36 () -> reverse([nil, nil]) -> 36 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 37 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 37 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 38 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 40 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 38 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 37 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 37 (leq([s(nn1), z])) -> BOT -> 37 } Sat witness: Found: ((length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]), { _qo -> cons(b, cons(b, cons(b, cons(b, nil)))) ; _ro -> s(s(s(s(z)))) ; _so -> s(s(s(z))) ; l1 -> cons(b, cons(b, cons(b, cons(b, cons(b, nil))))) }) ------------------------------------------- Step 71, which took 0.420683 s (model generation: 0.413597, model checking: 0.007086): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3751) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3707, q_gen_3708, q_gen_3716}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3692) -> q_gen_3665 (q_gen_3716, q_gen_3665) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3716, q_gen_3641) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 (q_gen_3708) -> q_gen_3708 () -> q_gen_3716 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3642, q_gen_3692) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3692) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3694) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3641) -> q_gen_3669 (q_gen_3707, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3692) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3708) -> q_gen_3707 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 37 () -> length([nil, z]) -> 37 () -> leq([z, s(nn2)]) -> 37 () -> leq([z, z]) -> 37 () -> reverse([nil, nil]) -> 37 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 37 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 40 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 38 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 40 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 38 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 38 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 38 (leq([s(nn1), z])) -> BOT -> 38 } Sat witness: Found: ((append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]), { _zn -> cons(b, cons(b, nil)) ; h1 -> b ; l2 -> nil ; t1 -> nil }) ------------------------------------------- Step 72, which took 0.431276 s (model generation: 0.429215, model checking: 0.002061): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3751) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3692) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3694) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3663, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3698}, Q_f={q_gen_3633, q_gen_3652, q_gen_3698}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3663, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3663 () -> q_gen_3663 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3698) -> q_gen_3675 (q_gen_3663, q_gen_3652) -> q_gen_3675 (q_gen_3663, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3698 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 37 () -> length([nil, z]) -> 37 () -> leq([z, s(nn2)]) -> 37 () -> leq([z, z]) -> 37 () -> reverse([nil, nil]) -> 37 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 40 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 40 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 38 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 40 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 38 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 38 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 38 (leq([s(nn1), z])) -> BOT -> 38 } Sat witness: Found: ((append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]), { _eo -> cons(a, cons(b, nil)) ; _fo -> cons(a, cons(b, cons(b, nil))) ; h1 -> b ; t1 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 73, which took 0.476298 s (model generation: 0.471656, model checking: 0.004642): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3658) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3645, q_gen_3673) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3660, q_gen_3674) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3676, q_gen_3677, q_gen_3678, q_gen_3684, q_gen_3689}, Q_f={q_gen_3633, q_gen_3652, q_gen_3684}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3689, q_gen_3675) -> q_gen_3633 (q_gen_3689, q_gen_3684) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3653, q_gen_3675) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3676) -> q_gen_3675 (q_gen_3653, q_gen_3684) -> q_gen_3675 (q_gen_3689, q_gen_3633) -> q_gen_3675 (q_gen_3689, q_gen_3652) -> q_gen_3676 (q_gen_3689, q_gen_3676) -> q_gen_3676 (q_gen_3678, q_gen_3677) -> q_gen_3676 (q_gen_3678, q_gen_3677) -> q_gen_3676 (q_gen_3653, q_gen_3652) -> q_gen_3684 () -> q_gen_3689 () -> q_gen_3689 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 38 () -> length([nil, z]) -> 38 () -> leq([z, s(nn2)]) -> 38 () -> leq([z, z]) -> 38 () -> reverse([nil, nil]) -> 38 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 40 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 40 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 41 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 40 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 39 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 39 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 39 (leq([s(nn1), z])) -> BOT -> 39 } Sat witness: Found: ((length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]), { _no -> s(s(s(s(z)))) ; _oo -> cons(b, cons(b, cons(b, cons(a, nil)))) ; _po -> s(s(s(z))) ; l1 -> cons(b, cons(b, cons(a, cons(b, nil)))) }) ------------------------------------------- Step 74, which took 0.502672 s (model generation: 0.497266, model checking: 0.005406): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3658) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3660, q_gen_3674) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3676, q_gen_3677, q_gen_3678, q_gen_3684, q_gen_3689}, Q_f={q_gen_3633, q_gen_3652, q_gen_3684}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3689, q_gen_3652) -> q_gen_3633 (q_gen_3689, q_gen_3684) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3653, q_gen_3675) -> q_gen_3652 (q_gen_3689, q_gen_3675) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3676) -> q_gen_3675 (q_gen_3653, q_gen_3684) -> q_gen_3675 (q_gen_3689, q_gen_3633) -> q_gen_3675 (q_gen_3689, q_gen_3676) -> q_gen_3676 (q_gen_3678, q_gen_3677) -> q_gen_3676 (q_gen_3678, q_gen_3677) -> q_gen_3676 (q_gen_3653, q_gen_3652) -> q_gen_3684 () -> q_gen_3689 () -> q_gen_3689 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 39 () -> length([nil, z]) -> 39 () -> leq([z, s(nn2)]) -> 39 () -> leq([z, z]) -> 39 () -> reverse([nil, nil]) -> 39 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 40 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 40 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 41 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 43 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 40 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 40 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 40 (leq([s(nn1), z])) -> BOT -> 40 } Sat witness: Found: ((length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]), { _qo -> cons(b, cons(b, cons(b, cons(b, nil)))) ; _ro -> s(s(s(s(z)))) ; _so -> s(s(s(z))) ; l1 -> cons(b, cons(b, cons(a, cons(b, nil)))) }) ------------------------------------------- Step 75, which took 0.878671 s (model generation: 0.875766, model checking: 0.002905): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3751) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3642, q_gen_3692) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3663, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3698}, Q_f={q_gen_3633, q_gen_3652, q_gen_3698}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3663, q_gen_3652) -> q_gen_3633 (q_gen_3663, q_gen_3698) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3663, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3663 () -> q_gen_3663 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3698) -> q_gen_3675 (q_gen_3663, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3698 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 40 () -> length([nil, z]) -> 40 () -> leq([z, s(nn2)]) -> 40 () -> leq([z, z]) -> 40 () -> reverse([nil, nil]) -> 40 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 40 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 40 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 41 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 43 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 43 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 41 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 41 (leq([s(nn1), z])) -> BOT -> 41 } Sat witness: Found: ((length([ll, _jo])) -> length([cons(x, ll), s(_jo)]), { _jo -> s(z) ; ll -> cons(b, cons(a, cons(b, nil))) ; x -> b }) ------------------------------------------- Step 76, which took 0.745998 s (model generation: 0.730683, model checking: 0.015315): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3751) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3684, q_gen_3689}, Q_f={q_gen_3633, q_gen_3652, q_gen_3684}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3689, q_gen_3633) -> q_gen_3652 (q_gen_3689, q_gen_3652) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3684) -> q_gen_3675 (q_gen_3689, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3684 (q_gen_3689, q_gen_3684) -> q_gen_3684 () -> q_gen_3689 () -> q_gen_3689 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 40 () -> length([nil, z]) -> 40 () -> leq([z, s(nn2)]) -> 40 () -> leq([z, z]) -> 40 () -> reverse([nil, nil]) -> 40 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 40 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 43 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 41 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 43 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 43 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 41 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 41 (leq([s(nn1), z])) -> BOT -> 41 } Sat witness: Found: ((append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]), { _zn -> cons(a, cons(b, nil)) ; h1 -> a ; l2 -> cons(a, cons(b, nil)) ; t1 -> nil }) ------------------------------------------- Step 77, which took 0.857708 s (model generation: 0.855984, model checking: 0.001724): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3659, q_gen_3751) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3642, q_gen_3692) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3692) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3694) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3663, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3698}, Q_f={q_gen_3633, q_gen_3652, q_gen_3698}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3663, q_gen_3652) -> q_gen_3633 (q_gen_3663, q_gen_3698) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3663, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3663 () -> q_gen_3663 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3698) -> q_gen_3675 (q_gen_3663, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3698 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 40 () -> length([nil, z]) -> 40 () -> leq([z, s(nn2)]) -> 40 () -> leq([z, z]) -> 40 () -> reverse([nil, nil]) -> 40 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 43 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 43 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 41 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 43 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 43 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 41 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 41 (leq([s(nn1), z])) -> BOT -> 41 } Sat witness: Found: ((append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]), { _eo -> cons(b, cons(b, nil)) ; _fo -> cons(b, cons(b, cons(a, nil))) ; h1 -> a ; t1 -> cons(a, cons(b, nil)) }) ------------------------------------------- Step 78, which took 1.706112 s (model generation: 1.703217, model checking: 0.002895): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3659, q_gen_3751) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3707, q_gen_3708, q_gen_3734}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3708) -> q_gen_3668 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 (q_gen_3666, q_gen_3692) -> q_gen_3734 (q_gen_3666, q_gen_3734) -> q_gen_3734 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3734) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 (q_gen_3707, q_gen_3734) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3693, q_gen_3734) -> q_gen_3669 (q_gen_3707, q_gen_3641) -> q_gen_3669 (q_gen_3707, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3692) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 (q_gen_3708) -> q_gen_3707 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 41 () -> length([nil, z]) -> 41 () -> leq([z, s(nn2)]) -> 41 () -> leq([z, z]) -> 41 () -> reverse([nil, nil]) -> 41 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 43 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 43 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 44 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 43 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 43 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 42 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 42 (leq([s(nn1), z])) -> BOT -> 42 } Sat witness: Found: ((length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]), { _no -> s(s(s(s(s(z))))) ; _oo -> cons(b, cons(b, cons(b, cons(b, nil)))) ; _po -> s(s(z)) ; l1 -> cons(b, cons(b, cons(b, cons(b, nil)))) }) ------------------------------------------- Step 79, which took 0.985928 s (model generation: 0.979250, model checking: 0.006678): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3659, q_gen_3751) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3707, q_gen_3708, q_gen_3716}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3692) -> q_gen_3665 (q_gen_3716, q_gen_3665) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3716, q_gen_3641) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3708) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 () -> q_gen_3716 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3642, q_gen_3692) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3692) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3694) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3641) -> q_gen_3669 (q_gen_3707, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3692) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3708) -> q_gen_3707 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 42 () -> length([nil, z]) -> 42 () -> leq([z, s(nn2)]) -> 42 () -> leq([z, z]) -> 42 () -> reverse([nil, nil]) -> 42 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 43 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 43 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 44 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 43 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 46 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 43 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 43 (leq([s(nn1), z])) -> BOT -> 43 } Sat witness: Found: ((length([ll, _jo])) -> length([cons(x, ll), s(_jo)]), { _jo -> s(s(s(z))) ; ll -> cons(b, cons(b, cons(a, cons(b, nil)))) ; x -> b }) ------------------------------------------- Step 80, which took 1.095852 s (model generation: 1.092455, model checking: 0.003397): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3658) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3638) -> q_gen_3638 (q_gen_3660, q_gen_3674) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3673) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3658) -> q_gen_3638 () -> q_gen_3638 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3676, q_gen_3677, q_gen_3678, q_gen_3684, q_gen_3689}, Q_f={q_gen_3633, q_gen_3652, q_gen_3684}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3689, q_gen_3684) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3689, q_gen_3675) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3676) -> q_gen_3675 (q_gen_3689, q_gen_3633) -> q_gen_3675 (q_gen_3689, q_gen_3652) -> q_gen_3675 (q_gen_3653, q_gen_3684) -> q_gen_3676 (q_gen_3689, q_gen_3676) -> q_gen_3676 (q_gen_3678, q_gen_3677) -> q_gen_3676 (q_gen_3678, q_gen_3677) -> q_gen_3676 (q_gen_3653, q_gen_3652) -> q_gen_3684 (q_gen_3653, q_gen_3675) -> q_gen_3684 () -> q_gen_3689 () -> q_gen_3689 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 43 () -> length([nil, z]) -> 43 () -> leq([z, s(nn2)]) -> 43 () -> leq([z, z]) -> 43 () -> reverse([nil, nil]) -> 43 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 43 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 43 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 44 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 46 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 46 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 44 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 44 (leq([s(nn1), z])) -> BOT -> 44 } Sat witness: Found: ((length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]), { _qo -> cons(b, cons(b, cons(b, nil))) ; _ro -> s(s(s(z))) ; _so -> s(s(z)) ; l1 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 81, which took 0.833122 s (model generation: 0.809943, model checking: 0.023179): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3751) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3663, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3698}, Q_f={q_gen_3633, q_gen_3652, q_gen_3698}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3663, q_gen_3698) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3663, q_gen_3633) -> q_gen_3652 (q_gen_3663, q_gen_3652) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3663 () -> q_gen_3663 () -> q_gen_3663 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3698) -> q_gen_3675 (q_gen_3663, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3698 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 43 () -> length([nil, z]) -> 43 () -> leq([z, s(nn2)]) -> 43 () -> leq([z, z]) -> 43 () -> reverse([nil, nil]) -> 43 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 43 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 46 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 44 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 46 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 46 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 44 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 44 (leq([s(nn1), z])) -> BOT -> 44 } Sat witness: Found: ((append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]), { _zn -> cons(b, cons(a, nil)) ; h1 -> b ; l2 -> cons(b, cons(a, nil)) ; t1 -> nil }) ------------------------------------------- Step 82, which took 1.551977 s (model generation: 1.550064, model checking: 0.001913): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3659, q_gen_3751) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3692) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3694) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3684, q_gen_3689}, Q_f={q_gen_3633, q_gen_3652, q_gen_3684}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3689, q_gen_3684) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3689, q_gen_3633) -> q_gen_3652 (q_gen_3689, q_gen_3652) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3684) -> q_gen_3675 (q_gen_3689, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3684 () -> q_gen_3689 () -> q_gen_3689 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 43 () -> length([nil, z]) -> 43 () -> leq([z, s(nn2)]) -> 43 () -> leq([z, z]) -> 43 () -> reverse([nil, nil]) -> 43 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 46 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 46 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 44 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 46 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 46 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 44 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 44 (leq([s(nn1), z])) -> BOT -> 44 } Sat witness: Found: ((append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]), { _eo -> cons(a, cons(b, nil)) ; _fo -> cons(a, cons(a, cons(b, nil))) ; h1 -> a ; t1 -> cons(a, cons(b, nil)) }) ------------------------------------------- Step 83, which took 0.922198 s (model generation: 0.919287, model checking: 0.002911): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3659, q_gen_3751) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3707, q_gen_3708, q_gen_3734}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3734) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3708) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 (q_gen_3666, q_gen_3692) -> q_gen_3734 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3734) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 (q_gen_3707, q_gen_3734) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3693, q_gen_3734) -> q_gen_3669 (q_gen_3707, q_gen_3641) -> q_gen_3669 (q_gen_3707, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3692) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 (q_gen_3708) -> q_gen_3707 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 44 () -> length([nil, z]) -> 44 () -> leq([z, s(nn2)]) -> 44 () -> leq([z, z]) -> 44 () -> reverse([nil, nil]) -> 44 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 46 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 46 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 47 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 46 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 46 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 45 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 45 (leq([s(nn1), z])) -> BOT -> 45 } Sat witness: Found: ((length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]), { _no -> s(s(s(s(z)))) ; _oo -> cons(b, cons(b, cons(b, cons(b, nil)))) ; _po -> s(s(z)) ; l1 -> cons(b, cons(b, cons(b, cons(b, nil)))) }) ------------------------------------------- Step 84, which took 4.261044 s (model generation: 4.254477, model checking: 0.006567): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3659, q_gen_3751) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3707, q_gen_3708, q_gen_3734}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3734) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3708) -> q_gen_3668 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 (q_gen_3666, q_gen_3692) -> q_gen_3734 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 (q_gen_3707, q_gen_3734) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3734) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3693, q_gen_3734) -> q_gen_3669 (q_gen_3707, q_gen_3641) -> q_gen_3669 (q_gen_3707, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3692) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 (q_gen_3708) -> q_gen_3707 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 45 () -> length([nil, z]) -> 45 () -> leq([z, s(nn2)]) -> 45 () -> leq([z, z]) -> 45 () -> reverse([nil, nil]) -> 45 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 46 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 46 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 47 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 46 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 49 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 46 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 46 (leq([s(nn1), z])) -> BOT -> 46 } Sat witness: Found: ((length([ll, _jo])) -> length([cons(x, ll), s(_jo)]), { _jo -> s(s(s(z))) ; ll -> cons(a, cons(a, cons(b, nil))) ; x -> a }) ------------------------------------------- Step 85, which took 0.965157 s (model generation: 0.962541, model checking: 0.002616): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3659, q_gen_3751) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3707, q_gen_3708, q_gen_3734}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 (q_gen_3708) -> q_gen_3708 (q_gen_3666, q_gen_3692) -> q_gen_3734 (q_gen_3666, q_gen_3734) -> q_gen_3734 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 (q_gen_3707, q_gen_3734) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3734) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3693, q_gen_3734) -> q_gen_3669 (q_gen_3707, q_gen_3641) -> q_gen_3669 (q_gen_3707, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3692) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 (q_gen_3708) -> q_gen_3707 (q_gen_3708) -> q_gen_3707 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 46 () -> length([nil, z]) -> 46 () -> leq([z, s(nn2)]) -> 46 () -> leq([z, z]) -> 46 () -> reverse([nil, nil]) -> 46 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 46 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 46 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 47 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 49 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 49 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 47 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 47 (leq([s(nn1), z])) -> BOT -> 47 } Sat witness: Found: ((length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]), { _qo -> cons(b, cons(b, cons(b, cons(b, nil)))) ; _ro -> s(s(s(s(s(z))))) ; _so -> s(s(s(s(z)))) ; l1 -> cons(b, cons(b, cons(b, cons(b, nil)))) }) ------------------------------------------- Step 86, which took 1.036667 s (model generation: 1.008511, model checking: 0.028156): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3751) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3663, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3698}, Q_f={q_gen_3633, q_gen_3652, q_gen_3698}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3663, q_gen_3633) -> q_gen_3633 (q_gen_3663, q_gen_3652) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3663 () -> q_gen_3663 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3698) -> q_gen_3675 (q_gen_3663, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3698 (q_gen_3663, q_gen_3698) -> q_gen_3698 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 46 () -> length([nil, z]) -> 46 () -> leq([z, s(nn2)]) -> 46 () -> leq([z, z]) -> 46 () -> reverse([nil, nil]) -> 46 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 49 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 47 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 47 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 49 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 49 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 47 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 47 (leq([s(nn1), z])) -> BOT -> 47 } Sat witness: Found: ((append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]), { _eo -> cons(b, cons(b, nil)) ; _fo -> cons(b, cons(b, cons(b, nil))) ; h1 -> a ; t1 -> cons(a, cons(b, nil)) }) ------------------------------------------- Step 87, which took 2.869112 s (model generation: 2.867042, model checking: 0.002070): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3659, q_gen_3751) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3707, q_gen_3708, q_gen_3734}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3734) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3708) -> q_gen_3668 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 (q_gen_3666, q_gen_3692) -> q_gen_3734 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 (q_gen_3707, q_gen_3734) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3734) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3693, q_gen_3734) -> q_gen_3669 (q_gen_3707, q_gen_3641) -> q_gen_3669 (q_gen_3707, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3692) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 (q_gen_3708) -> q_gen_3707 (q_gen_3708) -> q_gen_3707 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 47 () -> length([nil, z]) -> 47 () -> leq([z, s(nn2)]) -> 47 () -> leq([z, z]) -> 47 () -> reverse([nil, nil]) -> 47 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 49 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 47 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 50 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 49 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 49 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 48 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 48 (leq([s(nn1), z])) -> BOT -> 48 } Sat witness: Found: ((length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]), { _no -> s(s(s(s(s(z))))) ; _oo -> cons(b, cons(b, nil)) ; _po -> s(s(z)) ; l1 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 88, which took 2.135142 s (model generation: 2.130556, model checking: 0.004586): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3659, q_gen_3751) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3692) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3694) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3663, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3698}, Q_f={q_gen_3633, q_gen_3652, q_gen_3698}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3663, q_gen_3633) -> q_gen_3652 (q_gen_3663, q_gen_3652) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3663 () -> q_gen_3663 () -> q_gen_3663 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3698) -> q_gen_3675 (q_gen_3663, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3698 (q_gen_3663, q_gen_3698) -> q_gen_3698 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 47 () -> length([nil, z]) -> 47 () -> leq([z, s(nn2)]) -> 47 () -> leq([z, z]) -> 47 () -> reverse([nil, nil]) -> 47 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 49 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 50 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 50 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 49 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 49 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 48 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 48 (leq([s(nn1), z])) -> BOT -> 48 } Sat witness: Found: ((append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]), { _zn -> cons(b, cons(b, cons(b, nil))) ; h1 -> a ; l2 -> cons(b, nil) ; t1 -> nil }) ------------------------------------------- Step 89, which took 2.827506 s (model generation: 2.824365, model checking: 0.003141): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3751) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3707, q_gen_3708, q_gen_3734}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3734) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3708) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 (q_gen_3666, q_gen_3692) -> q_gen_3734 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3642, q_gen_3734) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 (q_gen_3707, q_gen_3734) -> q_gen_3637 () -> q_gen_3637 (q_gen_3708) -> q_gen_3642 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3734) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3693, q_gen_3734) -> q_gen_3669 (q_gen_3707, q_gen_3641) -> q_gen_3669 (q_gen_3707, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3692) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 (q_gen_3708) -> q_gen_3707 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 48 () -> length([nil, z]) -> 48 () -> leq([z, s(nn2)]) -> 48 () -> leq([z, z]) -> 48 () -> reverse([nil, nil]) -> 48 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 49 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 50 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 50 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 49 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 52 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 49 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 49 (leq([s(nn1), z])) -> BOT -> 49 } Sat witness: Found: ((length([ll, _jo])) -> length([cons(x, ll), s(_jo)]), { _jo -> s(s(s(s(z)))) ; ll -> cons(a, nil) ; x -> a }) ------------------------------------------- Step 90, which took 2.156382 s (model generation: 2.154449, model checking: 0.001933): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3751) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3692) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3694) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3663, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3698}, Q_f={q_gen_3633, q_gen_3652, q_gen_3698}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3663, q_gen_3698) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3663, q_gen_3633) -> q_gen_3652 (q_gen_3663, q_gen_3652) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3663 () -> q_gen_3663 () -> q_gen_3663 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3698) -> q_gen_3675 (q_gen_3663, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3698 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 49 () -> length([nil, z]) -> 49 () -> leq([z, s(nn2)]) -> 49 () -> leq([z, z]) -> 49 () -> reverse([nil, nil]) -> 49 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 49 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 50 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 50 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 52 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 52 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 50 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 50 (leq([s(nn1), z])) -> BOT -> 50 } Sat witness: Found: ((length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]), { _qo -> cons(b, cons(a, cons(b, nil))) ; _ro -> s(s(s(z))) ; _so -> s(s(z)) ; l1 -> cons(b, cons(b, cons(b, nil))) }) ------------------------------------------- Step 91, which took 2.442104 s (model generation: 2.440917, model checking: 0.001187): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3751) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3663, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3698}, Q_f={q_gen_3633, q_gen_3652, q_gen_3698}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3663, q_gen_3698) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3663, q_gen_3633) -> q_gen_3652 (q_gen_3663, q_gen_3652) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3663 () -> q_gen_3663 () -> q_gen_3663 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3653, q_gen_3698) -> q_gen_3675 (q_gen_3663, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3653, q_gen_3652) -> q_gen_3698 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 49 () -> length([nil, z]) -> 49 () -> leq([z, s(nn2)]) -> 49 () -> leq([z, z]) -> 49 () -> reverse([nil, nil]) -> 49 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 52 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 50 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 50 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 52 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 52 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 50 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 50 (leq([s(nn1), z])) -> BOT -> 50 } Sat witness: Found: ((append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]), { _eo -> cons(b, cons(b, nil)) ; _fo -> cons(b, cons(b, cons(b, nil))) ; h1 -> b ; t1 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 92, which took 2.809046 s (model generation: 2.808160, model checking: 0.000886): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3751) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3708}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3692) -> q_gen_3641 () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3708) -> q_gen_3668 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 (q_gen_3708) -> q_gen_3642 () -> q_gen_3642 (q_gen_3708) -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3647, q_gen_3670, q_gen_3723}, Q_f={q_gen_3634}, Delta= { () -> q_gen_3636 (q_gen_3636) -> q_gen_3647 (q_gen_3723) -> q_gen_3647 (q_gen_3647) -> q_gen_3723 (q_gen_3634) -> q_gen_3634 (q_gen_3723) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 (q_gen_3647) -> q_gen_3634 (q_gen_3723) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 (q_gen_3647) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 50 () -> length([nil, z]) -> 50 () -> leq([z, s(nn2)]) -> 50 () -> leq([z, z]) -> 50 () -> reverse([nil, nil]) -> 50 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 52 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 50 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 50 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 52 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 52 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 50 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 50 (leq([s(nn1), z])) -> BOT -> 53 } Sat witness: Found: ((leq([s(nn1), z])) -> BOT, { nn1 -> s(s(z)) }) ------------------------------------------- Step 93, which took 1.326015 s (model generation: 1.323080, model checking: 0.002935): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3751) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3707, q_gen_3708, q_gen_3734}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3734) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3708) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 (q_gen_3666, q_gen_3692) -> q_gen_3734 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 (q_gen_3707, q_gen_3734) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3734) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3693, q_gen_3734) -> q_gen_3669 (q_gen_3707, q_gen_3641) -> q_gen_3669 (q_gen_3707, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3692) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 (q_gen_3708) -> q_gen_3707 (q_gen_3708) -> q_gen_3707 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 50 () -> length([nil, z]) -> 50 () -> leq([z, s(nn2)]) -> 50 () -> leq([z, z]) -> 50 () -> reverse([nil, nil]) -> 50 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 52 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 50 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 53 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 52 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 52 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 51 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 51 (leq([s(nn1), z])) -> BOT -> 53 } Sat witness: Found: ((length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]), { _no -> s(s(s(s(s(z))))) ; _oo -> cons(b, cons(b, cons(b, nil))) ; _po -> s(s(s(z))) ; l1 -> cons(b, cons(b, cons(b, nil))) }) ------------------------------------------- Step 94, which took 1.573249 s (model generation: 1.546427, model checking: 0.026822): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3751) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3692) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3694) -> q_gen_3668 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3647, q_gen_3670, q_gen_3709, q_gen_3710}, Q_f={q_gen_3634}, Delta= { (q_gen_3647) -> q_gen_3636 () -> q_gen_3636 (q_gen_3636) -> q_gen_3647 (q_gen_3634) -> q_gen_3634 (q_gen_3709) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 (q_gen_3647) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 (q_gen_3710) -> q_gen_3709 (q_gen_3647) -> q_gen_3710 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 51 () -> length([nil, z]) -> 51 () -> leq([z, s(nn2)]) -> 51 () -> leq([z, z]) -> 51 () -> reverse([nil, nil]) -> 51 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 52 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 51 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 53 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 52 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 52 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 51 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 54 (leq([s(nn1), z])) -> BOT -> 53 } Sat witness: Found: ((leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]), { nn1 -> s(s(s(z))) ; nn2 -> s(z) }) ------------------------------------------- Step 95, which took 5.836063 s (model generation: 5.804568, model checking: 0.031495): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3657, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3751}, Q_f={q_gen_3638}, Delta= { (q_gen_3659, q_gen_3751) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 (q_gen_3659, q_gen_3751) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3660, q_gen_3657) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3638) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3645, q_gen_3673) -> q_gen_3657 (q_gen_3659, q_gen_3658) -> q_gen_3657 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3708}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3692) -> q_gen_3641 () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3666 (q_gen_3708) -> q_gen_3668 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 (q_gen_3708) -> q_gen_3642 () -> q_gen_3642 (q_gen_3708) -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3647, q_gen_3670, q_gen_3723, q_gen_3746}, Q_f={q_gen_3634}, Delta= { () -> q_gen_3636 (q_gen_3636) -> q_gen_3647 (q_gen_3647) -> q_gen_3723 (q_gen_3723) -> q_gen_3723 (q_gen_3634) -> q_gen_3634 (q_gen_3746) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 (q_gen_3647) -> q_gen_3634 (q_gen_3723) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 (q_gen_3647) -> q_gen_3670 (q_gen_3723) -> q_gen_3746 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 52 () -> length([nil, z]) -> 52 () -> leq([z, s(nn2)]) -> 52 () -> leq([z, z]) -> 52 () -> reverse([nil, nil]) -> 52 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 55 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 52 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 53 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 53 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 53 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 52 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 54 (leq([s(nn1), z])) -> BOT -> 53 } Sat witness: Found: ((append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]), { _eo -> nil ; _fo -> cons(b, cons(b, cons(b, nil))) ; h1 -> b ; t1 -> nil }) ------------------------------------------- Step 96, which took 1.375928 s (model generation: 1.374846, model checking: 0.001082): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3643, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674, q_gen_3751}, Q_f={q_gen_3638, q_gen_3643}, Delta= { (q_gen_3659, q_gen_3751) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3659, q_gen_3751) -> q_gen_3673 (q_gen_3660, q_gen_3643) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3674) -> q_gen_3643 (q_gen_3645, q_gen_3644) -> q_gen_3643 (q_gen_3645, q_gen_3673) -> q_gen_3643 (q_gen_3659, q_gen_3658) -> q_gen_3643 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3660, q_gen_3638) -> q_gen_3674 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3707, q_gen_3708, q_gen_3715, q_gen_3716}, Q_f={q_gen_3637}, Delta= { () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3715) -> q_gen_3665 (q_gen_3716, q_gen_3715) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3692) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 (q_gen_3708) -> q_gen_3708 (q_gen_3716, q_gen_3641) -> q_gen_3715 (q_gen_3716, q_gen_3665) -> q_gen_3715 () -> q_gen_3716 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3692) -> q_gen_3637 (q_gen_3667, q_gen_3715) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3694) -> q_gen_3667 (q_gen_3708) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3642, q_gen_3715) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3693, q_gen_3715) -> q_gen_3669 (q_gen_3707, q_gen_3641) -> q_gen_3669 (q_gen_3707, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3692) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3708) -> q_gen_3707 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { (q_gen_3678, q_gen_3677) -> q_gen_3677 () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 52 () -> length([nil, z]) -> 52 () -> leq([z, s(nn2)]) -> 52 () -> leq([z, z]) -> 52 () -> reverse([nil, nil]) -> 52 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 55 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 55 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 53 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 53 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 53 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 53 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 54 (leq([s(nn1), z])) -> BOT -> 53 } Sat witness: Found: ((append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]), { _zn -> cons(a, cons(a, nil)) ; h1 -> a ; l2 -> cons(a, cons(b, nil)) ; t1 -> cons(a, cons(a, nil)) }) ------------------------------------------- Step 97, which took 4.372084 s (model generation: 4.367128, model checking: 0.004956): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3643, q_gen_3644, q_gen_3645, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674, q_gen_3751}, Q_f={q_gen_3638, q_gen_3643}, Delta= { (q_gen_3659, q_gen_3751) -> q_gen_3658 () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3659, q_gen_3751) -> q_gen_3673 (q_gen_3660, q_gen_3674) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3643) -> q_gen_3643 (q_gen_3645, q_gen_3644) -> q_gen_3643 (q_gen_3645, q_gen_3673) -> q_gen_3643 (q_gen_3659, q_gen_3658) -> q_gen_3643 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3660, q_gen_3638) -> q_gen_3674 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3707, q_gen_3708, q_gen_3715, q_gen_3716}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3692) -> q_gen_3641 () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3715) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 (q_gen_3708) -> q_gen_3708 (q_gen_3716, q_gen_3641) -> q_gen_3715 (q_gen_3716, q_gen_3665) -> q_gen_3715 (q_gen_3716, q_gen_3715) -> q_gen_3715 () -> q_gen_3716 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3642, q_gen_3715) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3715) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 (q_gen_3707, q_gen_3715) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3708) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3693, q_gen_3715) -> q_gen_3669 (q_gen_3707, q_gen_3641) -> q_gen_3669 (q_gen_3707, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3692) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3694) -> q_gen_3707 (q_gen_3708) -> q_gen_3707 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { (q_gen_3678, q_gen_3677) -> q_gen_3677 () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 53 () -> length([nil, z]) -> 53 () -> leq([z, s(nn2)]) -> 53 () -> leq([z, z]) -> 53 () -> reverse([nil, nil]) -> 53 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 55 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 55 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 53 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 53 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 56 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 54 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 54 (leq([s(nn1), z])) -> BOT -> 54 } Sat witness: Found: ((length([ll, _jo])) -> length([cons(x, ll), s(_jo)]), { _jo -> s(s(s(s(z)))) ; ll -> cons(b, cons(a, nil)) ; x -> b }) ------------------------------------------- Step 98, which took 3.408501 s (model generation: 3.406585, model checking: 0.001916): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3644, q_gen_3645, q_gen_3648, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3673, q_gen_3674, q_gen_3751}, Q_f={q_gen_3638, q_gen_3648}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3659 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3659, q_gen_3751) -> q_gen_3751 (q_gen_3645, q_gen_3644) -> q_gen_3644 () -> q_gen_3644 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 () -> q_gen_3645 (q_gen_3645, q_gen_3673) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3659, q_gen_3751) -> q_gen_3673 (q_gen_3660, q_gen_3648) -> q_gen_3638 (q_gen_3645, q_gen_3644) -> q_gen_3638 (q_gen_3659, q_gen_3751) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3674) -> q_gen_3648 (q_gen_3645, q_gen_3673) -> q_gen_3648 (q_gen_3645, q_gen_3644) -> q_gen_3648 (q_gen_3659, q_gen_3658) -> q_gen_3648 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3660, q_gen_3638) -> q_gen_3674 (q_gen_3645, q_gen_3673) -> q_gen_3674 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3707, q_gen_3708, q_gen_3715, q_gen_3716}, Q_f={q_gen_3637}, Delta= { (q_gen_3666, q_gen_3692) -> q_gen_3641 () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3666, q_gen_3715) -> q_gen_3665 () -> q_gen_3666 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3716, q_gen_3715) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 (q_gen_3708) -> q_gen_3708 (q_gen_3716, q_gen_3641) -> q_gen_3715 (q_gen_3716, q_gen_3665) -> q_gen_3715 () -> q_gen_3716 (q_gen_3642, q_gen_3641) -> q_gen_3637 (q_gen_3667, q_gen_3665) -> q_gen_3637 (q_gen_3667, q_gen_3715) -> q_gen_3637 (q_gen_3693, q_gen_3692) -> q_gen_3637 () -> q_gen_3637 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3694) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3642, q_gen_3715) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3667, q_gen_3692) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3693, q_gen_3715) -> q_gen_3669 (q_gen_3707, q_gen_3641) -> q_gen_3669 (q_gen_3707, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3692) -> q_gen_3669 (q_gen_3707, q_gen_3715) -> q_gen_3669 (q_gen_3708) -> q_gen_3693 (q_gen_3694) -> q_gen_3693 (q_gen_3708) -> q_gen_3707 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3670}, Q_f={q_gen_3634}, Delta= { (q_gen_3636) -> q_gen_3636 () -> q_gen_3636 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3653, q_gen_3675, q_gen_3677, q_gen_3678}, Q_f={q_gen_3633}, Delta= { (q_gen_3678, q_gen_3677) -> q_gen_3677 () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3678 (q_gen_3653, q_gen_3633) -> q_gen_3633 () -> q_gen_3633 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 () -> q_gen_3653 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 53 () -> length([nil, z]) -> 53 () -> leq([z, s(nn2)]) -> 53 () -> leq([z, z]) -> 53 () -> reverse([nil, nil]) -> 53 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 55 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 55 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 53 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 56 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 56 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 54 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 54 (leq([s(nn1), z])) -> BOT -> 54 } Sat witness: Found: ((length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]), { _qo -> cons(b, cons(b, cons(b, cons(a, cons(a, nil))))) ; _ro -> s(s(z)) ; _so -> s(z) ; l1 -> cons(b, cons(b, cons(b, cons(b, cons(a, nil))))) }) ------------------------------------------- Step 99, which took 3.035995 s (model generation: 3.026662, model checking: 0.009333): Model: |_ { append -> {{{ Q={q_gen_3638, q_gen_3643, q_gen_3644, q_gen_3645, q_gen_3649, q_gen_3650, q_gen_3658, q_gen_3659, q_gen_3660, q_gen_3661, q_gen_3672, q_gen_3673, q_gen_3674, q_gen_3695, q_gen_3696, q_gen_3729, q_gen_3731, q_gen_3737, q_gen_3749, q_gen_3751, q_gen_3752, q_gen_3763, q_gen_3764, q_gen_3765, q_gen_3774, q_gen_3775, q_gen_3777, q_gen_3813, q_gen_3815, q_gen_3816, q_gen_3817, q_gen_3819, q_gen_3827}, Q_f={q_gen_3638, q_gen_3643, q_gen_3672, q_gen_3695, q_gen_3774, q_gen_3827}, Delta= { () -> q_gen_3658 () -> q_gen_3659 () -> q_gen_3731 (q_gen_3659, q_gen_3658) -> q_gen_3751 (q_gen_3659, q_gen_3751) -> q_gen_3751 () -> q_gen_3644 () -> q_gen_3645 (q_gen_3650, q_gen_3644) -> q_gen_3649 () -> q_gen_3650 (q_gen_3650, q_gen_3649) -> q_gen_3673 (q_gen_3650, q_gen_3764) -> q_gen_3673 (q_gen_3659, q_gen_3658) -> q_gen_3673 (q_gen_3645, q_gen_3644) -> q_gen_3696 (q_gen_3645, q_gen_3673) -> q_gen_3696 (q_gen_3659, q_gen_3751) -> q_gen_3696 (q_gen_3731, q_gen_3658) -> q_gen_3764 () -> q_gen_3817 () -> q_gen_3817 (q_gen_3660, q_gen_3672) -> q_gen_3638 (q_gen_3660, q_gen_3695) -> q_gen_3638 (q_gen_3737, q_gen_3763) -> q_gen_3638 () -> q_gen_3638 (q_gen_3660, q_gen_3643) -> q_gen_3643 (q_gen_3645, q_gen_3644) -> q_gen_3643 (q_gen_3645, q_gen_3644) -> q_gen_3643 (q_gen_3650, q_gen_3649) -> q_gen_3643 (q_gen_3659, q_gen_3658) -> q_gen_3643 () -> q_gen_3660 () -> q_gen_3660 () -> q_gen_3660 (q_gen_3650, q_gen_3644) -> q_gen_3661 (q_gen_3660, q_gen_3638) -> q_gen_3672 (q_gen_3645, q_gen_3673) -> q_gen_3672 (q_gen_3737, q_gen_3674) -> q_gen_3674 (q_gen_3737, q_gen_3749) -> q_gen_3674 (q_gen_3645, q_gen_3673) -> q_gen_3674 (q_gen_3731, q_gen_3658) -> q_gen_3674 (q_gen_3645, q_gen_3696) -> q_gen_3695 (q_gen_3660, q_gen_3674) -> q_gen_3729 () -> q_gen_3737 (q_gen_3660, q_gen_3749) -> q_gen_3749 (q_gen_3659, q_gen_3751) -> q_gen_3749 (q_gen_3660, q_gen_3752) -> q_gen_3752 (q_gen_3731, q_gen_3751) -> q_gen_3752 (q_gen_3650, q_gen_3764) -> q_gen_3763 (q_gen_3737, q_gen_3672) -> q_gen_3765 (q_gen_3645, q_gen_3649) -> q_gen_3774 (q_gen_3650, q_gen_3673) -> q_gen_3775 (q_gen_3737, q_gen_3775) -> q_gen_3777 (q_gen_3650, q_gen_3696) -> q_gen_3813 (q_gen_3737, q_gen_3816) -> q_gen_3815 (q_gen_3660, q_gen_3819) -> q_gen_3816 (q_gen_3817, q_gen_3673) -> q_gen_3816 (q_gen_3817, q_gen_3764) -> q_gen_3816 (q_gen_3660, q_gen_3827) -> q_gen_3819 (q_gen_3737, q_gen_3819) -> q_gen_3819 (q_gen_3645, q_gen_3764) -> q_gen_3819 (q_gen_3817, q_gen_3673) -> q_gen_3819 (q_gen_3645, q_gen_3696) -> q_gen_3819 (q_gen_3660, q_gen_3816) -> q_gen_3827 (q_gen_3650, q_gen_3644) -> q_gen_3827 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_3637, q_gen_3640, q_gen_3641, q_gen_3642, q_gen_3665, q_gen_3666, q_gen_3667, q_gen_3668, q_gen_3669, q_gen_3692, q_gen_3693, q_gen_3694, q_gen_3707, q_gen_3708, q_gen_3716, q_gen_3743, q_gen_3744, q_gen_3770, q_gen_3782, q_gen_3784, q_gen_3821, q_gen_3822}, Q_f={q_gen_3637, q_gen_3640, q_gen_3821, q_gen_3822}, Delta= { (q_gen_3716, q_gen_3665) -> q_gen_3641 () -> q_gen_3641 (q_gen_3666, q_gen_3641) -> q_gen_3665 (q_gen_3716, q_gen_3692) -> q_gen_3665 () -> q_gen_3666 (q_gen_3744) -> q_gen_3668 () -> q_gen_3668 (q_gen_3666, q_gen_3665) -> q_gen_3692 (q_gen_3666, q_gen_3770) -> q_gen_3692 (q_gen_3716, q_gen_3641) -> q_gen_3692 (q_gen_3668) -> q_gen_3694 (q_gen_3694) -> q_gen_3708 () -> q_gen_3716 (q_gen_3708) -> q_gen_3744 (q_gen_3666, q_gen_3692) -> q_gen_3770 (q_gen_3667, q_gen_3692) -> q_gen_3637 (q_gen_3743, q_gen_3641) -> q_gen_3637 () -> q_gen_3637 (q_gen_3642, q_gen_3641) -> q_gen_3640 (q_gen_3667, q_gen_3665) -> q_gen_3640 (q_gen_3693, q_gen_3692) -> q_gen_3640 () -> q_gen_3642 () -> q_gen_3642 (q_gen_3668) -> q_gen_3667 (q_gen_3708) -> q_gen_3667 (q_gen_3668) -> q_gen_3667 (q_gen_3642, q_gen_3665) -> q_gen_3669 (q_gen_3642, q_gen_3692) -> q_gen_3669 (q_gen_3642, q_gen_3770) -> q_gen_3669 (q_gen_3667, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3641) -> q_gen_3669 (q_gen_3693, q_gen_3665) -> q_gen_3669 (q_gen_3693, q_gen_3770) -> q_gen_3669 (q_gen_3707, q_gen_3641) -> q_gen_3669 (q_gen_3707, q_gen_3665) -> q_gen_3669 (q_gen_3707, q_gen_3692) -> q_gen_3669 (q_gen_3743, q_gen_3665) -> q_gen_3669 (q_gen_3694) -> q_gen_3693 (q_gen_3744) -> q_gen_3707 (q_gen_3708) -> q_gen_3707 (q_gen_3694) -> q_gen_3743 (q_gen_3744) -> q_gen_3743 (q_gen_3707, q_gen_3770) -> q_gen_3782 (q_gen_3743, q_gen_3692) -> q_gen_3784 (q_gen_3743, q_gen_3770) -> q_gen_3821 (q_gen_3667, q_gen_3770) -> q_gen_3822 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_3634, q_gen_3636, q_gen_3647, q_gen_3670, q_gen_3709}, Q_f={q_gen_3634}, Delta= { () -> q_gen_3636 (q_gen_3636) -> q_gen_3647 (q_gen_3647) -> q_gen_3647 (q_gen_3634) -> q_gen_3634 (q_gen_3636) -> q_gen_3634 (q_gen_3647) -> q_gen_3634 () -> q_gen_3634 (q_gen_3670) -> q_gen_3670 (q_gen_3636) -> q_gen_3670 (q_gen_3709) -> q_gen_3709 (q_gen_3647) -> q_gen_3709 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_3633, q_gen_3652, q_gen_3653, q_gen_3663, q_gen_3675, q_gen_3677, q_gen_3678, q_gen_3688, q_gen_3689, q_gen_3690, q_gen_3698, q_gen_3701, q_gen_3702, q_gen_3704, q_gen_3713, q_gen_3718, q_gen_3719, q_gen_3728, q_gen_3739, q_gen_3755, q_gen_3756, q_gen_3757, q_gen_3766, q_gen_3768, q_gen_3773, q_gen_3796, q_gen_3800, q_gen_3801, q_gen_3805, q_gen_3806, q_gen_3808, q_gen_3809, q_gen_3820, q_gen_3823}, Q_f={q_gen_3633, q_gen_3652, q_gen_3698, q_gen_3713, q_gen_3739}, Delta= { (q_gen_3678, q_gen_3677) -> q_gen_3677 () -> q_gen_3677 () -> q_gen_3678 () -> q_gen_3704 (q_gen_3663, q_gen_3633) -> q_gen_3633 (q_gen_3663, q_gen_3675) -> q_gen_3633 (q_gen_3690, q_gen_3688) -> q_gen_3633 () -> q_gen_3633 (q_gen_3653, q_gen_3633) -> q_gen_3652 (q_gen_3663, q_gen_3652) -> q_gen_3652 () -> q_gen_3653 () -> q_gen_3663 (q_gen_3653, q_gen_3675) -> q_gen_3675 (q_gen_3678, q_gen_3677) -> q_gen_3675 (q_gen_3689, q_gen_3675) -> q_gen_3688 (q_gen_3678, q_gen_3677) -> q_gen_3688 () -> q_gen_3689 () -> q_gen_3690 (q_gen_3653, q_gen_3652) -> q_gen_3698 (q_gen_3689, q_gen_3633) -> q_gen_3701 (q_gen_3653, q_gen_3702) -> q_gen_3702 (q_gen_3704, q_gen_3677) -> q_gen_3702 (q_gen_3690, q_gen_3701) -> q_gen_3713 (q_gen_3653, q_gen_3719) -> q_gen_3718 (q_gen_3653, q_gen_3688) -> q_gen_3719 (q_gen_3653, q_gen_3701) -> q_gen_3719 (q_gen_3653, q_gen_3728) -> q_gen_3719 (q_gen_3690, q_gen_3675) -> q_gen_3728 (q_gen_3653, q_gen_3698) -> q_gen_3739 (q_gen_3690, q_gen_3702) -> q_gen_3755 (q_gen_3690, q_gen_3633) -> q_gen_3756 (q_gen_3663, q_gen_3768) -> q_gen_3757 (q_gen_3689, q_gen_3688) -> q_gen_3757 (q_gen_3663, q_gen_3701) -> q_gen_3766 (q_gen_3653, q_gen_3773) -> q_gen_3768 (q_gen_3689, q_gen_3701) -> q_gen_3768 (q_gen_3653, q_gen_3756) -> q_gen_3773 (q_gen_3653, q_gen_3718) -> q_gen_3796 (q_gen_3653, q_gen_3796) -> q_gen_3796 (q_gen_3690, q_gen_3652) -> q_gen_3800 (q_gen_3653, q_gen_3805) -> q_gen_3801 (q_gen_3690, q_gen_3698) -> q_gen_3801 (q_gen_3653, q_gen_3806) -> q_gen_3805 (q_gen_3689, q_gen_3756) -> q_gen_3806 (q_gen_3653, q_gen_3809) -> q_gen_3808 (q_gen_3689, q_gen_3652) -> q_gen_3808 (q_gen_3653, q_gen_3808) -> q_gen_3809 (q_gen_3689, q_gen_3806) -> q_gen_3820 (q_gen_3653, q_gen_3739) -> q_gen_3823 (q_gen_3653, q_gen_3768) -> q_gen_3823 (q_gen_3653, q_gen_3800) -> q_gen_3823 (q_gen_3689, q_gen_3808) -> q_gen_3823 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 53 () -> length([nil, z]) -> 53 () -> leq([z, s(nn2)]) -> 53 () -> leq([z, z]) -> 53 () -> reverse([nil, nil]) -> 53 (append([_eo, cons(h1, nil), _fo]) /\ reverse([t1, _eo])) -> reverse([cons(h1, t1), _fo]) -> 55 (append([t1, l2, _zn])) -> append([cons(h1, t1), l2, cons(h1, _zn)]) -> 55 (length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]) -> 56 (length([_qo, _ro]) /\ length([l1, _so]) /\ reverse([l1, _qo])) -> leq([_ro, _so]) -> 56 (length([ll, _jo])) -> length([cons(x, ll), s(_jo)]) -> 56 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 54 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 54 (leq([s(nn1), z])) -> BOT -> 54 } Sat witness: Found: ((length([_oo, _po]) /\ length([l1, _no]) /\ reverse([l1, _oo])) -> leq([_no, _po]), { _no -> s(s(s(s(s(s(z)))))) ; _oo -> cons(b, cons(b, cons(a, cons(a, cons(b, nil))))) ; _po -> s(s(z)) ; l1 -> cons(b, cons(b, cons(a, cons(a, cons(b, nil))))) }) Total time: 65.155136 Reason for stopping: DontKnow. Stopped because: timeout