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, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)])} (append([_xd, _yd, _ae]) /\ append([_xd, _yd, _zd])) -> eq_eltlist([_zd, _ae]) ) (reverse, F: {() -> reverse([nil, nil]) (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce])} (reverse([_de, _ee]) /\ reverse([_de, _fe])) -> eq_eltlist([_ee, _fe]) ) (length, F: {() -> length([nil, z]) (length([ll, _ge])) -> length([cons(x, ll), s(_ge)])} (length([_he, _ie]) /\ length([_he, _je])) -> eq_nat([_ie, _je]) ) } properties: {(length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me])} over-approximation: {append, length, reverse} under-approximation: {} Clause system for inference is: { () -> append([nil, l2, l2]) -> 0 () -> length([nil, z]) -> 0 () -> reverse([nil, nil]) -> 0 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 0 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 0 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 0 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 0 } Solving took 66.819906 seconds. DontKnow. Stopped because: timeout Working model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1018, q_gen_1019, q_gen_1020, q_gen_1021, q_gen_1026, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1031, q_gen_1040, q_gen_1041, q_gen_1042, q_gen_1049, q_gen_1050, q_gen_1051, q_gen_1058, q_gen_1059, q_gen_1065, q_gen_1066, q_gen_1074, q_gen_1075, q_gen_1076, q_gen_1081, q_gen_1082, q_gen_1083, q_gen_1084, q_gen_1087, q_gen_1089, q_gen_1092, q_gen_1093, q_gen_1097, q_gen_1098, q_gen_1099, q_gen_1100, q_gen_1101, q_gen_1102, q_gen_1108, q_gen_1109, q_gen_1110, q_gen_1111, q_gen_1112, q_gen_1113, q_gen_1114, q_gen_1125, q_gen_1126, q_gen_1127, q_gen_1128, q_gen_1129, q_gen_1130, q_gen_1134, q_gen_1135, q_gen_1136, q_gen_1137, q_gen_1139, q_gen_1140, q_gen_1141, q_gen_1144, q_gen_1145, q_gen_1147, q_gen_1148, q_gen_1149, q_gen_1155, q_gen_1156, q_gen_1157, q_gen_1158, q_gen_1160, q_gen_1161, q_gen_1162, q_gen_1163, q_gen_1173, q_gen_1174, q_gen_1175, q_gen_1176, q_gen_1177, q_gen_1179, q_gen_1181, q_gen_1182, q_gen_1183, q_gen_1184, q_gen_1185, q_gen_1186, q_gen_1187, q_gen_1188, q_gen_1189, q_gen_1192}, Q_f={}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1083 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1083, q_gen_1028) -> q_gen_1114 (q_gen_1029, q_gen_1101) -> q_gen_1163 () -> q_gen_1016 () -> q_gen_1017 (q_gen_1020, q_gen_1016) -> q_gen_1019 () -> q_gen_1020 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1017, q_gen_1050) -> q_gen_1076 (q_gen_1083, q_gen_1114) -> q_gen_1113 (q_gen_1017, q_gen_1016) -> q_gen_1126 () -> q_gen_1129 (q_gen_1083, q_gen_1028) -> q_gen_1136 () -> q_gen_1137 (q_gen_1029, q_gen_1101) -> q_gen_1141 (q_gen_1020, q_gen_1076) -> q_gen_1185 (q_gen_1129, q_gen_1141) -> q_gen_1189 () -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1020, q_gen_1019) -> q_gen_1018 (q_gen_1017, q_gen_1016) -> q_gen_1021 (q_gen_1030, q_gen_1027) -> q_gen_1026 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 (q_gen_1020, q_gen_1016) -> q_gen_1031 (q_gen_1020, q_gen_1016) -> q_gen_1040 (q_gen_1017, q_gen_1019) -> q_gen_1041 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1017, q_gen_1050) -> q_gen_1049 (q_gen_1017, q_gen_1050) -> q_gen_1051 (q_gen_1030, q_gen_1049) -> q_gen_1058 (q_gen_1030, q_gen_1015) -> q_gen_1059 (q_gen_1066, q_gen_1027) -> q_gen_1065 () -> q_gen_1066 (q_gen_1066, q_gen_1075) -> q_gen_1074 (q_gen_1017, q_gen_1076) -> q_gen_1075 (q_gen_1084, q_gen_1082) -> q_gen_1081 (q_gen_1083, q_gen_1028) -> q_gen_1082 () -> q_gen_1084 (q_gen_1020, q_gen_1050) -> q_gen_1087 (q_gen_1017, q_gen_1019) -> q_gen_1089 (q_gen_1093, q_gen_1082) -> q_gen_1092 () -> q_gen_1093 (q_gen_1093, q_gen_1051) -> q_gen_1097 (q_gen_1093, q_gen_1099) -> q_gen_1098 (q_gen_1066, q_gen_1100) -> q_gen_1099 (q_gen_1029, q_gen_1101) -> q_gen_1100 (q_gen_1093, q_gen_1027) -> q_gen_1102 (q_gen_1093, q_gen_1109) -> q_gen_1108 (q_gen_1066, q_gen_1011) -> q_gen_1109 (q_gen_1093, q_gen_1111) -> q_gen_1110 (q_gen_1066, q_gen_1040) -> q_gen_1111 (q_gen_1017, q_gen_1113) -> q_gen_1112 (q_gen_1020, q_gen_1126) -> q_gen_1125 (q_gen_1093, q_gen_1128) -> q_gen_1127 (q_gen_1129, q_gen_1050) -> q_gen_1128 (q_gen_1030, q_gen_1100) -> q_gen_1130 (q_gen_1066, q_gen_1135) -> q_gen_1134 (q_gen_1137, q_gen_1136) -> q_gen_1135 (q_gen_1066, q_gen_1140) -> q_gen_1139 (q_gen_1017, q_gen_1141) -> q_gen_1140 (q_gen_1066, q_gen_1145) -> q_gen_1144 (q_gen_1083, q_gen_1101) -> q_gen_1145 (q_gen_1083, q_gen_1114) -> q_gen_1147 (q_gen_1017, q_gen_1113) -> q_gen_1148 (q_gen_1017, q_gen_1141) -> q_gen_1149 (q_gen_1030, q_gen_1156) -> q_gen_1155 (q_gen_1017, q_gen_1076) -> q_gen_1156 (q_gen_1066, q_gen_1158) -> q_gen_1157 (q_gen_1030, q_gen_1149) -> q_gen_1158 (q_gen_1066, q_gen_1161) -> q_gen_1160 (q_gen_1030, q_gen_1162) -> q_gen_1161 (q_gen_1029, q_gen_1163) -> q_gen_1162 (q_gen_1084, q_gen_1099) -> q_gen_1173 (q_gen_1093, q_gen_1175) -> q_gen_1174 (q_gen_1030, q_gen_1176) -> q_gen_1175 (q_gen_1020, q_gen_1141) -> q_gen_1176 (q_gen_1093, q_gen_1100) -> q_gen_1177 (q_gen_1066, q_gen_1082) -> q_gen_1179 (q_gen_1093, q_gen_1011) -> q_gen_1181 (q_gen_1084, q_gen_1040) -> q_gen_1182 (q_gen_1030, q_gen_1184) -> q_gen_1183 (q_gen_1020, q_gen_1185) -> q_gen_1184 (q_gen_1066, q_gen_1187) -> q_gen_1186 (q_gen_1084, q_gen_1188) -> q_gen_1187 (q_gen_1020, q_gen_1189) -> q_gen_1188 (q_gen_1017, q_gen_1126) -> q_gen_1192 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1012, q_gen_1013, q_gen_1014, q_gen_1024, q_gen_1025, q_gen_1034, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1047, q_gen_1048, q_gen_1054, q_gen_1055, q_gen_1056, q_gen_1057, q_gen_1062, q_gen_1063, q_gen_1064, q_gen_1071, q_gen_1072, q_gen_1077, q_gen_1078, q_gen_1079, q_gen_1080, q_gen_1085, q_gen_1086, q_gen_1090, q_gen_1095, q_gen_1096, q_gen_1104, q_gen_1105, q_gen_1106, q_gen_1119, q_gen_1121, q_gen_1122, q_gen_1123, q_gen_1124, q_gen_1132, q_gen_1153, q_gen_1154, q_gen_1164, q_gen_1165, q_gen_1166, q_gen_1169, q_gen_1170, q_gen_1171, q_gen_1172, q_gen_1178}, Q_f={}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1064, q_gen_1013) -> q_gen_1063 () -> q_gen_1064 (q_gen_1057) -> q_gen_1080 (q_gen_1064, q_gen_1035) -> q_gen_1086 (q_gen_1036, q_gen_1086) -> q_gen_1123 (q_gen_1036, q_gen_1055) -> q_gen_1165 (q_gen_1036, q_gen_1123) -> q_gen_1170 (q_gen_1080) -> q_gen_1172 () -> q_gen_1010 (q_gen_1014, q_gen_1013) -> q_gen_1012 () -> q_gen_1014 (q_gen_1025, q_gen_1013) -> q_gen_1024 () -> q_gen_1025 (q_gen_1037, q_gen_1035) -> q_gen_1034 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1048, q_gen_1035) -> q_gen_1047 (q_gen_1038) -> q_gen_1048 (q_gen_1056, q_gen_1055) -> q_gen_1054 (q_gen_1057) -> q_gen_1056 (q_gen_1037, q_gen_1063) -> q_gen_1062 (q_gen_1072, q_gen_1035) -> q_gen_1071 (q_gen_1057) -> q_gen_1072 (q_gen_1056, q_gen_1013) -> q_gen_1077 (q_gen_1079, q_gen_1035) -> q_gen_1078 (q_gen_1080) -> q_gen_1079 (q_gen_1072, q_gen_1086) -> q_gen_1085 (q_gen_1048, q_gen_1063) -> q_gen_1090 (q_gen_1072, q_gen_1055) -> q_gen_1095 (q_gen_1072, q_gen_1013) -> q_gen_1096 (q_gen_1048, q_gen_1013) -> q_gen_1104 (q_gen_1072, q_gen_1063) -> q_gen_1105 (q_gen_1056, q_gen_1035) -> q_gen_1106 (q_gen_1056, q_gen_1063) -> q_gen_1119 (q_gen_1056, q_gen_1086) -> q_gen_1121 (q_gen_1124, q_gen_1123) -> q_gen_1122 (q_gen_1080) -> q_gen_1124 (q_gen_1124, q_gen_1055) -> q_gen_1132 (q_gen_1124, q_gen_1035) -> q_gen_1153 (q_gen_1079, q_gen_1123) -> q_gen_1154 (q_gen_1124, q_gen_1165) -> q_gen_1164 (q_gen_1056, q_gen_1165) -> q_gen_1166 (q_gen_1171, q_gen_1170) -> q_gen_1169 (q_gen_1172) -> q_gen_1171 (q_gen_1124, q_gen_1013) -> q_gen_1178 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023, q_gen_1032, q_gen_1033, q_gen_1043, q_gen_1044, q_gen_1045, q_gen_1046, q_gen_1052, q_gen_1053, q_gen_1060, q_gen_1061, q_gen_1067, q_gen_1068, q_gen_1069, q_gen_1070, q_gen_1073, q_gen_1088, q_gen_1091, q_gen_1094, q_gen_1103, q_gen_1107, q_gen_1115, q_gen_1116, q_gen_1117, q_gen_1118, q_gen_1120, q_gen_1131, q_gen_1133, q_gen_1138, q_gen_1142, q_gen_1143, q_gen_1146, q_gen_1150, q_gen_1151, q_gen_1152, q_gen_1159, q_gen_1167, q_gen_1168, q_gen_1180, q_gen_1190, q_gen_1191}, Q_f={}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1118, q_gen_1045) -> q_gen_1117 () -> q_gen_1118 (q_gen_1046, q_gen_1045) -> q_gen_1152 () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 () -> q_gen_1023 (q_gen_1033, q_gen_1009) -> q_gen_1032 () -> q_gen_1033 (q_gen_1023, q_gen_1044) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1044 (q_gen_1023, q_gen_1053) -> q_gen_1052 (q_gen_1046, q_gen_1045) -> q_gen_1053 (q_gen_1023, q_gen_1022) -> q_gen_1060 (q_gen_1023, q_gen_1043) -> q_gen_1061 (q_gen_1070, q_gen_1068) -> q_gen_1067 (q_gen_1069, q_gen_1009) -> q_gen_1068 () -> q_gen_1069 () -> q_gen_1070 (q_gen_1033, q_gen_1022) -> q_gen_1073 (q_gen_1033, q_gen_1053) -> q_gen_1088 (q_gen_1033, q_gen_1068) -> q_gen_1091 (q_gen_1033, q_gen_1032) -> q_gen_1094 (q_gen_1070, q_gen_1009) -> q_gen_1103 (q_gen_1069, q_gen_1022) -> q_gen_1107 (q_gen_1023, q_gen_1116) -> q_gen_1115 (q_gen_1118, q_gen_1117) -> q_gen_1116 (q_gen_1023, q_gen_1032) -> q_gen_1120 (q_gen_1023, q_gen_1052) -> q_gen_1131 (q_gen_1070, q_gen_1060) -> q_gen_1133 (q_gen_1033, q_gen_1052) -> q_gen_1138 (q_gen_1070, q_gen_1022) -> q_gen_1142 (q_gen_1070, q_gen_1131) -> q_gen_1143 (q_gen_1070, q_gen_1088) -> q_gen_1146 (q_gen_1023, q_gen_1151) -> q_gen_1150 (q_gen_1046, q_gen_1152) -> q_gen_1151 (q_gen_1118, q_gen_1152) -> q_gen_1159 (q_gen_1070, q_gen_1168) -> q_gen_1167 (q_gen_1023, q_gen_1060) -> q_gen_1168 (q_gen_1070, q_gen_1032) -> q_gen_1180 (q_gen_1033, q_gen_1191) -> q_gen_1190 (q_gen_1069, q_gen_1053) -> q_gen_1191 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.008370 s (model generation: 0.006918, model checking: 0.001452): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; length -> {{{ 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 () -> reverse([nil, nil]) -> 3 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 1 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 1 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 1 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 1 } Sat witness: Found: (() -> reverse([nil, nil]), { }) ------------------------------------------- Step 1, which took 0.008790 s (model generation: 0.008618, model checking: 0.000172): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1009 } 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 () -> reverse([nil, nil]) -> 3 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 1 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 1 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 1 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 1 } Sat witness: Found: (() -> length([nil, z]), { }) ------------------------------------------- Step 2, which took 0.012016 s (model generation: 0.011688, model checking: 0.000328): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1010 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1009 } 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 () -> reverse([nil, nil]) -> 3 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 1 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 1 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 1 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 1 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> nil }) ------------------------------------------- Step 3, which took 0.010858 s (model generation: 0.010743, model checking: 0.000115): Model: |_ { append -> {{{ Q={q_gen_1011}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1011 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1010 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1009 } 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 () -> reverse([nil, nil]) -> 3 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 1 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 1 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 1 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 4 } Sat witness: Found: ((length([ll, _ge])) -> length([cons(x, ll), s(_ge)]), { _ge -> z ; ll -> nil ; x -> b }) ------------------------------------------- Step 4, which took 0.009881 s (model generation: 0.009070, model checking: 0.000811): Model: |_ { append -> {{{ Q={q_gen_1011}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1011 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1014, q_gen_1013) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1009 } 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 () -> reverse([nil, nil]) -> 3 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 1 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 4 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 2 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 4 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> nil ; h1 -> b ; l2 -> nil ; t1 -> nil }) ------------------------------------------- Step 5, which took 0.008213 s (model generation: 0.007748, model checking: 0.000465): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1016 () -> q_gen_1017 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1014, q_gen_1013) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1009 } 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 () -> reverse([nil, nil]) -> 4 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 2 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 4 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 3 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 4 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> cons(a, cons(a, nil)) }) ------------------------------------------- Step 6, which took 0.008326 s (model generation: 0.008060, model checking: 0.000266): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017}, Q_f={q_gen_1011}, Delta= { (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1014, q_gen_1013) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1009 } 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 () -> reverse([nil, nil]) -> 4 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 5 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 4 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 3 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 4 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> nil ; _ce -> cons(b, nil) ; h1 -> b ; t1 -> nil }) ------------------------------------------- Step 7, which took 0.008910 s (model generation: 0.008666, model checking: 0.000244): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017}, Q_f={q_gen_1011}, Delta= { (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1014, q_gen_1013) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023}, Q_f={q_gen_1009}, Delta= { (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 } 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 () -> reverse([nil, nil]) -> 4 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 5 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 4 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 4 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 7 } Sat witness: Found: ((length([ll, _ge])) -> length([cons(x, ll), s(_ge)]), { _ge -> z ; ll -> nil ; x -> a }) ------------------------------------------- Step 8, which took 0.011145 s (model generation: 0.009970, model checking: 0.001175): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017}, Q_f={q_gen_1011}, Delta= { (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1014, q_gen_1013) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023}, Q_f={q_gen_1009}, Delta= { (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 } 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 () -> reverse([nil, nil]) -> 4 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 5 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 7 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 5 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 7 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(b, nil) ; h1 -> b ; l2 -> cons(b, nil) ; t1 -> nil }) ------------------------------------------- Step 9, which took 0.010113 s (model generation: 0.009582, model checking: 0.000531): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1030, q_gen_1011) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1028) -> q_gen_1011 () -> q_gen_1011 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1014, q_gen_1013) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023}, Q_f={q_gen_1009}, Delta= { (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 } 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 () -> reverse([nil, nil]) -> 5 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 8 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 7 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 6 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 7 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> nil ; _ce -> cons(a, nil) ; h1 -> a ; t1 -> nil }) ------------------------------------------- Step 10, which took 0.011380 s (model generation: 0.010502, model checking: 0.000878): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1030, q_gen_1011) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1028) -> q_gen_1011 () -> q_gen_1011 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1014, q_gen_1013) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023}, Q_f={q_gen_1009}, Delta= { (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 } 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 () -> reverse([nil, nil]) -> 6 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 8 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 7 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 7 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 10 } Sat witness: Found: ((length([ll, _ge])) -> length([cons(x, ll), s(_ge)]), { _ge -> s(z) ; ll -> cons(b, nil) ; x -> b }) ------------------------------------------- Step 11, which took 0.018070 s (model generation: 0.017660, model checking: 0.000410): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1030, q_gen_1011) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1028) -> q_gen_1011 () -> q_gen_1011 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1036, q_gen_1038}, Q_f={q_gen_1010}, Delta= { (q_gen_1036, q_gen_1013) -> q_gen_1013 () -> q_gen_1013 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 (q_gen_1038) -> q_gen_1014 () -> q_gen_1014 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023}, Q_f={q_gen_1009}, Delta= { (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 } 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 () -> reverse([nil, nil]) -> 7 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 8 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 7 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 10 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 10 } Sat witness: Found: ((length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]), { _ke -> s(z) ; _le -> cons(b, nil) ; _me -> s(s(z)) ; l1 -> cons(b, nil) }) ------------------------------------------- Step 12, which took 0.013715 s (model generation: 0.013032, model checking: 0.000683): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1019, q_gen_1021, q_gen_1028, q_gen_1029, q_gen_1030}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1016) -> q_gen_1019 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1019) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1021) -> q_gen_1021 (q_gen_1017, q_gen_1016) -> q_gen_1021 (q_gen_1029, q_gen_1028) -> q_gen_1021 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1036, q_gen_1038}, Q_f={q_gen_1010}, Delta= { (q_gen_1036, q_gen_1013) -> q_gen_1013 () -> q_gen_1013 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 (q_gen_1038) -> q_gen_1014 () -> q_gen_1014 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 () -> q_gen_1023 () -> q_gen_1023 } 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 () -> reverse([nil, nil]) -> 7 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 8 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 10 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 10 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 10 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(a, nil) ; h1 -> b ; l2 -> nil ; t1 -> cons(a, nil) }) ------------------------------------------- Step 13, which took 0.014246 s (model generation: 0.013681, model checking: 0.000565): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1019, q_gen_1021, q_gen_1028, q_gen_1029, q_gen_1030}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1016) -> q_gen_1019 (q_gen_1030, q_gen_1021) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1019) -> q_gen_1011 (q_gen_1017, q_gen_1019) -> q_gen_1011 () -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1021 (q_gen_1029, q_gen_1028) -> q_gen_1021 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1036, q_gen_1038}, Q_f={q_gen_1010}, Delta= { (q_gen_1036, q_gen_1013) -> q_gen_1013 () -> q_gen_1013 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 (q_gen_1038) -> q_gen_1014 () -> q_gen_1014 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 () -> q_gen_1023 () -> q_gen_1023 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 10 () -> length([nil, z]) -> 8 () -> reverse([nil, nil]) -> 8 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 8 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 10 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 10 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 10 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> cons(b, nil) }) ------------------------------------------- Step 14, which took 0.013537 s (model generation: 0.013063, model checking: 0.000474): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1030, q_gen_1011) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1028) -> q_gen_1011 () -> q_gen_1011 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023}, Q_f={q_gen_1009}, Delta= { (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 10 () -> length([nil, z]) -> 8 () -> reverse([nil, nil]) -> 8 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 11 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 10 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 10 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 10 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> cons(b, nil) ; _ce -> cons(b, nil) ; h1 -> b ; t1 -> cons(b, nil) }) ------------------------------------------- Step 15, which took 0.015030 s (model generation: 0.013818, model checking: 0.001212): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1030, q_gen_1011) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1028) -> q_gen_1011 () -> q_gen_1011 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1046, q_gen_1045) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 10 () -> length([nil, z]) -> 9 () -> reverse([nil, nil]) -> 9 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 11 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 10 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 10 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 13 } Sat witness: Found: ((length([ll, _ge])) -> length([cons(x, ll), s(_ge)]), { _ge -> s(z) ; ll -> cons(b, nil) ; x -> a }) ------------------------------------------- Step 16, which took 0.015914 s (model generation: 0.015157, model checking: 0.000757): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1030, q_gen_1011) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1028) -> q_gen_1011 () -> q_gen_1011 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1014, q_gen_1035) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 (q_gen_1038) -> q_gen_1014 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1046, q_gen_1045) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 10 () -> length([nil, z]) -> 10 () -> reverse([nil, nil]) -> 10 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 11 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 10 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 13 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 13 } Sat witness: Found: ((length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]), { _ke -> s(z) ; _le -> nil ; _me -> z ; l1 -> cons(b, nil) }) ------------------------------------------- Step 17, which took 0.016777 s (model generation: 0.015818, model checking: 0.000959): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1030, q_gen_1011) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1028) -> q_gen_1011 () -> q_gen_1011 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1014, q_gen_1035) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 (q_gen_1038) -> q_gen_1014 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1044, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1023, q_gen_1044) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1046, q_gen_1045) -> q_gen_1044 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 10 () -> length([nil, z]) -> 10 () -> reverse([nil, nil]) -> 10 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 11 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 13 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 13 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 13 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(b, nil) ; h1 -> b ; l2 -> nil ; t1 -> nil }) ------------------------------------------- Step 18, which took 0.018718 s (model generation: 0.017586, model checking: 0.001132): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1029, q_gen_1028) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1030, q_gen_1011) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1028) -> q_gen_1011 () -> q_gen_1011 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1014, q_gen_1035) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 (q_gen_1038) -> q_gen_1014 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1044, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1023, q_gen_1044) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1046, q_gen_1045) -> q_gen_1044 } 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 () -> reverse([nil, nil]) -> 11 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 14 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 13 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 13 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 13 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> nil ; _ce -> cons(b, cons(b, nil)) ; h1 -> b ; t1 -> nil }) ------------------------------------------- Step 19, which took 0.018358 s (model generation: 0.016590, model checking: 0.001768): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1029, q_gen_1028) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1030, q_gen_1011) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1028) -> q_gen_1011 () -> q_gen_1011 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1014, q_gen_1035) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 (q_gen_1038) -> q_gen_1014 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1044, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1023, q_gen_1044) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1046, q_gen_1045) -> q_gen_1044 (q_gen_1046, q_gen_1045) -> q_gen_1044 } 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 () -> reverse([nil, nil]) -> 12 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 14 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 13 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 13 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 16 } Sat witness: Found: ((length([ll, _ge])) -> length([cons(x, ll), s(_ge)]), { _ge -> s(s(z)) ; ll -> cons(b, cons(b, nil)) ; x -> b }) ------------------------------------------- Step 20, which took 0.019426 s (model generation: 0.018160, model checking: 0.001266): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1029, q_gen_1028) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1030, q_gen_1011) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1028) -> q_gen_1011 () -> q_gen_1011 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1044, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1023, q_gen_1044) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1046, q_gen_1045) -> q_gen_1044 (q_gen_1046, q_gen_1045) -> q_gen_1044 } 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 () -> reverse([nil, nil]) -> 13 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 14 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 13 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 16 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 16 } Sat witness: Found: ((length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]), { _ke -> s(s(z)) ; _le -> cons(b, nil) ; _me -> s(z) ; l1 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 21, which took 0.018903 s (model generation: 0.018516, model checking: 0.000387): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1029, q_gen_1028) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1046, q_gen_1045) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 13 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 14 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 16 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 16 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 16 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(b, cons(b, nil)) ; h1 -> b ; l2 -> cons(b, nil) ; t1 -> cons(b, nil) }) ------------------------------------------- Step 22, which took 0.020082 s (model generation: 0.018914, model checking: 0.001168): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042}, Q_f={q_gen_1011, q_gen_1015}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1029, q_gen_1028) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1011 (q_gen_1030, q_gen_1015) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1029, q_gen_1028) -> q_gen_1015 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1046, q_gen_1045) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 14 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 17 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 16 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 16 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 16 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> cons(b, cons(b, nil)) ; _ce -> cons(b, cons(b, nil)) ; h1 -> b ; t1 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 23, which took 0.029835 s (model generation: 0.028075, model checking: 0.001760): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1050) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1046, q_gen_1045) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 15 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 17 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 16 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 16 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 19 } Sat witness: Found: ((length([ll, _ge])) -> length([cons(x, ll), s(_ge)]), { _ge -> s(z) ; ll -> cons(a, nil) ; x -> b }) ------------------------------------------- Step 24, which took 0.024640 s (model generation: 0.023354, model checking: 0.001286): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1046, q_gen_1045) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 16 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 17 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 16 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 19 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 19 } Sat witness: Found: ((length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]), { _ke -> z ; _le -> cons(b, nil) ; _me -> s(z) ; l1 -> nil }) ------------------------------------------- Step 25, which took 0.026235 s (model generation: 0.024562, model checking: 0.001673): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 16 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 17 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 19 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 19 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 19 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(b, nil) ; h1 -> a ; l2 -> cons(b, nil) ; t1 -> nil }) ------------------------------------------- Step 26, which took 0.026573 s (model generation: 0.025152, model checking: 0.001421): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 17 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 20 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 19 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 19 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 19 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> cons(a, nil) ; _ce -> cons(a, cons(b, nil)) ; h1 -> b ; t1 -> cons(a, nil) }) ------------------------------------------- Step 27, which took 0.028308 s (model generation: 0.027026, model checking: 0.001282): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 18 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 20 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 19 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 22 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 20 } Sat witness: Found: ((length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]), { _ke -> s(s(z)) ; _le -> cons(a, cons(b, nil)) ; _me -> s(s(s(z))) ; l1 -> cons(a, cons(b, nil)) }) ------------------------------------------- Step 28, which took 0.040834 s (model generation: 0.036126, model checking: 0.004708): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1038) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 (q_gen_1057) -> q_gen_1014 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1057) -> q_gen_1037 (q_gen_1014, q_gen_1035) -> q_gen_1039 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 19 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 20 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 22 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 22 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 20 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(b, cons(b, cons(b, nil))) ; h1 -> a ; l2 -> cons(b, nil) ; t1 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 29, which took 0.036693 s (model generation: 0.033933, model checking: 0.002760): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1057}, Q_f={q_gen_1010}, Delta= { (q_gen_1036, q_gen_1035) -> q_gen_1013 () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1038) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 (q_gen_1057) -> q_gen_1014 () -> q_gen_1014 (q_gen_1057) -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1014, q_gen_1035) -> q_gen_1039 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 20 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 20 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 22 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 22 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 23 } Sat witness: Found: ((length([ll, _ge])) -> length([cons(x, ll), s(_ge)]), { _ge -> s(s(s(z))) ; ll -> cons(b, nil) ; x -> b }) ------------------------------------------- Step 30, which took 0.043536 s (model generation: 0.041031, model checking: 0.002505): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1057}, Q_f={q_gen_1010}, Delta= { (q_gen_1036, q_gen_1035) -> q_gen_1013 () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1057) -> q_gen_1038 () -> q_gen_1038 (q_gen_1038) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 (q_gen_1057) -> q_gen_1014 () -> q_gen_1014 (q_gen_1057) -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1014, q_gen_1035) -> q_gen_1039 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 21 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 21 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 22 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 25 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 23 } Sat witness: Found: ((length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]), { _ke -> s(z) ; _le -> cons(b, nil) ; _me -> s(s(s(z))) ; l1 -> cons(b, nil) }) ------------------------------------------- Step 31, which took 0.045356 s (model generation: 0.039625, model checking: 0.005731): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1057) -> q_gen_1038 () -> q_gen_1038 (q_gen_1038) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 (q_gen_1057) -> q_gen_1014 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1057) -> q_gen_1037 (q_gen_1014, q_gen_1035) -> q_gen_1039 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 22 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 22 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 25 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 25 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 23 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(a, nil) ; h1 -> b ; l2 -> cons(a, nil) ; t1 -> nil }) ------------------------------------------- Step 32, which took 0.040956 s (model generation: 0.038235, model checking: 0.002721): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1057) -> q_gen_1038 () -> q_gen_1038 (q_gen_1038) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 (q_gen_1057) -> q_gen_1014 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1057) -> q_gen_1037 (q_gen_1014, q_gen_1035) -> q_gen_1039 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 23 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 23 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 25 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 25 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 26 } Sat witness: Found: ((length([ll, _ge])) -> length([cons(x, ll), s(_ge)]), { _ge -> s(s(z)) ; ll -> cons(a, cons(b, nil)) ; x -> a }) ------------------------------------------- Step 33, which took 0.041412 s (model generation: 0.041008, model checking: 0.000404): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1019, q_gen_1020, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 () -> q_gen_1016 () -> q_gen_1017 (q_gen_1017, q_gen_1019) -> q_gen_1019 (q_gen_1020, q_gen_1016) -> q_gen_1019 (q_gen_1029, q_gen_1028) -> q_gen_1019 () -> q_gen_1020 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1020, q_gen_1019) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1019) -> q_gen_1027 (q_gen_1020, q_gen_1016) -> q_gen_1027 (q_gen_1017, q_gen_1019) -> q_gen_1027 (q_gen_1020, q_gen_1016) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1032, q_gen_1033, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 (q_gen_1023, q_gen_1032) -> q_gen_1032 (q_gen_1033, q_gen_1009) -> q_gen_1032 (q_gen_1033, q_gen_1032) -> q_gen_1032 (q_gen_1046, q_gen_1045) -> q_gen_1032 (q_gen_1046, q_gen_1045) -> q_gen_1032 () -> q_gen_1033 () -> q_gen_1033 () -> q_gen_1033 } 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 () -> reverse([nil, nil]) -> 23 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 26 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 25 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 25 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 26 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> nil ; _ce -> cons(a, cons(b, nil)) ; h1 -> a ; t1 -> nil }) ------------------------------------------- Step 34, which took 0.047140 s (model generation: 0.046552, model checking: 0.000588): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1019, q_gen_1020, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 () -> q_gen_1016 () -> q_gen_1017 (q_gen_1017, q_gen_1019) -> q_gen_1019 (q_gen_1020, q_gen_1016) -> q_gen_1019 (q_gen_1029, q_gen_1028) -> q_gen_1019 () -> q_gen_1020 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1020, q_gen_1019) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1019) -> q_gen_1027 (q_gen_1020, q_gen_1016) -> q_gen_1027 (q_gen_1017, q_gen_1019) -> q_gen_1027 (q_gen_1020, q_gen_1016) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1032, q_gen_1033, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1033, q_gen_1032) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 (q_gen_1023, q_gen_1032) -> q_gen_1032 (q_gen_1033, q_gen_1009) -> q_gen_1032 (q_gen_1046, q_gen_1045) -> q_gen_1032 (q_gen_1046, q_gen_1045) -> q_gen_1032 () -> q_gen_1033 () -> q_gen_1033 () -> q_gen_1033 } 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]) -> 24 () -> reverse([nil, nil]) -> 24 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 26 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 25 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 25 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 26 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> cons(b, cons(a, nil)) }) ------------------------------------------- Step 35, which took 0.052957 s (model generation: 0.052251, model checking: 0.000706): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046, q_gen_1069}, Q_f={q_gen_1009, q_gen_1022}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1069, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1022) -> q_gen_1043 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 () -> q_gen_1069 () -> q_gen_1069 } 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]) -> 25 () -> reverse([nil, nil]) -> 25 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 26 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 25 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 28 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 26 } Sat witness: Found: ((length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]), { _ke -> s(s(z)) ; _le -> cons(a, cons(b, nil)) ; _me -> s(s(s(z))) ; l1 -> cons(a, cons(a, nil)) }) ------------------------------------------- Step 36, which took 0.061256 s (model generation: 0.056847, model checking: 0.004409): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1057, q_gen_1064}, Q_f={q_gen_1010}, Delta= { (q_gen_1064, q_gen_1035) -> q_gen_1013 () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 (q_gen_1064, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 (q_gen_1057) -> q_gen_1038 () -> q_gen_1038 (q_gen_1038) -> q_gen_1057 () -> q_gen_1064 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 (q_gen_1057) -> q_gen_1014 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1057) -> q_gen_1037 (q_gen_1014, q_gen_1035) -> q_gen_1039 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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]) -> 25 () -> reverse([nil, nil]) -> 25 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 26 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 28 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 28 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 26 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(a, nil) ; h1 -> a ; l2 -> cons(a, nil) ; t1 -> nil }) ------------------------------------------- Step 37, which took 0.064870 s (model generation: 0.063891, model checking: 0.000979): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046, q_gen_1069}, Q_f={q_gen_1009, q_gen_1022}, Delta= { () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 (q_gen_1069, q_gen_1043) -> q_gen_1022 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1022) -> q_gen_1043 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1069, q_gen_1009) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 () -> q_gen_1069 () -> q_gen_1069 } 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 () -> reverse([nil, nil]) -> 26 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 29 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 28 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 28 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 27 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> cons(a, nil) ; _ce -> cons(a, cons(a, nil)) ; h1 -> a ; t1 -> cons(a, nil) }) ------------------------------------------- Step 38, which took 0.063988 s (model generation: 0.061355, model checking: 0.002633): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1057, q_gen_1064}, Q_f={q_gen_1010}, Delta= { (q_gen_1064, q_gen_1035) -> q_gen_1013 () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 (q_gen_1064, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 (q_gen_1057) -> q_gen_1038 () -> q_gen_1038 (q_gen_1038) -> q_gen_1057 () -> q_gen_1064 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 (q_gen_1057) -> q_gen_1014 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1057) -> q_gen_1037 (q_gen_1014, q_gen_1035) -> q_gen_1039 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 27 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 29 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 28 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 28 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 30 } Sat witness: Found: ((length([ll, _ge])) -> length([cons(x, ll), s(_ge)]), { _ge -> s(s(z)) ; ll -> cons(b, cons(b, nil)) ; x -> a }) ------------------------------------------- Step 39, which took 0.064985 s (model generation: 0.063379, model checking: 0.001606): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1057) -> q_gen_1038 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1014, q_gen_1055) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1037, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 (q_gen_1057) -> q_gen_1014 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1057) -> q_gen_1037 (q_gen_1014, q_gen_1035) -> q_gen_1039 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 28 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 29 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 28 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 31 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 30 } Sat witness: Found: ((length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]), { _ke -> s(z) ; _le -> cons(a, nil) ; _me -> s(s(s(z))) ; l1 -> cons(a, nil) }) ------------------------------------------- Step 40, which took 0.072356 s (model generation: 0.060344, model checking: 0.012012): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023, q_gen_1033, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009, q_gen_1022}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1022) -> q_gen_1009 (q_gen_1033, q_gen_1009) -> q_gen_1009 (q_gen_1033, q_gen_1043) -> q_gen_1009 () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1033 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1033, q_gen_1022) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 28 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 29 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 31 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 31 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 30 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(a, cons(b, cons(b, nil))) ; h1 -> a ; l2 -> cons(a, cons(b, nil)) ; t1 -> cons(a, nil) }) ------------------------------------------- Step 41, which took 0.093512 s (model generation: 0.092206, model checking: 0.001306): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042}, Q_f={q_gen_1011, q_gen_1015}, Delta= { (q_gen_1029, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1029, q_gen_1028) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1015) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1029, q_gen_1028) -> q_gen_1015 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023, q_gen_1033, q_gen_1043, q_gen_1044, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009, q_gen_1022}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1043) -> q_gen_1009 (q_gen_1033, q_gen_1009) -> q_gen_1009 (q_gen_1033, q_gen_1043) -> q_gen_1009 () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 (q_gen_1023, q_gen_1022) -> q_gen_1022 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1033 (q_gen_1023, q_gen_1044) -> q_gen_1043 (q_gen_1033, q_gen_1022) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1044 } 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 () -> reverse([nil, nil]) -> 29 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 32 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 31 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 31 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 30 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> cons(a, nil) ; _ce -> cons(a, cons(b, nil)) ; h1 -> a ; t1 -> cons(b, nil) }) ------------------------------------------- Step 42, which took 0.092808 s (model generation: 0.092108, model checking: 0.000700): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1019, q_gen_1020, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030}, Q_f={q_gen_1011}, Delta= { (q_gen_1029, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 () -> q_gen_1016 () -> q_gen_1017 (q_gen_1017, q_gen_1019) -> q_gen_1019 (q_gen_1020, q_gen_1016) -> q_gen_1019 (q_gen_1029, q_gen_1028) -> q_gen_1019 () -> q_gen_1020 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1019) -> q_gen_1011 (q_gen_1020, q_gen_1019) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1019) -> q_gen_1027 (q_gen_1020, q_gen_1016) -> q_gen_1027 (q_gen_1020, q_gen_1016) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1032, q_gen_1033, q_gen_1044, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1023, q_gen_1032) -> q_gen_1009 (q_gen_1033, q_gen_1032) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1044) -> q_gen_1032 (q_gen_1033, q_gen_1009) -> q_gen_1032 (q_gen_1046, q_gen_1045) -> q_gen_1032 () -> q_gen_1033 () -> q_gen_1033 (q_gen_1046, q_gen_1045) -> q_gen_1044 } 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]) -> 30 () -> reverse([nil, nil]) -> 30 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 32 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 31 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 31 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 30 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> cons(a, nil) }) ------------------------------------------- Step 43, which took 0.114903 s (model generation: 0.114096, model checking: 0.000807): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042}, Q_f={q_gen_1011, q_gen_1015}, Delta= { (q_gen_1029, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1029, q_gen_1028) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1015) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1029, q_gen_1028) -> q_gen_1015 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1057, q_gen_1072}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1014, q_gen_1035) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1037, q_gen_1055) -> q_gen_1010 (q_gen_1072, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 (q_gen_1038) -> q_gen_1014 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1057) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1072, q_gen_1013) -> q_gen_1039 (q_gen_1072, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1072 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1044, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1023, q_gen_1043) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1044) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1044 } 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]) -> 30 () -> reverse([nil, nil]) -> 30 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 32 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 31 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 31 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 33 } Sat witness: Found: ((length([ll, _ge])) -> length([cons(x, ll), s(_ge)]), { _ge -> s(s(z)) ; ll -> cons(a, nil) ; x -> a }) ------------------------------------------- Step 44, which took 0.093347 s (model generation: 0.092129, model checking: 0.001218): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1018, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050}, Q_f={q_gen_1011, q_gen_1018}, Delta= { (q_gen_1029, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1018) -> q_gen_1018 (q_gen_1030, q_gen_1027) -> q_gen_1018 (q_gen_1017, q_gen_1016) -> q_gen_1018 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023, q_gen_1033, q_gen_1043, q_gen_1045, q_gen_1046, q_gen_1070}, Q_f={q_gen_1009, q_gen_1022}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1033, q_gen_1009) -> q_gen_1009 (q_gen_1070, q_gen_1022) -> q_gen_1009 () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 (q_gen_1023, q_gen_1022) -> q_gen_1022 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1033 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1033, q_gen_1022) -> q_gen_1043 (q_gen_1033, q_gen_1043) -> q_gen_1043 (q_gen_1070, q_gen_1009) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 () -> q_gen_1070 } 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]) -> 31 () -> reverse([nil, nil]) -> 31 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 32 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 31 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 34 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 33 } Sat witness: Found: ((length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]), { _ke -> s(s(z)) ; _le -> cons(b, cons(b, nil)) ; _me -> s(s(s(z))) ; l1 -> cons(a, cons(b, nil)) }) ------------------------------------------- Step 45, which took 0.095631 s (model generation: 0.094851, model checking: 0.000780): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030}, Q_f={q_gen_1011, q_gen_1015}, Delta= { (q_gen_1029, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1029, q_gen_1028) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1030, q_gen_1015) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1027) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1057) -> q_gen_1038 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1044, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1023, q_gen_1043) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1044) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1044 } 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]) -> 31 () -> reverse([nil, nil]) -> 31 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 32 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 34 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 34 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 33 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(a, cons(a, nil)) ; h1 -> a ; l2 -> cons(a, cons(b, nil)) ; t1 -> cons(a, cons(a, nil)) }) ------------------------------------------- Step 46, which took 0.129960 s (model generation: 0.129237, model checking: 0.000723): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042}, Q_f={q_gen_1011, q_gen_1015}, Delta= { (q_gen_1029, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1029, q_gen_1028) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1011 (q_gen_1030, q_gen_1015) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1029, q_gen_1028) -> q_gen_1015 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1030, q_gen_1042) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1057) -> q_gen_1038 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1044, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1023, q_gen_1043) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1044) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1044 } 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 () -> reverse([nil, nil]) -> 32 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 35 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 34 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 34 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 33 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> nil ; _ce -> cons(b, cons(a, cons(a, nil))) ; h1 -> b ; t1 -> nil }) ------------------------------------------- Step 47, which took 0.136476 s (model generation: 0.134961, model checking: 0.001515): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042, q_gen_1050}, Q_f={q_gen_1011}, Delta= { (q_gen_1029, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1030, q_gen_1042) -> q_gen_1042 (q_gen_1017, q_gen_1050) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023, q_gen_1033, q_gen_1043, q_gen_1045, q_gen_1046, q_gen_1069}, Q_f={q_gen_1009, q_gen_1022}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1033, q_gen_1009) -> q_gen_1009 (q_gen_1069, q_gen_1043) -> q_gen_1009 () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 () -> q_gen_1023 () -> q_gen_1033 (q_gen_1023, q_gen_1022) -> q_gen_1043 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1033, q_gen_1022) -> q_gen_1043 (q_gen_1033, q_gen_1043) -> q_gen_1043 (q_gen_1069, q_gen_1009) -> q_gen_1043 (q_gen_1069, q_gen_1022) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 () -> q_gen_1069 () -> q_gen_1069 } 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 () -> reverse([nil, nil]) -> 33 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 35 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 34 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 37 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 34 } Sat witness: Found: ((length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]), { _ke -> s(s(z)) ; _le -> cons(b, cons(a, nil)) ; _me -> s(s(s(z))) ; l1 -> cons(b, cons(a, nil)) }) ------------------------------------------- Step 48, which took 0.216272 s (model generation: 0.213419, model checking: 0.002853): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042}, Q_f={q_gen_1011, q_gen_1015}, Delta= { (q_gen_1029, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1029, q_gen_1028) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1011 (q_gen_1030, q_gen_1015) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1029, q_gen_1028) -> q_gen_1015 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1030, q_gen_1042) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1044, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1023, q_gen_1043) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1044) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1044 } 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]) -> 34 () -> length([nil, z]) -> 34 () -> reverse([nil, nil]) -> 34 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 35 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 34 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 37 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 37 } Sat witness: Found: ((length([ll, _ge])) -> length([cons(x, ll), s(_ge)]), { _ge -> s(s(s(z))) ; ll -> cons(b, cons(a, cons(b, nil))) ; x -> a }) ------------------------------------------- Step 49, which took 0.262007 s (model generation: 0.249348, model checking: 0.012659): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042}, Q_f={q_gen_1011, q_gen_1015}, Delta= { (q_gen_1029, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1029, q_gen_1028) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1011 (q_gen_1030, q_gen_1015) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1029, q_gen_1028) -> q_gen_1015 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1030, q_gen_1042) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1036, q_gen_1055) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1044, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1023, q_gen_1043) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1044) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1044 } 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]) -> 34 () -> length([nil, z]) -> 34 () -> reverse([nil, nil]) -> 34 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 35 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 37 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 37 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 37 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(a, cons(b, nil)) ; h1 -> a ; l2 -> cons(a, cons(b, nil)) ; t1 -> nil }) ------------------------------------------- Step 50, which took 0.371851 s (model generation: 0.370374, model checking: 0.001477): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1026, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042, q_gen_1050}, Q_f={q_gen_1011, q_gen_1026}, Delta= { (q_gen_1029, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1026) -> q_gen_1026 (q_gen_1030, q_gen_1042) -> q_gen_1026 (q_gen_1017, q_gen_1050) -> q_gen_1026 (q_gen_1029, q_gen_1028) -> q_gen_1026 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1017, q_gen_1050) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1036, q_gen_1055) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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]) -> 35 () -> length([nil, z]) -> 35 () -> reverse([nil, nil]) -> 35 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 38 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 37 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 37 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 37 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> cons(b, nil) ; _ce -> cons(b, cons(b, cons(b, nil))) ; h1 -> b ; t1 -> cons(b, nil) }) ------------------------------------------- Step 51, which took 0.380056 s (model generation: 0.375743, model checking: 0.004313): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050, q_gen_1101}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1029, q_gen_1101) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1036, q_gen_1055) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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]) -> 36 () -> reverse([nil, nil]) -> 36 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 38 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 37 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 40 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 38 } Sat witness: Found: ((length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]), { _ke -> s(s(s(z))) ; _le -> cons(a, cons(b, cons(b, nil))) ; _me -> s(s(s(s(z)))) ; l1 -> cons(b, cons(b, cons(b, nil))) }) ------------------------------------------- Step 52, which took 0.340755 s (model generation: 0.324883, model checking: 0.015872): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042}, Q_f={q_gen_1011, q_gen_1015}, Delta= { (q_gen_1029, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1029, q_gen_1028) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1011 (q_gen_1030, q_gen_1015) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1029, q_gen_1028) -> q_gen_1015 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1030, q_gen_1042) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1055) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1057) -> q_gen_1038 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1037, q_gen_1055) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1044, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1023, q_gen_1043) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1044) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1044 } 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 () -> reverse([nil, nil]) -> 37 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 38 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 40 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 40 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 38 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(b, cons(a, nil)) ; h1 -> a ; l2 -> cons(b, cons(a, nil)) ; t1 -> nil }) ------------------------------------------- Step 53, which took 0.393087 s (model generation: 0.387510, model checking: 0.005577): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042}, Q_f={q_gen_1011, q_gen_1015}, Delta= { (q_gen_1029, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1029, q_gen_1028) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1011 (q_gen_1030, q_gen_1015) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1029, q_gen_1028) -> q_gen_1015 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1030, q_gen_1042) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1055) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1057) -> q_gen_1038 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1037, q_gen_1055) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1044, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1023, q_gen_1043) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1044) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1044 } 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 () -> reverse([nil, nil]) -> 38 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 39 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 40 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 43 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 39 } Sat witness: Found: ((length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]), { _ke -> s(s(z)) ; _le -> cons(a, cons(b, cons(b, nil))) ; _me -> s(s(s(z))) ; l1 -> cons(a, cons(b, nil)) }) ------------------------------------------- Step 54, which took 0.453239 s (model generation: 0.448888, model checking: 0.004351): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050, q_gen_1101}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1029, q_gen_1101) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1055) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1057) -> q_gen_1038 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1037, q_gen_1055) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 39 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 42 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 40 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 43 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 40 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> cons(a, cons(b, nil)) ; _ce -> cons(a, cons(b, cons(b, cons(b, nil)))) ; h1 -> b ; t1 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 55, which took 0.617647 s (model generation: 0.615525, model checking: 0.002122): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050, q_gen_1101}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1029, q_gen_1101) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023, q_gen_1032, q_gen_1033, q_gen_1043, q_gen_1045, q_gen_1046, q_gen_1069}, Q_f={q_gen_1009, q_gen_1022, q_gen_1032}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1069, q_gen_1043) -> q_gen_1009 () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 () -> q_gen_1023 (q_gen_1023, q_gen_1022) -> q_gen_1032 (q_gen_1033, q_gen_1009) -> q_gen_1032 (q_gen_1033, q_gen_1032) -> q_gen_1032 () -> q_gen_1033 (q_gen_1023, q_gen_1032) -> q_gen_1043 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1033, q_gen_1022) -> q_gen_1043 (q_gen_1033, q_gen_1043) -> q_gen_1043 (q_gen_1069, q_gen_1009) -> q_gen_1043 (q_gen_1069, q_gen_1022) -> q_gen_1043 (q_gen_1069, q_gen_1032) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 () -> q_gen_1069 () -> q_gen_1069 } 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 () -> reverse([nil, nil]) -> 40 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 42 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 43 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 43 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 41 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(b, cons(b, nil)) ; h1 -> b ; l2 -> nil ; t1 -> nil }) ------------------------------------------- Step 56, which took 0.597899 s (model generation: 0.596257, model checking: 0.001642): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042}, Q_f={q_gen_1011, q_gen_1015}, Delta= { (q_gen_1029, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1029, q_gen_1028) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1011 (q_gen_1030, q_gen_1015) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1029, q_gen_1028) -> q_gen_1015 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1030, q_gen_1042) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023, q_gen_1032, q_gen_1033, q_gen_1043, q_gen_1044, q_gen_1045, q_gen_1046, q_gen_1069}, Q_f={q_gen_1009, q_gen_1022, q_gen_1032}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1033, q_gen_1043) -> q_gen_1009 (q_gen_1069, q_gen_1044) -> q_gen_1009 () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 (q_gen_1023, q_gen_1043) -> q_gen_1022 () -> q_gen_1023 (q_gen_1023, q_gen_1022) -> q_gen_1032 (q_gen_1033, q_gen_1009) -> q_gen_1032 (q_gen_1033, q_gen_1032) -> q_gen_1032 () -> q_gen_1033 (q_gen_1023, q_gen_1032) -> q_gen_1043 (q_gen_1023, q_gen_1044) -> q_gen_1043 (q_gen_1033, q_gen_1022) -> q_gen_1043 (q_gen_1033, q_gen_1044) -> q_gen_1043 (q_gen_1069, q_gen_1022) -> q_gen_1043 (q_gen_1069, q_gen_1032) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1069, q_gen_1009) -> q_gen_1044 (q_gen_1046, q_gen_1045) -> q_gen_1044 () -> q_gen_1069 () -> q_gen_1069 } 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 () -> reverse([nil, nil]) -> 41 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 45 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 43 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 43 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 42 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> cons(a, nil) ; _ce -> cons(a, cons(a, cons(b, nil))) ; h1 -> b ; t1 -> cons(a, nil) }) ------------------------------------------- Step 57, which took 0.467878 s (model generation: 0.464996, model checking: 0.002882): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042}, Q_f={q_gen_1011, q_gen_1015}, Delta= { (q_gen_1029, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1029, q_gen_1028) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1011 (q_gen_1030, q_gen_1015) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1029, q_gen_1028) -> q_gen_1015 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1030, q_gen_1042) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023, q_gen_1032, q_gen_1033, q_gen_1043, q_gen_1044, q_gen_1045, q_gen_1046, q_gen_1069}, Q_f={q_gen_1009, q_gen_1022, q_gen_1032}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1069, q_gen_1032) -> q_gen_1009 (q_gen_1069, q_gen_1044) -> q_gen_1009 () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 (q_gen_1023, q_gen_1022) -> q_gen_1022 (q_gen_1023, q_gen_1043) -> q_gen_1022 (q_gen_1033, q_gen_1032) -> q_gen_1022 () -> q_gen_1023 (q_gen_1033, q_gen_1009) -> q_gen_1032 (q_gen_1033, q_gen_1043) -> q_gen_1032 () -> q_gen_1033 (q_gen_1023, q_gen_1032) -> q_gen_1043 (q_gen_1023, q_gen_1044) -> q_gen_1043 (q_gen_1033, q_gen_1022) -> q_gen_1043 (q_gen_1033, q_gen_1044) -> q_gen_1043 (q_gen_1069, q_gen_1022) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1069, q_gen_1009) -> q_gen_1044 (q_gen_1046, q_gen_1045) -> q_gen_1044 () -> q_gen_1069 () -> q_gen_1069 } 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 () -> reverse([nil, nil]) -> 42 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 45 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 43 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 46 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 43 } Sat witness: Found: ((length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]), { _ke -> s(z) ; _le -> cons(a, cons(b, nil)) ; _me -> s(s(z)) ; l1 -> cons(a, nil) }) ------------------------------------------- Step 58, which took 0.585262 s (model generation: 0.580832, model checking: 0.004430): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050, q_gen_1083, q_gen_1101}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1083 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1083, q_gen_1028) -> q_gen_1101 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1029, q_gen_1101) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1083, q_gen_1028) -> q_gen_1050 (q_gen_1083, q_gen_1101) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1101) -> q_gen_1011 (q_gen_1083, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 (q_gen_1083, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1055) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1057) -> q_gen_1038 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1037, q_gen_1055) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 43 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 45 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 46 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 46 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 44 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(a, cons(a, nil)) ; h1 -> b ; l2 -> nil ; t1 -> nil }) ------------------------------------------- Step 59, which took 0.627167 s (model generation: 0.623577, model checking: 0.003590): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050, q_gen_1083, q_gen_1101}, Q_f={q_gen_1011}, Delta= { (q_gen_1083, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1083 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1029, q_gen_1101) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1083, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1101) -> q_gen_1011 (q_gen_1083, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 (q_gen_1083, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1055) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1057) -> q_gen_1038 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1037, q_gen_1055) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 44 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 48 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 46 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 46 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 45 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> nil ; _ce -> cons(b, cons(b, cons(b, nil))) ; h1 -> b ; t1 -> nil }) ------------------------------------------- Step 60, which took 2.773405 s (model generation: 2.769148, model checking: 0.004257): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050, q_gen_1101, q_gen_1113}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1029, q_gen_1101) -> q_gen_1113 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1113) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1113) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1055) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1057) -> q_gen_1038 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1037, q_gen_1055) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 45 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 48 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 46 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 49 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 46 } Sat witness: Found: ((length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]), { _ke -> s(s(z)) ; _le -> cons(a, cons(b, nil)) ; _me -> s(s(s(s(z)))) ; l1 -> cons(a, cons(b, nil)) }) ------------------------------------------- Step 61, which took 0.722387 s (model generation: 0.694051, model checking: 0.028336): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042, q_gen_1050}, Q_f={q_gen_1011, q_gen_1015}, Delta= { (q_gen_1029, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 () -> q_gen_1011 (q_gen_1030, q_gen_1015) -> q_gen_1015 (q_gen_1030, q_gen_1042) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1017, q_gen_1050) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1029, q_gen_1028) -> q_gen_1015 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1017, q_gen_1050) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023, q_gen_1032, q_gen_1033, q_gen_1043, q_gen_1044, q_gen_1045, q_gen_1046, q_gen_1070}, Q_f={q_gen_1009, q_gen_1022, q_gen_1032}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1033, q_gen_1032) -> q_gen_1009 (q_gen_1070, q_gen_1022) -> q_gen_1009 (q_gen_1070, q_gen_1032) -> q_gen_1009 (q_gen_1070, q_gen_1043) -> q_gen_1009 () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1032 (q_gen_1033, q_gen_1009) -> q_gen_1032 () -> q_gen_1033 (q_gen_1023, q_gen_1044) -> q_gen_1043 (q_gen_1033, q_gen_1043) -> q_gen_1043 (q_gen_1033, q_gen_1044) -> q_gen_1043 (q_gen_1070, q_gen_1009) -> q_gen_1043 (q_gen_1070, q_gen_1044) -> q_gen_1043 (q_gen_1023, q_gen_1022) -> q_gen_1044 (q_gen_1023, q_gen_1032) -> q_gen_1044 (q_gen_1033, q_gen_1022) -> q_gen_1044 (q_gen_1046, q_gen_1045) -> q_gen_1044 (q_gen_1046, q_gen_1045) -> q_gen_1044 () -> q_gen_1070 } 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 () -> reverse([nil, nil]) -> 46 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 51 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 47 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 49 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 47 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> cons(a, nil) ; _ce -> cons(a, cons(b, nil)) ; h1 -> a ; t1 -> cons(a, nil) }) ------------------------------------------- Step 62, which took 1.124234 s (model generation: 1.121884, model checking: 0.002350): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050, q_gen_1101, q_gen_1113}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1029, q_gen_1101) -> q_gen_1113 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1113) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1113) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057, q_gen_1080}, Q_f={q_gen_1010}, Delta= { (q_gen_1036, q_gen_1055) -> q_gen_1013 () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1080 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 (q_gen_1080) -> q_gen_1014 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1080) -> q_gen_1037 (q_gen_1014, q_gen_1035) -> q_gen_1039 (q_gen_1014, q_gen_1055) -> q_gen_1039 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 47 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 51 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 47 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 49 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 50 } Sat witness: Found: ((length([ll, _ge])) -> length([cons(x, ll), s(_ge)]), { _ge -> s(s(s(z))) ; ll -> cons(b, cons(a, cons(b, nil))) ; x -> b }) ------------------------------------------- Step 63, which took 1.329263 s (model generation: 1.323544, model checking: 0.005719): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050, q_gen_1101, q_gen_1113}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1029, q_gen_1101) -> q_gen_1113 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1113) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1113) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057, q_gen_1080}, Q_f={q_gen_1010}, Delta= { (q_gen_1036, q_gen_1055) -> q_gen_1013 () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1080 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 (q_gen_1080) -> q_gen_1014 () -> q_gen_1014 (q_gen_1080) -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1014, q_gen_1035) -> q_gen_1039 (q_gen_1014, q_gen_1055) -> q_gen_1039 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 47 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 51 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 50 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 49 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 50 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(b, cons(b, cons(b, cons(b, nil)))) ; h1 -> a ; l2 -> cons(b, cons(b, cons(b, nil))) ; t1 -> cons(b, nil) }) ------------------------------------------- Step 64, which took 1.051316 s (model generation: 1.049541, model checking: 0.001775): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050, q_gen_1101}, Q_f={q_gen_1011}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1029, q_gen_1101) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057, q_gen_1080}, Q_f={q_gen_1010}, Delta= { (q_gen_1036, q_gen_1055) -> q_gen_1013 () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1080 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 (q_gen_1080) -> q_gen_1014 () -> q_gen_1014 (q_gen_1080) -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1014, q_gen_1035) -> q_gen_1039 (q_gen_1014, q_gen_1055) -> q_gen_1039 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046, q_gen_1117}, Q_f={q_gen_1009}, Delta= { () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1046, q_gen_1045) -> q_gen_1117 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1046, q_gen_1117) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 48 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 51 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 50 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 52 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 50 } Sat witness: Found: ((length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]), { _ke -> z ; _le -> cons(a, cons(b, nil)) ; _me -> s(s(z)) ; l1 -> nil }) ------------------------------------------- Step 65, which took 1.084708 s (model generation: 1.048063, model checking: 0.036645): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042, q_gen_1050, q_gen_1101}, Q_f={q_gen_1011, q_gen_1015}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1029, q_gen_1101) -> q_gen_1050 (q_gen_1029, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1015) -> q_gen_1015 (q_gen_1030, q_gen_1042) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1017, q_gen_1050) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1029, q_gen_1028) -> q_gen_1015 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1017, q_gen_1050) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1036, q_gen_1055) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023, q_gen_1033, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009, q_gen_1022}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1033, q_gen_1009) -> q_gen_1009 (q_gen_1033, q_gen_1022) -> q_gen_1009 () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1033 () -> q_gen_1033 (q_gen_1023, q_gen_1022) -> q_gen_1043 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1033, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 49 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 51 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 53 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 52 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 51 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(b, cons(b, cons(b, cons(b, nil)))) ; h1 -> a ; l2 -> cons(b, cons(b, nil)) ; t1 -> cons(b, nil) }) ------------------------------------------- Step 66, which took 1.129293 s (model generation: 1.125582, model checking: 0.003711): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042, q_gen_1050, q_gen_1101}, Q_f={q_gen_1011, q_gen_1015}, Delta= { (q_gen_1029, q_gen_1101) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1017, q_gen_1050) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1029, q_gen_1101) -> q_gen_1050 (q_gen_1030, q_gen_1042) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1015) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1017, q_gen_1050) -> q_gen_1015 (q_gen_1029, q_gen_1028) -> q_gen_1015 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1017, q_gen_1050) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1036, q_gen_1055) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023, q_gen_1033, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009, q_gen_1022}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1033, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 (q_gen_1033, q_gen_1022) -> q_gen_1022 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1033 () -> q_gen_1033 (q_gen_1023, q_gen_1022) -> q_gen_1043 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1033, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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 () -> reverse([nil, nil]) -> 50 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 54 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 53 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 52 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 52 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> cons(a, nil) ; _ce -> cons(a, cons(b, nil)) ; h1 -> b ; t1 -> cons(b, nil) }) ------------------------------------------- Step 67, which took 1.520590 s (model generation: 1.515450, model checking: 0.005140): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042, q_gen_1050, q_gen_1101}, Q_f={q_gen_1011, q_gen_1027}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1029, q_gen_1101) -> q_gen_1101 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1029, q_gen_1101) -> q_gen_1050 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1042) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1017, q_gen_1050) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1036, q_gen_1055) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046, q_gen_1070}, Q_f={q_gen_1009, q_gen_1022}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1022) -> q_gen_1009 (q_gen_1070, q_gen_1043) -> q_gen_1009 () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 (q_gen_1070, q_gen_1022) -> q_gen_1022 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1070, q_gen_1009) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 () -> q_gen_1070 } 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 () -> reverse([nil, nil]) -> 51 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 54 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 53 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 55 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 53 } Sat witness: Found: ((length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]), { _ke -> s(s(s(z))) ; _le -> cons(a, cons(b, cons(b, cons(b, nil)))) ; _me -> s(s(s(s(z)))) ; l1 -> cons(b, cons(b, cons(b, cons(b, nil)))) }) ------------------------------------------- Step 68, which took 6.457395 s (model generation: 6.451858, model checking: 0.005537): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042, q_gen_1050}, Q_f={q_gen_1011, q_gen_1015}, Delta= { (q_gen_1029, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1017, q_gen_1050) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1042) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1015) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1017, q_gen_1050) -> q_gen_1015 (q_gen_1029, q_gen_1028) -> q_gen_1015 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1017, q_gen_1050) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057, q_gen_1080}, Q_f={q_gen_1010}, Delta= { (q_gen_1036, q_gen_1055) -> q_gen_1013 () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1080 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 (q_gen_1080) -> q_gen_1014 () -> q_gen_1014 (q_gen_1080) -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1014, q_gen_1035) -> q_gen_1039 (q_gen_1014, q_gen_1055) -> q_gen_1039 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1033, q_gen_1043, q_gen_1044, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1023, q_gen_1043) -> q_gen_1009 (q_gen_1033, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1033 () -> q_gen_1033 (q_gen_1023, q_gen_1044) -> q_gen_1043 (q_gen_1033, q_gen_1043) -> q_gen_1043 (q_gen_1033, q_gen_1044) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1044 (q_gen_1046, q_gen_1045) -> q_gen_1044 } 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 () -> reverse([nil, nil]) -> 52 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 54 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 53 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 55 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 56 } Sat witness: Found: ((length([ll, _ge])) -> length([cons(x, ll), s(_ge)]), { _ge -> s(s(s(s(z)))) ; ll -> cons(b, cons(b, cons(a, cons(b, nil)))) ; x -> b }) ------------------------------------------- Step 69, which took 4.591031 s (model generation: 4.585977, model checking: 0.005054): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1018, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042, q_gen_1050, q_gen_1101}, Q_f={q_gen_1011, q_gen_1018}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1029, q_gen_1101) -> q_gen_1101 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1029, q_gen_1101) -> q_gen_1050 (q_gen_1030, q_gen_1018) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1042) -> q_gen_1018 (q_gen_1017, q_gen_1050) -> q_gen_1018 (q_gen_1017, q_gen_1016) -> q_gen_1018 (q_gen_1029, q_gen_1028) -> q_gen_1018 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1017, q_gen_1050) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057, q_gen_1080}, Q_f={q_gen_1010}, Delta= { (q_gen_1036, q_gen_1055) -> q_gen_1013 () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1080) -> q_gen_1038 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1080 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 (q_gen_1080) -> q_gen_1014 () -> q_gen_1014 (q_gen_1080) -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1014, q_gen_1035) -> q_gen_1039 (q_gen_1014, q_gen_1055) -> q_gen_1039 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046, q_gen_1070}, Q_f={q_gen_1009}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1070, q_gen_1009) -> q_gen_1009 (q_gen_1070, q_gen_1043) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 () -> q_gen_1070 } 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 () -> reverse([nil, nil]) -> 53 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 54 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 56 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 55 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 56 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(b, cons(a, cons(b, cons(b, nil)))) ; h1 -> a ; l2 -> cons(a, cons(b, nil)) ; t1 -> cons(b, cons(a, nil)) }) ------------------------------------------- Step 70, which took 2.667156 s (model generation: 2.665190, model checking: 0.001966): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042, q_gen_1050}, Q_f={q_gen_1011, q_gen_1015}, Delta= { (q_gen_1029, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 (q_gen_1017, q_gen_1050) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1042) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1015) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1017, q_gen_1050) -> q_gen_1015 (q_gen_1029, q_gen_1028) -> q_gen_1015 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1017, q_gen_1050) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057, q_gen_1080}, Q_f={q_gen_1010}, Delta= { (q_gen_1036, q_gen_1055) -> q_gen_1013 () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1080) -> q_gen_1038 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1080 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 (q_gen_1080) -> q_gen_1014 () -> q_gen_1014 (q_gen_1080) -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1014, q_gen_1035) -> q_gen_1039 (q_gen_1014, q_gen_1055) -> q_gen_1039 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1033, q_gen_1043, q_gen_1044, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1023, q_gen_1043) -> q_gen_1009 (q_gen_1033, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1033 (q_gen_1023, q_gen_1044) -> q_gen_1043 (q_gen_1033, q_gen_1043) -> q_gen_1043 (q_gen_1033, q_gen_1044) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1044 (q_gen_1046, q_gen_1045) -> q_gen_1044 } 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]) -> 54 () -> length([nil, z]) -> 54 () -> reverse([nil, nil]) -> 54 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 57 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 56 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 55 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 56 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> cons(a, nil) ; _ce -> cons(a, cons(b, cons(b, nil))) ; h1 -> a ; t1 -> cons(b, nil) }) ------------------------------------------- Step 71, which took 2.724067 s (model generation: 2.722009, model checking: 0.002058): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042, q_gen_1050, q_gen_1101, q_gen_1113}, Q_f={q_gen_1011, q_gen_1027}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1029, q_gen_1101) -> q_gen_1101 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1029, q_gen_1101) -> q_gen_1113 (q_gen_1030, q_gen_1027) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1113) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1042) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1017, q_gen_1050) -> q_gen_1042 (q_gen_1017, q_gen_1113) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057, q_gen_1080}, Q_f={q_gen_1010}, Delta= { (q_gen_1036, q_gen_1055) -> q_gen_1013 () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1080) -> q_gen_1038 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1080 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 (q_gen_1080) -> q_gen_1014 () -> q_gen_1014 (q_gen_1080) -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1014, q_gen_1035) -> q_gen_1039 (q_gen_1014, q_gen_1055) -> q_gen_1039 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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]) -> 55 () -> length([nil, z]) -> 55 () -> reverse([nil, nil]) -> 55 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 57 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 56 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 58 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 56 } Sat witness: Found: ((length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]), { _ke -> s(z) ; _le -> cons(a, nil) ; _me -> s(s(s(s(z)))) ; l1 -> cons(a, nil) }) ------------------------------------------- Step 72, which took 5.876481 s (model generation: 5.840707, model checking: 0.035774): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1026, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042, q_gen_1050, q_gen_1101}, Q_f={q_gen_1011, q_gen_1026}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1029, q_gen_1101) -> q_gen_1101 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1029, q_gen_1101) -> q_gen_1050 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1026) -> q_gen_1026 (q_gen_1030, q_gen_1042) -> q_gen_1026 (q_gen_1017, q_gen_1050) -> q_gen_1026 (q_gen_1029, q_gen_1028) -> q_gen_1026 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1017, q_gen_1050) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1036, q_gen_1055) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1043, q_gen_1045, q_gen_1046, q_gen_1068, q_gen_1069}, Q_f={q_gen_1009}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1023, q_gen_1068) -> q_gen_1009 (q_gen_1069, q_gen_1068) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 () -> q_gen_1023 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1069, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1069, q_gen_1009) -> q_gen_1068 () -> q_gen_1069 () -> q_gen_1069 } 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]) -> 56 () -> length([nil, z]) -> 56 () -> reverse([nil, nil]) -> 56 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 60 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 57 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 58 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 57 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> cons(a, nil) ; _ce -> cons(a, cons(a, nil)) ; h1 -> b ; t1 -> cons(a, nil) }) ------------------------------------------- Step 73, which took 3.069301 s (model generation: 3.067720, model checking: 0.001581): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1018, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042, q_gen_1050, q_gen_1083, q_gen_1093, q_gen_1101}, Q_f={q_gen_1011, q_gen_1018}, Delta= { (q_gen_1083, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1083 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1029, q_gen_1101) -> q_gen_1101 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1029, q_gen_1101) -> q_gen_1050 (q_gen_1083, q_gen_1028) -> q_gen_1050 (q_gen_1030, q_gen_1018) -> q_gen_1011 (q_gen_1093, q_gen_1042) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1029, q_gen_1101) -> q_gen_1011 (q_gen_1083, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1042) -> q_gen_1018 (q_gen_1093, q_gen_1011) -> q_gen_1018 (q_gen_1017, q_gen_1050) -> q_gen_1018 (q_gen_1017, q_gen_1016) -> q_gen_1018 (q_gen_1029, q_gen_1028) -> q_gen_1018 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1093, q_gen_1018) -> q_gen_1042 (q_gen_1017, q_gen_1050) -> q_gen_1042 (q_gen_1083, q_gen_1028) -> q_gen_1042 () -> q_gen_1093 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1035) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 (q_gen_1038) -> q_gen_1038 () -> q_gen_1038 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023, q_gen_1032, q_gen_1033, q_gen_1043, q_gen_1045, q_gen_1046, q_gen_1069}, Q_f={q_gen_1009, q_gen_1022, q_gen_1032}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1033, q_gen_1032) -> q_gen_1009 (q_gen_1069, q_gen_1032) -> q_gen_1009 (q_gen_1069, q_gen_1043) -> q_gen_1009 () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 (q_gen_1023, q_gen_1022) -> q_gen_1022 () -> q_gen_1023 (q_gen_1033, q_gen_1009) -> q_gen_1032 () -> q_gen_1033 (q_gen_1023, q_gen_1032) -> q_gen_1043 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1033, q_gen_1022) -> q_gen_1043 (q_gen_1033, q_gen_1043) -> q_gen_1043 (q_gen_1069, q_gen_1009) -> q_gen_1043 (q_gen_1069, q_gen_1022) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 () -> q_gen_1069 () -> q_gen_1069 } 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]) -> 57 () -> length([nil, z]) -> 57 () -> reverse([nil, nil]) -> 57 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 60 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 60 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 58 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 58 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(a, nil) ; h1 -> b ; l2 -> cons(a, nil) ; t1 -> cons(a, nil) }) ------------------------------------------- Step 74, which took 3.969268 s (model generation: 3.963250, model checking: 0.006018): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1027, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1050, q_gen_1101, q_gen_1113}, Q_f={q_gen_1011, q_gen_1015}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1029, q_gen_1101) -> q_gen_1101 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1029, q_gen_1101) -> q_gen_1113 (q_gen_1017, q_gen_1113) -> q_gen_1011 (q_gen_1029, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1015) -> q_gen_1015 (q_gen_1030, q_gen_1027) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1017, q_gen_1050) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1030, q_gen_1011) -> q_gen_1027 (q_gen_1017, q_gen_1050) -> q_gen_1027 (q_gen_1017, q_gen_1113) -> q_gen_1027 (q_gen_1029, q_gen_1028) -> q_gen_1027 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1057, q_gen_1072}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1036, q_gen_1055) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1037, q_gen_1055) -> q_gen_1010 (q_gen_1072, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1057) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1072, q_gen_1013) -> q_gen_1039 (q_gen_1072, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1072 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023, q_gen_1033, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009, q_gen_1022}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 (q_gen_1033, q_gen_1009) -> q_gen_1022 (q_gen_1033, q_gen_1022) -> q_gen_1022 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1033 () -> q_gen_1033 (q_gen_1023, q_gen_1022) -> q_gen_1043 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1033, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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]) -> 58 () -> length([nil, z]) -> 58 () -> reverse([nil, nil]) -> 58 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 60 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 60 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 61 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 59 } Sat witness: Found: ((length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]), { _ke -> s(s(s(z))) ; _le -> cons(a, cons(b, nil)) ; _me -> s(s(z)) ; l1 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 75, which took 4.078166 s (model generation: 4.052998, model checking: 0.025168): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1016, q_gen_1017, q_gen_1018, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042, q_gen_1050, q_gen_1101, q_gen_1113}, Q_f={q_gen_1011, q_gen_1018}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1029, q_gen_1101) -> q_gen_1101 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1029, q_gen_1101) -> q_gen_1113 (q_gen_1030, q_gen_1018) -> q_gen_1011 (q_gen_1017, q_gen_1016) -> q_gen_1011 (q_gen_1017, q_gen_1113) -> q_gen_1011 (q_gen_1029, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1030, q_gen_1042) -> q_gen_1018 (q_gen_1017, q_gen_1050) -> q_gen_1018 (q_gen_1017, q_gen_1016) -> q_gen_1018 (q_gen_1029, q_gen_1028) -> q_gen_1018 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1017, q_gen_1050) -> q_gen_1042 (q_gen_1017, q_gen_1113) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1036, q_gen_1055) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023, q_gen_1033, q_gen_1043, q_gen_1045, q_gen_1046}, Q_f={q_gen_1009, q_gen_1022}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1033, q_gen_1022) -> q_gen_1009 () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 (q_gen_1033, q_gen_1009) -> q_gen_1022 () -> q_gen_1023 () -> q_gen_1023 () -> q_gen_1033 () -> q_gen_1033 (q_gen_1023, q_gen_1022) -> q_gen_1043 (q_gen_1023, q_gen_1043) -> q_gen_1043 (q_gen_1033, q_gen_1043) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 } 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]) -> 59 () -> length([nil, z]) -> 59 () -> reverse([nil, nil]) -> 59 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 60 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 63 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 61 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 60 } Sat witness: Found: ((append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]), { _wd -> cons(b, cons(a, cons(a, cons(b, cons(b, nil))))) ; h1 -> a ; l2 -> cons(b, cons(a, cons(a, cons(b, nil)))) ; t1 -> cons(b, nil) }) ------------------------------------------- Step 76, which took 4.099815 s (model generation: 4.094148, model checking: 0.005667): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1042, q_gen_1050}, Q_f={q_gen_1011, q_gen_1015}, Delta= { (q_gen_1029, q_gen_1028) -> q_gen_1028 () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1029 (q_gen_1017, q_gen_1016) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 () -> q_gen_1017 (q_gen_1017, q_gen_1050) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 () -> q_gen_1011 (q_gen_1030, q_gen_1015) -> q_gen_1015 (q_gen_1030, q_gen_1042) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1017, q_gen_1050) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1029, q_gen_1028) -> q_gen_1015 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1042 (q_gen_1017, q_gen_1050) -> q_gen_1042 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057}, Q_f={q_gen_1010}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1036, q_gen_1055) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1057 (q_gen_1014, q_gen_1013) -> q_gen_1010 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1056, q_gen_1055) -> q_gen_1010 () -> q_gen_1010 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1038) -> q_gen_1037 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1023, q_gen_1032, q_gen_1033, q_gen_1043, q_gen_1044, q_gen_1045, q_gen_1046, q_gen_1070}, Q_f={q_gen_1009, q_gen_1032}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1046 (q_gen_1023, q_gen_1009) -> q_gen_1009 (q_gen_1023, q_gen_1043) -> q_gen_1009 (q_gen_1070, q_gen_1032) -> q_gen_1009 (q_gen_1070, q_gen_1044) -> q_gen_1009 () -> q_gen_1009 () -> q_gen_1023 (q_gen_1033, q_gen_1009) -> q_gen_1032 (q_gen_1033, q_gen_1032) -> q_gen_1032 () -> q_gen_1033 () -> q_gen_1033 (q_gen_1023, q_gen_1032) -> q_gen_1043 (q_gen_1023, q_gen_1044) -> q_gen_1043 (q_gen_1033, q_gen_1043) -> q_gen_1044 (q_gen_1033, q_gen_1044) -> q_gen_1044 (q_gen_1070, q_gen_1009) -> q_gen_1044 (q_gen_1046, q_gen_1045) -> q_gen_1044 (q_gen_1046, q_gen_1045) -> q_gen_1044 () -> q_gen_1070 } 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]) -> 60 () -> length([nil, z]) -> 60 () -> reverse([nil, nil]) -> 60 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 63 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 63 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 61 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 61 } Sat witness: Found: ((append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]), { _be -> cons(a, nil) ; _ce -> cons(a, cons(b, cons(b, nil))) ; h1 -> a ; t1 -> cons(a, nil) }) ------------------------------------------- Step 77, which took 4.018848 s (model generation: 4.017733, model checking: 0.001115): Model: |_ { append -> {{{ Q={q_gen_1011, q_gen_1015, q_gen_1016, q_gen_1017, q_gen_1020, q_gen_1028, q_gen_1029, q_gen_1030, q_gen_1040, q_gen_1050, q_gen_1066, q_gen_1083, q_gen_1101, q_gen_1114, q_gen_1147, q_gen_1157, q_gen_1160, q_gen_1189}, Q_f={q_gen_1011, q_gen_1015, q_gen_1157, q_gen_1160}, Delta= { () -> q_gen_1028 () -> q_gen_1029 () -> q_gen_1083 (q_gen_1029, q_gen_1028) -> q_gen_1101 (q_gen_1029, q_gen_1101) -> q_gen_1114 (q_gen_1083, q_gen_1028) -> q_gen_1114 (q_gen_1017, q_gen_1050) -> q_gen_1016 (q_gen_1020, q_gen_1016) -> q_gen_1016 (q_gen_1083, q_gen_1028) -> q_gen_1016 (q_gen_1083, q_gen_1114) -> q_gen_1016 () -> q_gen_1016 () -> q_gen_1017 () -> q_gen_1020 () -> q_gen_1020 () -> q_gen_1020 (q_gen_1017, q_gen_1016) -> q_gen_1050 (q_gen_1029, q_gen_1028) -> q_gen_1050 (q_gen_1029, q_gen_1101) -> q_gen_1050 (q_gen_1020, q_gen_1050) -> q_gen_1189 (q_gen_1030, q_gen_1015) -> q_gen_1011 (q_gen_1066, q_gen_1015) -> q_gen_1011 (q_gen_1029, q_gen_1101) -> q_gen_1011 (q_gen_1083, q_gen_1101) -> q_gen_1011 () -> q_gen_1011 (q_gen_1066, q_gen_1040) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1017, q_gen_1050) -> q_gen_1015 (q_gen_1017, q_gen_1016) -> q_gen_1015 (q_gen_1020, q_gen_1016) -> q_gen_1015 (q_gen_1029, q_gen_1028) -> q_gen_1015 () -> q_gen_1030 (q_gen_1030, q_gen_1011) -> q_gen_1040 (q_gen_1066, q_gen_1011) -> q_gen_1040 (q_gen_1020, q_gen_1016) -> q_gen_1040 (q_gen_1017, q_gen_1050) -> q_gen_1040 (q_gen_1020, q_gen_1050) -> q_gen_1040 (q_gen_1083, q_gen_1028) -> q_gen_1040 () -> q_gen_1066 () -> q_gen_1066 () -> q_gen_1066 (q_gen_1030, q_gen_1040) -> q_gen_1147 (q_gen_1083, q_gen_1114) -> q_gen_1147 (q_gen_1066, q_gen_1147) -> q_gen_1157 (q_gen_1030, q_gen_1160) -> q_gen_1160 (q_gen_1066, q_gen_1160) -> q_gen_1160 (q_gen_1020, q_gen_1050) -> q_gen_1160 (q_gen_1020, q_gen_1189) -> q_gen_1160 (q_gen_1029, q_gen_1114) -> q_gen_1160 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1010, q_gen_1012, q_gen_1013, q_gen_1014, q_gen_1035, q_gen_1036, q_gen_1037, q_gen_1038, q_gen_1039, q_gen_1055, q_gen_1056, q_gen_1057, q_gen_1064, q_gen_1086}, Q_f={q_gen_1010, q_gen_1012}, Delta= { () -> q_gen_1013 (q_gen_1036, q_gen_1013) -> q_gen_1035 (q_gen_1036, q_gen_1055) -> q_gen_1035 () -> q_gen_1036 () -> q_gen_1038 (q_gen_1036, q_gen_1035) -> q_gen_1055 (q_gen_1064, q_gen_1013) -> q_gen_1055 (q_gen_1038) -> q_gen_1057 (q_gen_1057) -> q_gen_1057 () -> q_gen_1064 (q_gen_1036, q_gen_1086) -> q_gen_1086 (q_gen_1064, q_gen_1035) -> q_gen_1086 (q_gen_1037, q_gen_1035) -> q_gen_1010 (q_gen_1037, q_gen_1055) -> q_gen_1010 (q_gen_1056, q_gen_1086) -> q_gen_1010 () -> q_gen_1010 (q_gen_1014, q_gen_1013) -> q_gen_1012 (q_gen_1014, q_gen_1035) -> q_gen_1012 (q_gen_1056, q_gen_1055) -> q_gen_1012 (q_gen_1038) -> q_gen_1014 () -> q_gen_1014 () -> q_gen_1014 (q_gen_1038) -> q_gen_1037 (q_gen_1014, q_gen_1055) -> q_gen_1039 (q_gen_1037, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1013) -> q_gen_1039 (q_gen_1056, q_gen_1035) -> q_gen_1039 (q_gen_1057) -> q_gen_1056 (q_gen_1057) -> q_gen_1056 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_1009, q_gen_1022, q_gen_1023, q_gen_1033, q_gen_1043, q_gen_1044, q_gen_1045, q_gen_1046, q_gen_1070, q_gen_1116, q_gen_1118}, Q_f={q_gen_1009, q_gen_1022}, Delta= { (q_gen_1046, q_gen_1045) -> q_gen_1045 (q_gen_1118, q_gen_1045) -> q_gen_1045 () -> q_gen_1045 () -> q_gen_1046 () -> q_gen_1118 (q_gen_1023, q_gen_1116) -> q_gen_1009 (q_gen_1070, q_gen_1043) -> q_gen_1009 () -> q_gen_1009 (q_gen_1023, q_gen_1009) -> q_gen_1022 (q_gen_1033, q_gen_1009) -> q_gen_1022 (q_gen_1033, q_gen_1022) -> q_gen_1022 (q_gen_1070, q_gen_1022) -> q_gen_1022 () -> q_gen_1023 () -> q_gen_1033 () -> q_gen_1033 (q_gen_1023, q_gen_1044) -> q_gen_1043 (q_gen_1033, q_gen_1043) -> q_gen_1043 (q_gen_1070, q_gen_1009) -> q_gen_1043 (q_gen_1046, q_gen_1045) -> q_gen_1043 (q_gen_1023, q_gen_1022) -> q_gen_1044 (q_gen_1023, q_gen_1043) -> q_gen_1044 (q_gen_1046, q_gen_1045) -> q_gen_1044 () -> q_gen_1070 (q_gen_1033, q_gen_1044) -> q_gen_1116 (q_gen_1070, q_gen_1044) -> q_gen_1116 (q_gen_1118, q_gen_1045) -> q_gen_1116 } 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]) -> 63 () -> length([nil, z]) -> 61 () -> reverse([nil, nil]) -> 61 (append([_be, cons(h1, nil), _ce]) /\ reverse([t1, _be])) -> reverse([cons(h1, t1), _ce]) -> 63 (append([t1, l2, _wd])) -> append([cons(h1, t1), l2, cons(h1, _wd)]) -> 63 (length([_le, _me]) /\ length([l1, _ke]) /\ reverse([l1, _le])) -> eq_nat([_ke, _me]) -> 61 (length([ll, _ge])) -> length([cons(x, ll), s(_ge)]) -> 61 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> cons(b, cons(b, nil)) }) Total time: 66.819906 Reason for stopping: DontKnow. Stopped because: timeout