1 % (c) 2009-2026 Lehrstuhl fuer Softwaretechnik und Programmiersprachen,
2 % Heinrich Heine Universitaet Duesseldorf
3 % This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html)
4
5 % each cli_testcase consists of: id, list of categories, arguments to probcli, comment
6
7 :- module(testcases, [cli_testcase/5,
8 set_generating_coverage/0, unset_generating_coverage/0,
9 test_requires_extension/3, test_category_requires_extension/2,
10 test_requires_previous_test/2,
11 cli_testcase_diff_check_output/3, cli_testcase_do_not_delete/2,
12 extra_testcase_file/2]).
13
14 %:- use_module('../extensions/profiler/profiler.pl').
15 %:- use_module('../extensions/profiler/profiler_te.pl').
16 %:- enable_profiling(cli_testcase/5).
17
18 :- use_module(probsrc(module_information),[module_info/2]).
19 :- module_info(group,testing).
20 :- module_info(description,'This module defines the (integration) tests.').
21
22 :- use_module(library(lists), [append/2]).
23 cli_testcase(Id,Groups,TestConfiguration,Arguments,Description) :-
24 ? cli_testcase(Id,Groups,ArgumentsTemp,Description),
25 options_all_tests(Id,AdditionalArguments),
26 append(ArgumentsTemp,AdditionalArguments,Arguments),
27 findall(Conf,additional_configuration(Id,Conf),TestConfiguration).
28
29
30 % options that should be used in all testcases
31 options_all_tests(1303,['-strict']) :- !.
32 options_all_tests(1351,['-strict']) :- !. % tests generate warnings and we still want to load the B machines
33 options_all_tests(1658,['-strict']) :- !.
34 options_all_tests(_,['-strict','-p','STRICT_RAISE_WARNINGS','TRUE']).
35
36 :- dynamic generating_coverage/0.
37 set_generating_coverage :- (generating_coverage -> true ; assertz(generating_coverage)).
38 unset_generating_coverage :- retractall(generating_coverage).
39
40 :- public real_clpfd_solver_unavailable/0.
41 real_clpfd_solver_unavailable :- \+ real_clpfd_solver_available.
42 real_clpfd_solver_available :-
43 current_prolog_flag(version_data,sicstus(V1,V2,_,_,_)),
44 v(V1,V2) @>= v(4,10). % full real solver requires SICStus 4.10 CLPFD
45
46
47 :- use_module(probsrc(tools_platform), [host_platform/1, platform_is_64_bit/0]).
48 :- use_module(probsrc(parsercall),[get_parser_version/6]).
49 additional_configuration(37, conditional_skip(\+(platform_is_64_bit))). /* CLP(FD) buffer overflow on win32 */
50 additional_configuration(43, conditional_skip(\+(platform_is_64_bit))). /* integer too large for 32-bit systems */
51 additional_configuration(50, conditional_skip(host_platform(windows))).
52 additional_configuration(161, conditional_skip(host_platform(windows))).
53 additional_configuration(271, conditional_skip(host_platform(windows))).
54 %additional_configuration(324, skip). /* because only works if SMT mode is allowed to instantiate */
55 additional_configuration(539, conditional_skip(host_platform(windows))).
56 additional_configuration(469, conditional_skip(\+(platform_is_64_bit))). /* timeout */
57 additional_configuration(767, conditional_skip(\+(platform_is_64_bit))). /* integer overflow on 32-bit systems */
58 additional_configuration(875, skip). % The type checker temporarily also allows {x|->y | x=y+1 } (added to support UNION/INTER with Prolog BParser)
59 additional_configuration(943, skip). % Skip until we move to new parser
60 additional_configuration(1101, conditional_skip(\+(platform_is_64_bit))). % not enough memory
61 additional_configuration(1102, conditional_skip(\+(platform_is_64_bit))). % not enough memory
62 additional_configuration(1103, conditional_skip(\+(platform_is_64_bit))). % not enough memory
63 additional_configuration(1131, conditional_skip(\+(platform_is_64_bit))). % not enough memory
64 additional_configuration(1157, conditional_skip(\+(platform_is_64_bit))). % not enough memory
65 additional_configuration(1162, conditional_skip(host_platform(linux))). /* linux32 is too slow for this testcase Timeout when posting constraint: clpfd_interface:(list_to_fdset([506,506],_374556577),_374485321 in_set _374556577) -> timeout; ditto for linux 64?! */
66 additional_configuration(1207, conditional_skip(\+(platform_is_64_bit))). /* integer overflow on 32-bit systems */
67 additional_configuration(1360, conditional_skip(\+(platform_is_64_bit))). /* funnily enough: no clpfd overflow */
68 additional_configuration(844, skip). % repl option is not anymore available
69 additional_configuration(988, skip). % skip test case until merging 'feature/avl_sets_csp' with 'develop'
70 additional_configuration(987, skip). % no reductions can be gained in this test case
71 additional_configuration(1316, conditional_skip(host_platform(windows))).
72 % Crashes on Windows, but only when running entire b_test category.
73 % Probably caused by an earlier test, but don't know which.
74 additional_configuration(1414, conditional_skip(host_platform(windows))).
75 additional_configuration(1441, conditional_skip(\+(platform_is_64_bit))). /* timeout */
76 additional_configuration(1447, conditional_skip(\+(platform_is_64_bit))). /* timeout */
77 additional_configuration(1452, conditional_skip(\+(platform_is_64_bit))). /* timeout */
78 additional_configuration(1609, conditional_skip(\+(platform_is_64_bit))). /* integer overflow on 32-bit systems */
79 additional_configuration(1654, conditional_skip(host_platform(windows))). % file contains unicode and can not be checked out properly on windows
80 additional_configuration(1716, conditional_skip(\+(platform_is_64_bit))). /* timeout */
81 %additional_configuration(1753, conditional_skip(\+(host_platform(linux)))). % solving table/2 issue causes further slowdown; TODO: re-evaluate for SICStus 4.8; not_exists is now better expanded into forall, cutting down huge search space for kp parameter in centimetre with 2 million values
82 additional_configuration(1771, conditional_skip(host_platform(windows))).
83 additional_configuration(1792, conditional_skip(\+(platform_is_64_bit))). /* CLP(FD) overflow on win32 */
84 additional_configuration(2423, conditional_skip(\+(platform_is_64_bit))).
85 additional_configuration(2425, conditional_skip(\+(platform_is_64_bit))).
86
87 % seems slow on Windows for SICStus 4.6 and 4.7
88 additional_configuration(1800, conditional_skip((host_platform(windows), current_prolog_flag(version_data,sicstus(V1,V2,_,_,_)), v(V1,V2) @>= v(4,6)))).
89
90 %additional_configuration(1812, skip). % sometimes unknown or segfault using 4.12.2, wait for release of 4.12.3;
91 % now we have mk_expr_skip failed error messages for GearsDoorsHandle3_mch; commented out
92
93 additional_configuration(1926, conditional_skip(host_platform(windows))). % Alloy bug on windows: https://github.com/AlloyTools/org.alloytools.alloy/issues/112
94
95 % platoon_2_mch and platoon_3_0_mch platoon_4_0_mch are not animatable (any more) with more restrictive enumeration warning treatment; they require infinite total functions (xpos: NATURAL ** .... --> )
96 additional_configuration(129, skip).
97 additional_configuration(130, skip).
98 additional_configuration(131, skip).
99 additional_configuration(132, skip).
100 additional_configuration(333, skip).
101 additional_configuration(334, skip).
102 %additional_configuration(1308, skip). % Kodkod test, now fails with more conservative card treatment, 20th April 2016, git sha: a422afcd2949b8b0a40821f0029b41240935e695; works again 7th March 2024
103 additional_configuration(1552, skip). % removed unsafe function application treatment in b_compiler, 22nd July 2016
104 additional_configuration(1705, skip). % requires feature b_write_eventb_machine_to_classicalb_to_file to be added to cli_start_mc_with_tlc
105 additional_configuration(1809, skip). % skip until Kodkod problem solved
106 %additional_configuration(2001, conditional_skip((get_parser_version(_,V1,V2,V3,_,_), v(V1,V2,V3) @>= v(2,13,5)))). % Machine hash changes with new parser version
107 %additional_configuration(2021, conditional_skip(host_platform(windows))). % skip until kernel_attr used for not_empty_set and eq_empty_set
108 additional_configuration(2166, conditional_skip(host_platform(windows))). % occasional cdclt timeouts on windows
109 additional_configuration(2179, conditional_skip(host_platform(windows))). % currently reproducibly causes a native crash on Windows
110 additional_configuration(2249, conditional_skip(host_platform(windows))). %
111 additional_configuration(2252, conditional_skip(host_platform(windows))). %
112 additional_configuration(2261, conditional_skip(host_platform(windows))). %
113 additional_configuration(2262, conditional_skip(host_platform(windows))). %
114 additional_configuration(2267, conditional_skip(host_platform(windows))). %
115 additional_configuration(2280, conditional_skip(host_platform(windows))). %
116 additional_configuration(2281, conditional_skip(host_platform(windows))). %
117 additional_configuration(2282, conditional_skip((host_platform(windows) ; generating_coverage))). % some also time out in coverage build
118 additional_configuration(2293, conditional_skip(host_platform(windows))). %
119 additional_configuration(2294, conditional_skip(host_platform(windows))). %
120 additional_configuration(2363, conditional_skip((host_platform(windows) ; generating_coverage))). %
121 additional_configuration(2365, conditional_skip(host_platform(windows))). %
122 additional_configuration(2366, conditional_skip(host_platform(windows))). %
123 additional_configuration(2367, conditional_skip(host_platform(windows))). %
124 additional_configuration(2368, conditional_skip(host_platform(windows))). %
125 additional_configuration(2369, conditional_skip((host_platform(windows) ; generating_coverage))). %
126 additional_configuration(2370, conditional_skip((host_platform(windows) ; generating_coverage))). %
127 additional_configuration(2374, conditional_skip(host_platform(windows))). %
128 additional_configuration(2375, conditional_skip(host_platform(windows))). %
129 additional_configuration(2376, conditional_skip(host_platform(windows))). %
130
131 % these machines cannot be model checked symbolically as of now
132 % solvers / provers are too weak
133 % or they just take too long
134 additional_configuration(1431, skip).
135 additional_configuration(1582, skip).
136 additional_configuration(1583, skip).
137 additional_configuration(1585, skip).
138
139 additional_configuration(2423, conditional_skip(real_clpfd_solver_available)). % aggressive solving slightly different with new CLP(FD) solver from SICStus 4.10
140 additional_configuration(2561, conditional_skip(real_clpfd_solver_available)). % no longer works in SICStus 4.10, see SPRM-21541
141 additional_configuration(2562, conditional_skip(real_clpfd_solver_unavailable)). % requires SICStus 4.10 CLPFD real solver
142 additional_configuration(2566, conditional_skip(real_clpfd_solver_unavailable)). % requires SICStus 4.10 CLPFD real solver
143 additional_configuration(2569, conditional_skip(real_clpfd_solver_unavailable)). % requires SICStus 4.10 CLPFD real solver
144 additional_configuration(2581, conditional_skip(real_clpfd_solver_unavailable)). % requires SICStus 4.10 CLPFD real solver
145 additional_configuration(2622, conditional_skip(real_clpfd_solver_unavailable)). % requires SICStus 4.10 CLPFD real solver
146
147 additional_configuration(2596, skip). % test takes two minutes; hence skip by default
148
149 % crashes in SICStus 4.10.2-beta2, should be fixed in beta3 or final; TODO: remove skip
150 % they now no longer crash in 4.10.2-beta3:
151 %additional_configuration(2431, conditional_skip(real_clpfd_solver_available)).
152 %additional_configuration(2565, conditional_skip(real_clpfd_solver_available)).
153 %additional_configuration(2578, conditional_skip(real_clpfd_solver_available)).
154
155 % Very slow (or possibly hanging) on SWI
156 additional_configuration(24, conditional_skip(current_prolog_flag(dialect, swi))).
157 additional_configuration(31, conditional_skip(current_prolog_flag(dialect, swi))).
158 additional_configuration(62, conditional_skip(current_prolog_flag(dialect, swi))).
159 %additional_configuration(1829, conditional_skip(current_prolog_flag(dialect, swi))). % seems fixed
160 additional_configuration(2265, conditional_skip(current_prolog_flag(dialect, swi))). % animation step 3 (operation aa358) takes 6-13 minutes on CI
161 additional_configuration(2428, conditional_skip(current_prolog_flag(dialect, swi))). % Slow, now 13 secs on M2 MBA
162 additional_configuration(810, conditional_skip(current_prolog_flag(dialect, swi))). % resource_error(stack), using 1 GB of stack on SWI 10.0, with set_prolog_flag(stack_limit, 2_147_483_648). the test passes
163
164 % fails due to limitation of CLP(FD) in SWI, not detecting failure of X #= Y+1, Y #=X+1.
165 additional_configuration(2415, swi_expected_failure).
166 additional_configuration(2561, swi_expected_failure). % used to be part of test 2415
167
168 % Tests that are currently expected to fail on SWI - used to check for regressions in SWI support.
169 % Note: Many of these are because of timeouts and will pass with a higher timeout.
170 % TODO Allow selectively increasing/multiplying timeouts for certain tests on SWI
171
172 % Unexpected residue
173 additional_configuration(289, swi_expected_failure). % happens since c274ab9695d37ee2e78db8c930ae809cf8b9c637 (or up to 2 commits before) on CI with SWI 9.1, not locally with 9.0.3; even though commit has no influence whatsoever on generated ast
174 additional_configuration(981, swi_expected_failure).
175 additional_configuration(1263, swi_expected_failure).
176 additional_configuration(1161, swi_expected_failure). % happens only on CI currently?
177 additional_configuration(1352, swi_expected_failure).
178 additional_configuration(1373, swi_expected_failure). % happens only on CI currently?
179 additional_configuration(1376, swi_expected_failure).
180 additional_configuration(2131, swi_expected_failure).
181 additional_configuration(2132, swi_expected_failure).
182 additional_configuration(2134, swi_expected_failure).
183 additional_configuration(2264, swi_expected_failure).
184
185
186 % Unexpected unbounded enumeration
187 additional_configuration(362, swi_expected_failure).
188 additional_configuration(1038, swi_expected_failure).
189 additional_configuration(1175, swi_expected_failure).
190 additional_configuration(1488, swi_expected_failure). % since Jan 2, 2023 ace9abbc9f6bf295c7d9e37421b57d0d215e6dc6
191 % possibly due to change in order of waking up not_equal_object after changing block to when
192 additional_configuration(1619, swi_expected_failure).
193 additional_configuration(2210, swi_expected_failure).
194
195 % Timeout while expanding a set comprehension, closure, forall, etc.
196 additional_configuration(40, swi_expected_failure).
197 additional_configuration(496, swi_expected_failure).
198 additional_configuration(979, swi_expected_failure).
199 additional_configuration(980, swi_expected_failure).
200 additional_configuration(982, swi_expected_failure).
201 additional_configuration(1059, swi_expected_failure).
202 additional_configuration(1101, swi_expected_failure).
203 additional_configuration(1108, swi_expected_failure).
204 additional_configuration(1331, swi_expected_failure).
205 additional_configuration(1332, swi_expected_failure).
206 additional_configuration(1384, swi_expected_failure).
207 additional_configuration(1562, swi_expected_failure). % not always a time-out
208 additional_configuration(1679, swi_expected_failure).
209 additional_configuration(1739, swi_expected_failure).
210 additional_configuration(2014, swi_expected_failure).
211 additional_configuration(2033, swi_expected_failure).
212 additional_configuration(2128, swi_expected_failure).
213 additional_configuration(2129, swi_expected_failure).
214 additional_configuration(2385, swi_expected_failure).
215
216 % Timeout during constants setup or transition
217 additional_configuration(41, swi_expected_failure).
218 additional_configuration(49, swi_expected_failure).
219 additional_configuration(292, swi_expected_failure).
220 additional_configuration(293, swi_expected_failure).
221 additional_configuration(305, swi_expected_failure).
222 additional_configuration(307, swi_expected_failure).
223 additional_configuration(387, swi_expected_failure).
224 additional_configuration(456, swi_expected_failure).
225 additional_configuration(642, swi_expected_failure). % sometimes times out
226 additional_configuration(708, swi_expected_failure).
227 additional_configuration(710, swi_expected_failure).
228 additional_configuration(1112, swi_expected_failure).
229 additional_configuration(1157, swi_expected_failure).
230 additional_configuration(1194, swi_expected_failure).
231 additional_configuration(1222, swi_expected_failure).
232 additional_configuration(1305, swi_expected_failure).
233 additional_configuration(1316, swi_expected_failure).
234 additional_configuration(1338, swi_expected_failure).
235 additional_configuration(1393, swi_expected_failure).
236 additional_configuration(1631, swi_expected_failure).
237 additional_configuration(1634, swi_expected_failure).
238 additional_configuration(1920, swi_expected_failure).
239 additional_configuration(1976, swi_expected_failure).
240 additional_configuration(2110, swi_expected_failure).
241 additional_configuration(2185, swi_expected_failure).
242 additional_configuration(2187, swi_expected_failure).
243 additional_configuration(2189, swi_expected_failure).
244 additional_configuration(2413, swi_expected_failure).
245 additional_configuration(2452, swi_expected_failure).
246
247 % Timeout during model check, CBC deadlock check, etc.
248 additional_configuration(324, swi_expected_failure).
249 additional_configuration(1306, swi_expected_failure).
250 additional_configuration(2399, swi_expected_failure).
251 additional_configuration(2445, swi_expected_failure). % occasionally times out on CI
252
253 % Timeout during something else
254 additional_configuration(1165, swi_expected_failure).
255 additional_configuration(1611, swi_expected_failure).
256 additional_configuration(2106, swi_expected_failure).
257
258 % Trace replay fails
259 additional_configuration(220, swi_expected_failure).
260 additional_configuration(626, swi_expected_failure). % only on CI
261 additional_configuration(1105, swi_expected_failure).
262 additional_configuration(1276, swi_expected_failure).
263 additional_configuration(1394, swi_expected_failure).
264 additional_configuration(1751, swi_expected_failure).
265 additional_configuration(1886, swi_expected_failure).
266 additional_configuration(1924, swi_expected_failure).
267 additional_configuration(1925, swi_expected_failure).
268
269 % Apparently bogus invariant violations found
270 additional_configuration(654, swi_expected_failure). % caused by https://github.com/SWI-Prolog/swipl-devel/issues/1160
271 additional_configuration(1185, swi_expected_failure). % ditto
272 additional_configuration(1207, swi_expected_failure). % time-out
273 additional_configuration(1655, swi_expected_failure). % also caused by table bug in CLPFD of SWI, issue 1160
274 additional_configuration(2315, swi_expected_failure). % see test 654, SetRelLaws_NatBool
275
276 % Apparently bogus general_error_occurred
277 additional_configuration(2463, swi_expected_failure).
278
279 % Did not get expected error
280 additional_configuration(396, swi_expected_failure). % happens only on CI currently?
281
282 % Predicate unknown, but no timeout
283 additional_configuration(1247, swi_expected_failure).
284
285 % Errors from external function READ_CSV
286 additional_configuration(1575, swi_expected_failure).
287
288 % External functions HASH and hash use term_hash/2
289 % and so gives different hashes on SWI than on SICStus.
290 additional_configuration(2182, swi_expected_failure).
291
292 % enumeration warning generated, unclear why; maybe different order of co-routines?
293 additional_configuration(2549, swi_expected_failure).
294
295 % pending co-routines after enumeration order enabled for SWI
296 additional_configuration(2279, swi_expected_failure).
297
298 % -----------------------------------
299
300 % we can infer required extensions for a test by looking at probcli commands, preferences
301 % but sometimes preferences are hidden in B model and/or in -evalt strings like -evalt :kodkod ...
302 % test_requires_extension(TestNr,Categories,...)
303 test_requires_extension(1538,_,kodkod_extension).
304 test_requires_extension(1856,_,avl_ugraphs_extension).
305 test_requires_extension(1935,_,xml2b_extension).
306 test_requires_extension(1936,_,xml2b_extension).
307 test_requires_extension(2039,_,wd_extension).
308 test_requires_extension(2053,_,unsat_core_extension).
309 test_requires_extension(2221,_,meta_interface_extension).
310 ?test_requires_extension(_,Cats,Extension) :- member(Cat,Cats), test_category_requires_extension(Cat,Extension).
311
312 % associate some test categories with extensions that are definitely required
313 test_category_requires_extension(alloy,alloy2b_extension).
314 %test_category_requires_extension(cache,cache_extension). % value_persistance
315 test_category_requires_extension(bmc,symbolic_model_checker_extension).
316 test_category_requires_extension(cache,probhash_extension). % cache needs probhash for machines
317 test_category_requires_extension(cbc_tests,cbc_extension).
318 test_category_requires_extension(chr,chr_extension).
319 test_category_requires_extension(cse,cse_extension).
320 test_category_requires_extension(cse_test,cse_extension).
321 test_category_requires_extension(csp_test,cspm_extension).
322 test_category_requires_extension(cspb,cspm_extension).
323 test_category_requires_extension(clingo,b2asp_extension).
324 test_category_requires_extension(ctl,ltl_extension).
325 test_category_requires_extension(disprover,disprover_extension).
326 test_category_requires_extension(dot,dot_extension).
327 test_category_requires_extension(dot,meta_interface_extension).
328 test_category_requires_extension(cdclt,cdclt_extension).
329 test_category_requires_extension(enabling,cbc_extension).
330 test_category_requires_extension(fairness,ltl_extension).
331 test_category_requires_extension(hash,probhash_extension).
332 test_category_requires_extension(json_trace_replay,json_extension).
333 test_category_requires_extension(kodkod,kodkod_extension).
334 test_category_requires_extension(latex,latex_extension).
335 test_category_requires_extension(ltl,ltl_extension).
336 test_category_requires_extension(ltsmin_test,ltsmin_extension).
337 test_category_requires_extension(mcm_tests,cbc_extension). % mcm test case generation is in sap.pl
338 % Previously we said that only operation_reuse_full requires opcache_extension.
339 % But even with OPERATION_REUSE = TRUE (not full),
340 % ProB gives a warning if opcache_extension is unavailable,
341 % and the warning counts as an unexpected error and makes the tests fail.
342 test_category_requires_extension(operation_reuse,opcache_extension).
343 %test_category_requires_extension(pge,pge_extension).
344 %test_category_requires_extension(pge_fast,pge_extension).
345 test_category_requires_extension(por,por_extension).
346 test_category_requires_extension(proz,fuzz_extension).
347 test_category_requires_extension(random,random_permutations).
348 test_category_requires_extension(reals,external_reals_extension).
349 test_category_requires_extension(refinement,refinement_extension).
350 test_category_requires_extension(regex,regexp_extension).
351 test_category_requires_extension(rulesdsl,rulesdsl_extension).
352 test_category_requires_extension(satsolver_test,satsolver_extension).
353 test_category_requires_extension(setlog,setlog_extension).
354 test_category_requires_extension(smt,smtlib_extension).
355 test_category_requires_extension(smt_solver_integration,smt_extension).
356 test_category_requires_extension(symbolic_model_checker,symbolic_model_checker_extension).
357 test_category_requires_extension(symmetry_test,symmetry_extension).
358 test_category_requires_extension(tla,tla2b_extension).
359 test_category_requires_extension(tlc,tlc4b_extension).
360 test_category_requires_extension(visb,visb_extension).
361 test_category_requires_extension(wd,wd_extension).
362 test_category_requires_extension(xml,xml2b_extension).
363
364 % -----------------------------------
365
366 cli_testcase(0, [unit], ['-selfcheck', '-strict', '-p', 'CLPFD', 'FALSE'], 'Unit tests').
367 cli_testcase(1, [unit], ['-selfcheck', '-strict', '-p', 'CLPFD', 'TRUE'], 'Unit tests (with CLPFD)').
368 cli_testcase(2, [unit], ['-selfcheck', '-strict', '-p', 'CLPFD', 'TRUE', '-p', 'SYMBOLIC', 'TRUE'], 'Unit tests (with CLPDFD and SYMBOLIC)').
369 cli_testcase(3, [b_test], ['-t', '-strict', '../prob_examples/public_examples/B/FeatureChecks/DEFINITIONS/SETPREF.mch', '-p', 'MAXINT', '1024', '-card', 'ID', '3'], 'check set MAXINT & card').
370 cli_testcase(4, [b_test], ['-t', '-strict', '../prob_examples/public_examples/B/FeatureChecks/DEFINITIONS/DefinitionScopeOk.mch'], 'DEFINITION scope test').
371 cli_testcase(5, [b_test,forall], ['-t', '-strict', '../prob_examples/public_examples/B/FeatureChecks/ForAll_VariousVersions.mch'], 'For all test').
372 cli_testcase(6, [b_test], ['../prob_examples/public_examples/B/FeatureChecks/NotMemberCheck.mch', '-t', '-strict', '-assertions', '-expcterr', virtual_time_out], 'Not member closures test').
373 cli_testcase(7, [bench], ['../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr.mch', '-t', '-strict'], 'Carla Travel Agency trace check').
374 cli_testcase(8, [bench], ['../prob_examples/public_examples/B/Benchmarks/RouteIsSeq.mch', '-t', '-strict'], '').
375 cli_testcase(9, [bench], ['../prob_examples/public_examples/B/Benchmarks/Sets2.mch', '-t', '-strict'], '').
376 cli_testcase(10, [bench], ['../prob_examples/public_examples/B/Benchmarks/Doors.mch', '-t', '-strict'], '').
377 cli_testcase(11, [bench], ['../prob_examples/public_examples/B/Benchmarks/DSP0.mch', '-t', '-mc', '100', '-noinv', '-strict', '-nodead', '-expcterr', 'model_check_incomplete'], '').
378 cli_testcase(12, [bench], ['../prob_examples/public_examples/B/Benchmarks/DSP0_complicated_initialisation.mch', '-t', '-mc', '100', '-noinv', '-strict', '-nodead', '-expcterr', 'model_check_incomplete'], '').
379 cli_testcase(13, [bench], ['../prob_examples/public_examples/B/Benchmarks/CSM.mch', '-mc', '1000', '-strict', '-check_complete', '-cc', '341', '1229'], 'Model check CSM').
380 cli_testcase(14, [bench], ['../prob_examples/public_examples/B/Benchmarks/scheduler.mch', '-t', '-mc', '100', '-strict', '-check_complete', '-cc', '36', '121'], 'Model check scheduler').
381 cli_testcase(15, [bench], ['../prob_examples/public_examples/B/Benchmarks/phonebook7.mch', '-t', '-mc', '100', '-expcterr', 'model_check_incomplete', '-strict'], 'Model check phonebook7').
382 cli_testcase(16, [bench], ['../prob_examples/public_examples/B/Benchmarks/tictac.mch', '-mc', '100', '-noinv', '-nodead', '-expcterr', 'model_check_incomplete', '-strict'], '').
383 cli_testcase(17, [bench,case], ['../prob_examples/public_examples/B/Benchmarks/Teletext_bench.mch', '-mc', '100', '-check_complete', '-cc', '14', '122', '-strict'], 'Teletext benchmark').
384 cli_testcase(18, [bench], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-t', '-strict'], '').
385 cli_testcase(19, [bench], ['../prob_examples/public_examples/B/BZTT/TestBZTT_Data.mch', '-mc', '100', '-check_complete', '-cc', '26', '176', '-strict', '-l', 'log/TestBZTT_Data.log'], '').
386 cli_testcase(20, [performance_tests], ['../prob_examples/public_examples/B/Daniel/Kodkod/Power2Nr.mch', '-strict', '-t', '-p', 'CLPFD', 'TRUE', '-aa', '4', '0', '0'], '').
387 cli_testcase(21, [performance_tests], ['../prob_examples/public_examples/B/Daniel/Kodkod/Power2Nr.mch', '-strict', '-t', '-p', 'CLPFD', 'TRUE', '-ma', '4', '0', '0'], '').
388 cli_testcase(22, [performance_tests], ['../prob_examples/public_examples/B/Daniel/Kodkod/StarTopologySingleSol.mch', '-strict', '-t', '-p', 'CLPFD', 'TRUE'], '').
389 cli_testcase(23, [performance_tests,codespeed], ['../prob_examples/public_examples/B/PerformanceTests/conc_seq_test.mch', '-strict', '-t'], 'sequence concatenation test').
390 cli_testcase(24, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/LargeSets/PartialFunCheck.mch', '-strict', '-t'], '').
391 cli_testcase(25, [performance_tests,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/ForAll_NATURAL.mch', '-strict', '-t'], '').
392 cli_testcase(26, [performance_tests,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/ForAllExpansion.mch', '-strict', '-t', '-mc', 100, '-p', 'MAX_INITIALISATIONS', 10, '-cc', 15, 49], 'Forall quantifier test').
393 cli_testcase(27, [performance_tests,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/ForAllExpansian_Cartesian.mch', '-strict', '-t', '-assertions'], '').
394 cli_testcase(28, [performance_tests,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/ForAllExpansion_Cartesian2.mch', '-strict', '-t', '-assertions', '-p', 'CLPFD', 'FALSE'], '').
395 cli_testcase(29, [performance_tests,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/ForAllExpansion_Cartesian2.mch', '-strict', '-t', '-assertions', '-p', 'CLPFD', 'TRUE'], '').
396 cli_testcase(30, [performance_tests,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/ForAllExpansion_Cartesian3.mch', '-strict', '-t', '-assertions'], '').
397 cli_testcase(31, [performance_tests], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
398 '../prob_examples/public_examples/B/PerformanceTests/LargeSets/SeqCheck.mch', '-strict', '-t'], 'checks on large sequences').
399 cli_testcase(32, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/SetLogInefficiencies.mch', '-t', '-strict'], '').
400 cli_testcase(33, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/SetLogInefficiencies2.mch',
401 '-p', 'SMT', 'TRUE', '-t', '-strict'], 'A complex propagation test with sets of cardinality 1'). % TO DO: also get to work without SMT mode
402 cli_testcase(34, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/SetLogInefficiencies3.mch', '-p', 'SMT', 'TRUE', '-t', '-strict'], 'A complex propagation test with many sets of cardinality 4'). % TO DO: also get to work efficiently without SMT mode; times-out on Windows runner without SMT
403 cli_testcase(35, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/InfiniteClosures.mch', '-strict', '-t'], 'check whether ProB deals adequately with some infinite closures 1').
404 cli_testcase(36, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/InfiniteClosures2.mch', '-strict', '-t'], 'check whether ProB deals adequately with some infinite closures 2').
405 cli_testcase(37, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/InfiniteAbsSqrt.mch', '-strict', '-t'], 'InfiniteAbsSqrt').
406 cli_testcase(38, [performance_tests,card], ['../prob_examples/public_examples/B/PerformanceTests/InfCardChecks.mch', '-p', 'CLPFD', 'TRUE', '-strict', '-t'], 'InfCardChecks').
407 cli_testcase(39, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/ID_Checks.mch', '-strict', '-t', '-assertions'], '').
408 cli_testcase(40, [performance_tests,codespeed], ['../prob_examples/public_examples/B/PerformanceTests/DirectProductPerformance.mch', '-strict', '-init', '-p', 'TIME_OUT', '20000'], 'Test the performance of the direct product operator.').
409 cli_testcase(41, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/DirectProductPerformance.mch', '-strict', '-init', '-p', 'SYMBOLIC', 'TRUE', '-p', 'TIME_OUT', '15000'], '').
410 cli_testcase(42, [performance_tests], ['../prob_examples/public_examples/B/Mathematical/Sieve.mch', '-mc', '1000', '-strict', '-expcterr', 'goal_found', '-l', 'log/Sieve.log', '-expcterr', virtual_time_out], '').
411 % StartSieve generates virtual_time_out
412 cli_testcase(43, [performance_tests], ['../prob_examples/public_examples/B/Mathematical/BinomialCoefficients.mch', '-t', '-strict'], '').
413 cli_testcase(44, [performance_tests], ['../prob_examples/public_examples/B/Mathematical/SieveAlternate.mch', '-mc', '1000', '-strict', '-expcterr', 'goal_found', '-l', 'log/SieveAlternate.log', '-expcterr', virtual_time_out], '').
414 cli_testcase(45, [performance_tests], ['../prob_examples/public_examples/B/Mathematical/GraphIso/CheckGraphIsomorphism.mch', '-t', '-strict', '-l', 'log/CheckGraphIsomorphism.log'], '').
415 cli_testcase(46, [performance_tests], ['../prob_examples/public_examples/B/Mathematical/GraphIso/CheckLargeGraphIsomorphismAsConstants.mch', '-t', '-strict', '-p', 'CLPFD', 'TRUE', '-p', 'TIME_OUT', '5000'], '').
416 cli_testcase(47, [performance_tests], ['../prob_examples/public_examples/B/Mathematical/Theories/FiniteSequences1.mch', '-t', '-mc', '100', '-expcterr', 'model_check_incomplete', '-strict'], '').
417 cli_testcase(48, [performance_tests], ['../prob_examples/public_examples/B/Mathematical/Theories/FiniteSequences2.mch', '-t', '-mc', '100', '-expcterr', 'model_check_incomplete', '-strict'], '').
418 cli_testcase(49, [performance_tests,sat,codespeed], ['../prob_examples/public_examples/B/PerformanceTests/SATLIB/flat200-90.mch', '-t', '-p', 'STATIC_ORDERING', 'TRUE', '-strict', '-p', 'TIME_OUT', '15000', '-l', 'log/SAT_flat200-90.log'], 'SAT test (flat200-90)').
419 cli_testcase(50, [parser,performance_tests,sat], ['../prob_examples/public_examples/B/PerformanceTests/SATLIB/sudoku.mch', '-init', '-p', 'STATIC_ORDERING', 'TRUE', '-strict', '-p', 'TIME_OUT', '60000'], 'Large machine to test the parser/JVM, skipped on Windows because the Windows build bot can not reserve enough memory.'). % used to require LARGE_JVM
420 cli_testcase(51, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/ConstraintPropagation/MaxPropagation.mch', '-strict', '-t'], '').
421 cli_testcase(52, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/ConstraintPropagation/MaxPropagation2.mch', '-strict', '-t'], '').
422 cli_testcase(53, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/ConstraintPropagation/SetMembershipInference.mch', '-strict', '-t'], '').
423 cli_testcase(54, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/ConstraintPropagation/SetMembershipReification.mch', '-strict', '-t'], '').
424 cli_testcase(55, [performance_tests,codespeed], ['../prob_examples/public_examples/B/Demo/SortByPermutation_v2.mch', '-strict', '-t','-p', 'TIME_OUT', '7000'], 'Sort by permutation').
425 cli_testcase(56, [performance_tests,codespeed], ['../prob_examples/public_examples/B/IPD/colouring/GraphColouringNAT2.mch', '-t', '-strict'], 'Graph colouring').
426 cli_testcase(57, [performance_tests,codespeed], ['../prob_examples/public_examples/EventBPrologPackages/Puzzles/Instance_small_60_400_9_ctx.eventb', '-init', '-strict', '-p', 'CLPFD', 'TRUE'], '').
427 cli_testcase(58, [performance_tests], ['../prob_examples/public_examples/B/BZTT/PO_Scheduler.mch', '-mc', '100', '-check_complete', '-cc', '7', '6', '-strict', '-t', '-nodead'], 'Scheduler variation').
428 cli_testcase(59, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/SMTLIB/IDL_SimpleUnsat.mch', '-strict', '-init', '-expcterr', 'setup_constants_fails'], '').
429 cli_testcase(60, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/SMTLIB/int_completeness1.mch', '-strict', '-init', '-p', 'CLPFD', 'TRUE', '-expcterr', 'setup_constants_fails'], '').
430 cli_testcase(61, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/SMTLIB/int_completeness1_event.mch', '-strict', '-p', 'CLPFD', 'TRUE', '-t'], '').
431 cli_testcase(62, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/SMTLIB/SquareEquivalenceProblem.mch', '-strict', '-t', '-p', 'CLPFD', 'TRUE', '-mc', '10', '-cc', '2', '2'], '').
432 cli_testcase(63, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/clpfd_constraint_checks/IntegerComprSets.mch', '-strict', '-t'], '').
433 cli_testcase(64, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/SeqEnumWithLargeMAXINT.mch', '-strict', '-t'], '').
434 cli_testcase(65, [performance_tests,sequences,codespeed], ['../prob_examples/public_examples/B/PerformanceTests/ConstraintPropagation/SequenceSolving.mch', '-strict', '-t'], 'SequenceSolving').
435 cli_testcase(66, [performance_tests,codespeed], ['../prob_examples/public_examples/B/PerformanceTests/SAT_Tests/SubsetReificationTest.mch', '-strict', '-t'], '').
436 cli_testcase(67, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/Demo/monitor2.mch', '-mc', '100', '-cc', '15', '92', '-p', 'SYMMETRY_MODE', 'nauty', '-strict'], '').
437 cli_testcase(68, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/Demo/Symetric.mch', '-mc', '100', '-cc', '2', '6', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'nauty', '-strict'], '').
438 cli_testcase(69, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/Demo/scheduler.mch', '-mc', '100', '-cc', '11', '47', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'nauty', '-strict'], '').
439 cli_testcase(70, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/Demo/scheduler.mch', '-mc', '100', '-cc', '36', '156', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'off', '-strict'], '').
440 cli_testcase(71, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/Demo/scheduler.mch', '-mc', '100', '-cc', '11', '47', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'hash', '-strict'], '').
441 cli_testcase(72, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/Demo/scheduler.mch', '-mc', '100', '-cc', '36', '73', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'flood', '-strict'], '').
442 cli_testcase(73, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/scheduler1.ref', '-mc', '150', '-cc', '145', '447', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'off', '-strict'], '').
443 cli_testcase(74, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/scheduler1.ref', '-mc', '100', '-cc', '29', '92', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'nauty', '-strict'], 'scheduler1.ref with nauty (3)'). % used to be 94 instead of 92 transitions; change of INITIALISATION argument treatment April 2016
444 cli_testcase(75, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/scheduler1.ref', '-mc', '100', '-cc', '29', '92', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'hash', '-strict'], 'scheduler1.ref with hash (3)'). % used to be 94 instead of 92 transitions; change of INITIALISATION argument treatment April 2016
445 cli_testcase(76, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/scheduler1.ref', '-mc', '150', '-cc', '145', '210', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'flood', '-strict'], '').
446 cli_testcase(77, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/scheduler1.ref', '-mc', '100', '-cc', '51', '208', '-p', 'DEFAULT_SETSIZE', '4', '-p', 'SYMMETRY_MODE', 'nauty', '-p', 'MAX_INITIALISATIONS', '20', '-p', 'MAX_OPERATIONS', '120', '-strict'], 'scheduler1.ref with nauty (4)'). % used to be 211 instead of 208 transitions; change of INITIALISATION argument treatment April 2016
447 cli_testcase(78, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/scheduler1.ref', '-mc', '100', '-cc', '51', '208', '-p', 'DEFAULT_SETSIZE', '4', '-p', 'SYMMETRY_MODE', 'hash', '-p', 'MAX_INITIALISATIONS', '20', '-p', 'MAX_OPERATIONS', '120', '-strict'], 'scheduler1.ref with hash (4)'). % used to be 211 instead of 208 transitions; change of INITIALISATION argument treatment April 2016
448 cli_testcase(79, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/scheduler1.ref', '-mc', '1000', '-cc', '81', '401', '-p', 'DEFAULT_SETSIZE', '5', '-p', 'SYMMETRY_MODE', 'nauty', '-p', 'MAX_INITIALISATIONS', '20', '-p', 'MAX_OPERATIONS', '120', '-strict'], 'scheduler1.ref with nauty (5)'). % used to be 405 transitions, see above
449 cli_testcase(80, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/scheduler1.ref', '-mc', '1000', '-cc', '81', '401', '-p', 'DEFAULT_SETSIZE', '5', '-p', 'SYMMETRY_MODE', 'hash', '-p', 'MAX_INITIALISATIONS', '20', '-p', 'MAX_OPERATIONS', '120', '-strict'], 'scheduler1.ref with hash (5)'). % used to be 405 transitions, see above
450 cli_testcase(81, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/scheduler1.ref', '-mc', '1000', '-cc', '120', '696', '-p', 'DEFAULT_SETSIZE', '6', '-p', 'SYMMETRY_MODE', 'nauty', '-p', 'MAX_INITIALISATIONS', '20', '-p', 'MAX_OPERATIONS', '120', '-strict'], 'scheduler1.ref with nauty (6)'). % used to be 701 transitions, see above
451 cli_testcase(82, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/scheduler1.ref', '-mc', '1000', '-cc', '120', '696', '-p', 'DEFAULT_SETSIZE', '6', '-p', 'SYMMETRY_MODE', 'hash', '-p', 'MAX_INITIALISATIONS', '20', '-p', 'MAX_OPERATIONS', '120', '-strict'], 'scheduler1.ref with hash (6)'). % used to be 701 transitions, see above
452 cli_testcase(83, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/scheduler1.ref', '-mc', '1000', '-cc', '169', '1121', '-p', 'DEFAULT_SETSIZE', '7', '-p', 'SYMMETRY_MODE', 'nauty', '-p', 'MAX_INITIALISATIONS', '20', '-p', 'MAX_OPERATIONS', '120', '-strict'], 'scheduler1.ref with nauty (7)'). % used to be 1127 transitions, see above
453 cli_testcase(84, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/scheduler1.ref', '-mc', '1000', '-cc', '169', '1121', '-p', 'DEFAULT_SETSIZE', '7', '-p', 'SYMMETRY_MODE', 'hash', '-p', 'MAX_INITIALISATIONS', '20', '-p', 'MAX_OPERATIONS', '120', '-strict'], 'scheduler1.ref with hash (7)'). % used to be 1127 transitions, see above
454 cli_testcase(85, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/PairRelation.mch', '-mc', '100', '-cc', '39', '173', '-p', 'DEFAULT_SETSIZE', '3', '-strict'], '').
455 cli_testcase(86, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/PairRelation.mch', '-mc', '100', '-cc', '11', '47', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'nauty', '-strict'], '').
456 cli_testcase(87, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/PairRelation.mch', '-mc', '100', '-cc', '39', '75', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'flood', '-strict'], '').
457 cli_testcase(88, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/SetRelation.mch', '-mc', '100', '-cc', '38', '172', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'off', '-strict'], '').
458 cli_testcase(89, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/SetRelation.mch', '-mc', '100', '-cc', '10', '46', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'nauty', '-strict'], '').
459 cli_testcase(90, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/SetRelation.mch', '-mc', '100', '-cc', '38', '74', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'flood', '-strict'], '').
460 cli_testcase(91, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/RussianPostalPuzzle.mch', '-mc', '1000', '-cc', '81', '177', '-p', 'DEFAULT_SETSIZE', '2', '-p', 'SYMMETRY_MODE', 'off', '-nogoal', '-strict'], '').
461 cli_testcase(92, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/RussianPostalPuzzle.mch', '-mc', '1000', '-cc', '48', '105', '-p', 'DEFAULT_SETSIZE', '2', '-p', 'SYMMETRY_MODE', 'nauty', '-nogoal', '-strict'], '').
462 cli_testcase(93, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/RussianPostalPuzzle.mch', '-mc', '1000', '-cc', '48', '105', '-p', 'DEFAULT_SETSIZE', '2', '-p', 'SYMMETRY_MODE', 'hash', '-nogoal', '-strict', '-expcterr', 'model_check_incomplete'], '').
463 cli_testcase(94, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/RussianPostalPuzzle.mch', '-mc', '1000', '-cc', '81', '138', '-p', 'DEFAULT_SETSIZE', '2', '-p', 'SYMMETRY_MODE', 'flood', '-nogoal', '-strict'], '').
464 cli_testcase(95, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/TicTacToe_SimplerSym.mch', '-mc', '1500', '-cc', '1450', '4547', '-p', 'DEFAULT_SETSIZE', '2', '-p', 'SYMMETRY_MODE', 'hash', '-nogoal', '-nodead', '-strict', '-expcterr', 'model_check_incomplete'], '').
465 cli_testcase(96, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/TicTacToe_SimplerSym.mch', '-mc', '1500', '-cc', '1450', '4547', '-p', 'DEFAULT_SETSIZE', '2', '-p', 'SYMMETRY_MODE', 'nauty', '-nogoal', '-nodead', '-strict'], '').
466 cli_testcase(97, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/TicTacToe_SimplerSym.mch', '-mc', '6000', '-cc', '5480', '8577', '-p', 'DEFAULT_SETSIZE', '2', '-p', 'SYMMETRY_MODE', 'flood', '-nogoal', '-nodead', '-strict'], '').
467 cli_testcase(98, [symmetry_test], ['../prob_examples/public_examples/B/SymmetryReduction/USB_4Endpoints.mch', '-mc', '1000', '-p', 'DEFAULT_SETSIZE', '2', '-p', 'SYMMETRY_MODE', 'nauty', '-cc', '355', '11220', '-strict'], '').
468 cli_testcase(99, [symmetry_test,codespeed], ['../prob_examples/public_examples/B/SymmetryReduction/USB_4Endpoints.mch', '-mc', '1000', '-p', 'DEFAULT_SETSIZE', '2', '-p', 'SYMMETRY_MODE', 'hash', '-cc', '355', '11220', '-strict'], 'USB with Hash symmetry').
469 cli_testcase(100, [symmetry_test], ['../prob_examples/public_examples/B/SymmetryReduction/USB_4Endpoints.mch', '-mc', '1000', '-p', 'DEFAULT_SETSIZE', '2', '-p', 'SYMMETRY_MODE', 'flood', '-cc', '694', '11572', '-strict'], '').
470 cli_testcase(101, [symmetry_test], ['../prob_examples/public_examples/B/SymmetryReduction/USB_4Endpoints.mch', '-mc', '10000', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'hash', '-cc', '3013', '97730', '-strict', '-expcterr', 'model_check_incomplete'], '').
471 cli_testcase(102, [symmetry_test,proz], ['../prob_examples/public_examples/Z/Derrick/video_club_abz08.fuzz', '-strict', '-card', 'TITLE', '2', '-card', 'PERSON', '2', '-mc', '100000', '-p', 'SYMMETRY_MODE', 'hash', '-cc', '113', '596', '-expcterr', 'model_check_incomplete', '-expcterr', virtual_time_out], '').
472 cli_testcase(103, [symmetry_test], ['../prob_examples/public_examples/B/Puzzles/Hanoi6Sym.mch', '-mc', '10000', '-p', 'SYMMETRY_MODE', 'off', '-cc', '731', '2187', '-nogoal', '-strict'], '').
473 cli_testcase(104, [symmetry_test], ['../prob_examples/public_examples/B/Puzzles/Hanoi6Sym.mch', '-mc', '10000', '-p', 'SYMMETRY_MODE', 'hash', '-cc', '367', '1095', '-nogoal', '-strict'], 'Hanoi6Sym with hash'). % used to be 1096 transitions; changed in April 2016 due to INITIALISATION arg treatment change
474 cli_testcase(105, [symmetry_test], ['../prob_examples/public_examples/B/Puzzles/Hanoi6Sym.mch', '-mc', '10000', '-p', 'SYMMETRY_MODE', 'nauty', '-cc', '367', '1095', '-nogoal', '-strict'], 'Hanoi6Sym with nauty'). % was also 1096 transitions, see above
475 cli_testcase(106, [symmetry_test,tickets], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/Demo/DiningCryptographers.mch', '-mc', '100', '-cc', '65', '96', '-p', 'MAX_INITIALISATIONS', '100', '-p', 'SYMMETRY_MODE', 'off', '-strict'], '').
476 cli_testcase(107, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/Demo/DiningCryptographers.mch', '-mc', '100', '-cc', '65', '96', '-p', 'MAX_INITIALISATIONS', '100', '-p', 'SYMMETRY_MODE', 'nauty', '-strict'], '').
477 cli_testcase(108, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/Demo/DiningCryptographers.mch', '-mc', '100', '-cc', '65', '96', '-p', 'MAX_INITIALISATIONS', '100', '-p', 'SYMMETRY_MODE', 'hash', '-strict'], '').
478 cli_testcase(109, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/Fraikin/Library_FullSym.mch', '-mc', '10000', '-cc', '1158', '12064', '-p', 'MAX_INITIALISATIONS', '100', '-p', 'SYMMETRY_MODE', 'hash', '-strict', '-expcterr', 'model_check_incomplete'], '').
479 cli_testcase(110, [symmetry_test], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb', '-p', 'DEFAULT_SETSIZE', '2', '-mc', '10000', '-strict', '-nodead', '-cc', '149', '248', '-expcterr', 'model_check_incomplete'], '').
480 cli_testcase(111, [symmetry_test], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb', '-p', 'DEFAULT_SETSIZE', '2', '-mc', '10000', '-strict', '-nodead', '-cc', '82', '136', '-p', 'SYMMETRY_MODE', 'nauty', '-expcterr', 'model_check_incomplete'], ''). % used to be 137 transitions; changed in April 2016 due to INITIALISATION arg treatment change
481 cli_testcase(112, [symmetry_test], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb', '-p', 'DEFAULT_SETSIZE', '2', '-mc', '10000', '-strict', '-nodead', '-cc', '82', '136', '-p', 'SYMMETRY_MODE', 'hash', '-expcterr', 'model_check_incomplete'], ''). % ditto
482 cli_testcase(113, [symmetry_test], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb', '-p', 'DEFAULT_SETSIZE', '2', '-mc', '10000', '-strict', '-nodead', '-cc', '149', '204', '-p', 'SYMMETRY_MODE', 'flood', '-expcterr', 'model_check_incomplete'], '').
483 cli_testcase(114, [symmetry_test], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb', '-p', 'DEFAULT_SETSIZE', '3', '-mc', '10000', '-strict', '-nodead', '-cc', '144', '331', '-p', 'SYMMETRY_MODE', 'nauty', '-expcterr', 'model_check_incomplete'], '').% used to be 332 transitions; changed in April 2016 due to INITIALISATION arg treatment change
484 cli_testcase(115, [symmetry_test], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb', '-p', 'DEFAULT_SETSIZE', '3', '-mc', '10000', '-strict', '-nodead', '-cc', '144', '331', '-p', 'SYMMETRY_MODE', 'hash', '-expcterr', 'model_check_incomplete'], ''). % ditto
485 cli_testcase(116, [symmetry_test], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb', '-p', 'DEFAULT_SETSIZE', '4', '-mc', '10000', '-strict', '-nodead', '-cc', '360', '1093', '-p', 'SYMMETRY_MODE', 'nauty', '-expcterr', 'model_check_incomplete'], '').
486 cli_testcase(117, [symmetry_test], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb', '-p', 'DEFAULT_SETSIZE', '4', '-mc', '10000', '-strict', '-nodead', '-cc', '360', '1093', '-p', 'SYMMETRY_MODE', 'hash' , '-expcterr', 'model_check_incomplete'], '').
487 cli_testcase(118, [symmetry_test], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M1_mch.eventb', '-p', 'DEFAULT_SETSIZE', '3', '-mc', '10000', '-strict', '-nodead', '-cc', '1339', '3786', '-p', 'SYMMETRY_MODE', 'hash' , '-expcterr', 'model_check_incomplete'], ''). % used to be 3787 transitions; changed in April 2016 due to INITIALISATION arg treatment change
488 cli_testcase(119, [symmetry_test], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M1_mch.eventb', '-p', 'DEFAULT_SETSIZE', '3', '-mc', '10000', '-strict', '-nodead', '-cc', '1339', '3786', '-p', 'SYMMETRY_MODE', 'nauty', '-expcterr', 'model_check_incomplete'], ''). % used to be 3787 transitions; changed in April 2016 due to INITIALISATION arg treatment change
489 cli_testcase(120, [symmetry_test], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M1_mch.eventb', '-p', 'DEFAULT_SETSIZE', '3', '-mc', '10000', '-strict', '-nodead', '-cc', '3893', '10970', '-p', 'SYMMETRY_MODE', 'off', '-expcterr', 'model_check_incomplete'], '').
490 cli_testcase(121, [symmetry_test], ['../prob_examples/public_examples/B/SymmetryReduction/PhilRing.mch', '-mc', '1000', '-p', 'DEFAULT_SETSIZE', '2', '-p', 'SYMMETRY_MODE', 'hash', '-cc', '8', '18', '-strict' , '-expcterr', 'model_check_incomplete'], '').
491 cli_testcase(122, [symmetry_test], ['../prob_examples/public_examples/B/SymmetryReduction/PhilRing.mch', '-mc', '1000', '-p', 'DEFAULT_SETSIZE', '2', '-p', 'SYMMETRY_MODE', 'nauty', '-cc', '8', '18', '-strict'], '').
492 cli_testcase(123, [symmetry_test], ['../prob_examples/public_examples/B/SymmetryReduction/PhilRing.mch', '-mc', '1000', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'nauty', '-cc', '13', '46', '-strict'], ''). % used to be 47 transitions; changed in April 2016 due to INITIALISATION arg treatment change
493 cli_testcase(124, [symmetry_test], ['../prob_examples/public_examples/B/SymmetryReduction/PhilRing.mch', '-mc', '1000', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'hash', '-cc', '13', '46', '-strict' , '-expcterr', 'model_check_incomplete'], ''). % ditto
494 cli_testcase(125, [symmetry_test], ['../prob_examples/public_examples/B/SymmetryReduction/PhilRing.mch', '-mc', '1000', '-p', 'DEFAULT_SETSIZE', '5', '-p', 'SYMMETRY_MODE', 'nauty', '-cc', '53', '342', '-strict', '-expcterr', 'model_check_incomplete'], ''). % used to be 345 transitions; changed in April 2016 due to INITIALISATION arg treatment change
495 cli_testcase(126, [symmetry_test], ['../prob_examples/public_examples/B/SymmetryReduction/PhilRing.mch', '-mc', '1000', '-p', 'DEFAULT_SETSIZE', '5', '-p', 'SYMMETRY_MODE', 'hash', '-cc', '53', '342', '-strict' , '-expcterr', 'model_check_incomplete'], ''). % ditto
496 cli_testcase(127, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/TestValidation_ctx.eventb', '-init', '-aa', '10', '0', '0', '-strict'], 'Assertion validation on Event-B model'). % 17.11.2018: there were 11 assertions; now that labels are respected there are 10
497 cli_testcase(128, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/platoon/platoon_1_mch.eventb', '-t', '-strict', '-expcterr', virtual_time_out], '').
498 cli_testcase(129, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/platoon/platoon_2_mch.eventb', '-t', '-p', 'CLPFD', 'FALSE', '-strict'], '').
499 cli_testcase(130, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/platoon/platoon_2_mch.eventb', '-t', '-p', 'CLPFD', 'TRUE', '-strict'], '').
500 cli_testcase(131, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/platoon/platoon_3_0_mch.eventb', '-t', '-strict'], '').
501 cli_testcase(132, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/platoon/platoon_4_0_mch.eventb', '-t', '-strict'], '').
502 cli_testcase(133, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Records/SampleThreeRecordsTranslated.mch', '-t', '-strict', '-mc', '100', '-cc', '4', '6'], 'Check record translation').
503 cli_testcase(134, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Records/INTEGER_Record.mch', '-t', '-strict', '-p', 'USE_RECORD_CONSTRUCTION', 'TRUE'], '').
504 cli_testcase(135, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Test1.0/Testid_mch.eventb', '-t', '-strict', '-pref_group', integer, int32, '-p', 'CLPFD', 'TRUE'], '').
505 cli_testcase(136, [eventb_test,hash], ['../prob_examples/public_examples/EventBPrologPackages/sieve.eventb', '-t', '-strict', '-mc', '1000', '-check_complete', '-cc', '33', '33', '-strict',
506 '--hash64', 797695222146570849 % used to be 177433764074139889 until June 11th 2024 when packing of avl leaves updated
507 % used to be 142217803204665821 until Sep 9th 2021 until state packing adapted
508 ], 'Complete model check of Sieve').
509 cli_testcase(137, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/TrafficLight/tlm_0.eventb', '-t', '-strict'], '').
510 cli_testcase(138, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/TrafficLight/tlm_1.eventb', '-t', '-strict'], '').
511 cli_testcase(139, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/TrafficLight/tlm_3.eventb', '-t', '-strict'], '').
512 cli_testcase(140, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_fifo_mch.eventb', '-t', '-strict'], '').
513 cli_testcase(141, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/SET_Game/SET_Game_mch.eventb', '-t', '-strict', '-p', 'CLPFD', 'TRUE', '-p', 'MAX_OPERATIONS', 93], '').
514 cli_testcase(142, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Stefan_SecureBuilding/M21_mch.eventb', '-mc', '10000', '-t', '-check_complete', '-cc', '11', '80', '-strict'], 'Event-B Secure Building').
515 cli_testcase(143, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Abrial_Train_Ch17/train_4_mch_lukas.eventb', '-mc', '200', '-t', '-strict', '-noass', '-expcterr', 'model_check_incomplete'], 'Abrial Train 4').
516 cli_testcase(144, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Test1.0/Testid_mch.eventb', '-t', '-strict', '-p', 'MAXINT', '99999', '-p', 'MININT', '-99999', '-p', 'CLPFD', 'TRUE'], '').
517 cli_testcase(145, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Test1.0/Testprj_mch.eventb', '-t', '-strict', '-p', 'MAXINT', '99999', '-p', 'MININT', '-99999'], '').
518 cli_testcase(146, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Test1.0/TestPartition_mch.eventb', '-t', '-strict'], 'Partition for Event-B').
519 cli_testcase(147, [eventb_test], ['../prob_examples/public_examples/B/EventB_AtelierB/Lift.sys', '-t', '-strict'], '').
520 cli_testcase(148, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/MultiLevel/TestMC_m1_mch.eventb', '-mc', '1000', '-strict', '-p', 'NUMBER_OF_ANIMATED_ABSTRACTIONS', '20', '-nodead', '-expcterr', 'event_error:evt1:simulation_error'], 'Test simulation error').
521 cli_testcase(149, [eventb_test,hash], ['../prob_examples/public_examples/EventBPrologPackages/Convergence/countdown_r_mch.eventb', '-mc', '100', '-strict', '-p', 'NUMBER_OF_ANIMATED_ABSTRACTIONS', '20', '-cc', '7', '7', '--hash64', 714084921427841469], '').
522 cli_testcase(150, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Convergence/anticipated_grd_error.eventb', '-mc', '100', '-strict', '-p', 'NUMBER_OF_ANIMATED_ABSTRACTIONS', '20', '-nodead', '-expcterr', 'event_error:decr:variant_negative'], '').
523 cli_testcase(151, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Convergence/anticipated_var_error.eventb', '-mc', '100', '-strict', '-p', 'NUMBER_OF_ANIMATED_ABSTRACTIONS', '20', '-nodead', '-expcterr', 'event_error:inc:invalid_variant'], '').
524 cli_testcase(152, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Convergence/anticipated_svar_error.eventb', '-mc', '100', '-strict', '-p', 'NUMBER_OF_ANIMATED_ABSTRACTIONS', '20', '-nodead', '-expcterr', 'event_error:add:invalid_variant'], '').
525 cli_testcase(153, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Convergence/convergent_grd_error.eventb', '-mc', '100', '-strict', '-p', 'NUMBER_OF_ANIMATED_ABSTRACTIONS', '20', '-nodead', '-expcterr', 'event_error:decr:variant_negative'], '').
526 cli_testcase(154, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Convergence/convergent_var_error.eventb', '-mc', '100', '-strict', '-p', 'NUMBER_OF_ANIMATED_ABSTRACTIONS', '20', '-nodead', '-expcterr', 'event_error:decr:invalid_variant'], '').
527 cli_testcase(155, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Convergence/convergent_svar_error.eventb', '-mc', '100', '-strict', '-p', 'NUMBER_OF_ANIMATED_ABSTRACTIONS', '20', '-nodead', '-expcterr', 'event_error:do_nothing:invalid_variant'], '').
528 cli_testcase(156, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Convergence/variant_integer.eventb', '-mc', '100', '-strict', '-p', 'NUMBER_OF_ANIMATED_ABSTRACTIONS', '20', '-nodead', '-cc', '8', '19'], 'Event-B variant check').
529 cli_testcase(157, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Convergence/variant_set.eventb', '-mc', '100', '-strict', '-p', 'NUMBER_OF_ANIMATED_ABSTRACTIONS', '20', '-nodead', '-cc', '17', '97'], '').
530 cli_testcase(158, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Merging/merging_R2.eventb', '-mc', '100', '-strict', '-p', 'NUMBER_OF_ANIMATED_ABSTRACTIONS', '20', '-nodead', '-cc', '12', '11'], '').
531 cli_testcase(159, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/MultiLevel/TheoremsInGuardsOK.eventb', '-mc', '10', '-nodead', '-check_complete', '-cc', '5', '4', '-strict'], 'Theorems in guards').
532 cli_testcase(160, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/MultiLevel/TheoremsInGuardsKO.eventb', '-mc', '10', '-nodead', '-expcterr', 'event_error:inc:invalid_theorem_in_guard', '-strict'], '').
533 cli_testcase(161, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/CompareWithFDR/GenPrime.csp', '-t', '-strict'], '').
534 cli_testcase(162, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/demo/buses.csp', '-t', '-strict'], '').
535 cli_testcase(163, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/demo/Peterson_v2.csp', '-t', '-strict', '-mc',1000, '-cc', 215, 429], '').
536 cli_testcase(164, [csp_test], ['-cs', '../prob_examples/public_examples/CSP/mydemos/demo/mbuff.csp', '-t', '-strict'], '').
537 cli_testcase(165, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/demo/crossing.csp', '-t', '-strict', '-mc', '3910', '-check_complete', '-cc', '3933', '9367'], 'CSP crossing').
538 cli_testcase(166, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/SetCompTests.csp', '-t', '-strict'], '').
539 cli_testcase(167, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/SimpleCompLinkedPar.csp', '-t', '-strict', '-v'], 'CSP linked parallel test and exercise verbose flag in CSP mode').
540 cli_testcase(168, [csp_test], ['-cs', '../prob_examples/public_examples/CSP/mydemos/SequenceComprTests2.csp', '-t', '-strict'], 'Sequence comprehension in CSP').
541 cli_testcase(169, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/BigUnionInterTests.csp', '-t', '-strict'], '').
542 cli_testcase(170, [csp_test], ['../prob_examples/public_examples/B/Tickets/299/faust_deadlock.csp', '-mc', '100000', '-strict', '-expcterr', 'deadlock'], '').
543 cli_testcase(171, [csp_test], ['../prob_examples/public_examples/CSP/FDRFeatureTests/LargeStateSpace.csp',
544 '-silent', '-mc', '999999', '-cc', '101102', '101101', '-strict', '-expcterr', 'deadlock'], 'Long counter-example trace').
545 cli_testcase(172, [csp_test], ['../prob_examples/public_examples/CSP/FDRFeatureTests/RenameRecordPattern.csp', '-mc', '999999', '-t', '-check_complete', '-cc', '4', '4'], '').
546 cli_testcase(173, [csp_test], ['../prob_examples/public_examples/CSP/FDRFeatureTests/RenameRecordPattern2.csp', '-t', '-assertions', '-strict'], '').
547 cli_testcase(174, [csp_test], ['../prob_examples/public_examples/CSP/FDRFeatureTests/SimpleRefTest.csp', '-assertions', '-strict'], '').
548 cli_testcase(175, [csp_test], ['../prob_examples/public_examples/CSP/fontaine/RecDataType.csp', '-t', '-strict'], '').
549 cli_testcase(176, [csp_test], ['../prob_examples/public_examples/CSP/fontaine/RecDataTypeFunctions.csp', '-t', '-strict'], '').
550 cli_testcase(177, [csp_test], ['../prob_examples/public_examples/CSP/simple/InSituRefChecks.csp', '-csp_assertion', 'Q [F= MAIN', '-csp_assertion', 'MAIN [F= Q', '-csp_assertion', 'Q [T= R', '-csp_assertion', 'R [F= Q', '-cc', 9, 20, '-strict'], '').
551 cli_testcase(178, [csp_test], ['../prob_examples/public_examples/CSP/simple/InSituRefChecks.csp', '-csp_assertion', 'Q [F= MAIN', '-csp_assertion', 'Q [F= R', '-strict', '-expcterr', 'refinement_check_fails'], '').
552 cli_testcase(179, [csp_test], ['../prob_examples/public_examples/CSP/UML_Compass/Microwave.csp', '-assertions', '-strict'], '').
553 cli_testcase(180, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/demo/roscoe_section2-2.csp', '-assertions', '-strict'], '').
554 cli_testcase(181, [csp_test,csp_bench], ['../prob_examples/public_examples/CSP/ref_benchmarks/SimpleDeadlockCheck.csp', '-assertions', '-strict'], '').
555 cli_testcase(182, [csp_test,csp_bench], ['../prob_examples/public_examples/CSP/simple/DivChecks.csp', '-assertions', '-strict'], '').
556 cli_testcase(183, [csp_test,csp_bench], ['../prob_examples/public_examples/CSP/other/Ivo/Failure_Divergence_Tests.csp', '-assertions', '-strict'], '').
557 cli_testcase(184, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/Deadlock_Skip_Tests.csp', '-assertions', '-strict'], '').
558 cli_testcase(185, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/Failures_Tests.csp', '-assertions', '-strict'], '').
559 cli_testcase(186, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/AgentErrorsLetWithIn.csp', '-assertions', '-strict'], '').
560 cli_testcase(188, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/Deterministic_simple_v2.csp', '-assertions', '-strict'], '').
561 cli_testcase(189, [csp_test,codespeed], ['../prob_examples/public_examples/CSP/ref_benchmarks/abp_chapter5_roscoe_bench.csp', '-assertions', '-strict'], 'Roscoe chapter 5 tests').
562 cli_testcase(190, [csp_test], ['../prob_examples/public_examples/CSP/ref_benchmarks/ucs1.csp', '-assertions', '-strict'], '').
563 cli_testcase(191, [csp_test], ['../prob_examples/public_examples/CSP/simple/check_print.csp', '-t', '-strict'], '').
564 cli_testcase(192, [csp_test], ['../prob_examples/public_examples/CSP/simple/check_set_compr_pat.csp', '-t', '-mc', '1000', '-nodead', '-cc', '6', '10', '-strict'], '').
565 cli_testcase(193, [csp_test], ['../prob_examples/public_examples/CSP/ref_benchmarks/failsim.csp', '-assertions', '-strict'], '').
566 cli_testcase(194, [typechecker_test], ['../prob_examples/public_examples/B/Tickets/305/Environment.mch', '-t', '-strict'], '').
567 cli_testcase(195, [typechecker_test], ['../prob_examples/public_examples/B/Tickets/308/Basic_Controller.mch', '-t', '-mc', '100', '-strict', '-expcterr', 'model_check_incomplete'], '').
568 cli_testcase(196, [typechecker_test,unit], ['-typecheckertest','../prob_examples/public_examples/B/Typecheckertests/expressions.mch', '-strict'], '').
569
570 % SBMF 2010
571 cli_testcase(197, [counterex], ['../prob_examples/public_examples/B/Counterexamples/CarlaTravelAgencyErr.mch', '-mc', '1000', '-expcterr', 'invariant_violation', '-strict'], 'SBMF TravelAgency').
572 cli_testcase(198, [counterex], ['../prob_examples/public_examples/EventBPrologPackages/Stefan_SecureBuilding/M21_err3_mch.eventb', '-mc', '1000', '-expcterr', 'invariant_violation', '-strict'], 'SBMF SecureBldg_M21_err3').
573 cli_testcase(199, [counterex], ['../prob_examples/public_examples/B/PerformanceTests/dfcheck_houseset.mch', '-mc', '1000', '-df', '-expcterr', 'invariant_violation', '-expcterr', 'invariant_violation', '-strict'], 'SBMF Houseset').
574 cli_testcase(200, [counterex], ['../prob_examples/public_examples/B/PerformanceTests/BreadthFirstTest.mch', '-mc', '100000', '-expcterr', 'invariant_violation', '-strict'], 'SBMF BFTest').
575 cli_testcase(201, [counterex], ['../prob_examples/public_examples/B/PerformanceTests/DepthFirstTest.mch', '-mc', '100000', '-expcterr', 'invariant_violation', '-strict'], 'SBMF DFTest').
576 cli_testcase(202, [counterex], ['../prob_examples/public_examples/B/SymmetryReduction/Peterson_err.mch', '-mc', '10000', '-expcterr', 'invariant_violation', '-strict'], 'SBMF Peterson_err').
577 cli_testcase(203, [counterex], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb', '-mc', '10000', '-strict', '-expcterr', 'deadlock'], '').
578 cli_testcase(204, [counterex], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M3_mch.eventb', '-mc', '10000', '-strict', '-expcterr', 'deadlock'], '').
579 cli_testcase(205, [counterex,infinite,total_function], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_infinite_int.eventb', '-p', 'CLPFD', 'TRUE',
580 '-p', 'DEFAULT_SETSIZE', 3,
581 '-t', '-expcterr', virtual_time_out ], 'Requires total function from NATURAL to TC_Type; now succeeds again'). % was '-expcterr', setup_constants_fails
582
583 cli_testcase(206, [log_performance_tests,hash], ['../prob_examples/public_examples/EventBPrologPackages/sieve.eventb', '-mc', '1000', '-l', 'log/sieve.log', '-strict',
584 '--hash64', 797695222146570849, % see test 136
585 '-check_complete', '-cc', '33', '33'], 'Sieve Event-B version'). % test 136 with log
586 cli_testcase(207, [puzzles_test], ['../prob_examples/public_examples/B/Demo/RussianPostalPuzzle.mch', '-mc', '10000', '-expcterr', 'goal_found'], '').
587 cli_testcase(208, [puzzles_test], ['../prob_examples/public_examples/B/Demo/TrainTorchPuzzle.mch', '-mc', '10000', '-nodead', '-expcterr', 'goal_found'], '').
588 cli_testcase(209, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/BlocksWorldGeneric.mch', '-mc', '10000', '-expcterr', 'goal_found'], '').
589 cli_testcase(210, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/Farmer.mch', '-mc', '10000', '-expcterr', 'goal_found'], '').
590 cli_testcase(211, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/Hanoi.mch', '-mc', '10000', '-expcterr', 'goal_found'], '').
591 cli_testcase(212, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/Hanoi6.mch', '-mc', '10000', '-expcterr', 'goal_found'], '').
592 cli_testcase(213, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/Hanoi8.mch', '-mc', '10000', '-expcterr', 'goal_found'], 'Hanoi 8').
593 cli_testcase(214, [puzzles_test,symmetry_test], ['../prob_examples/public_examples/B/Puzzles/Hanoi6Sym.mch', '-p', 'SYMMETRY_MODE', 'hash', '-mc', '10000', '-expcterr', 'goal_found'], '').
594 cli_testcase(215, [puzzles_test,symmetry_test], ['../prob_examples/public_examples/B/Puzzles/Hanoi6Sym.mch','-p','SYMMETRY_MODE','hash','-mc','10000','-card','Stakes','4','-expcterr','goal_found'], 'Hanoi 6 with symmetry').
595 cli_testcase(216, [puzzles_test,symmetry_test], ['../prob_examples/public_examples/B/Puzzles/Hanoi8Sym.mch', '-p', 'SYMMETRY_MODE', 'hash', '-mc', '10000', '-expcterr', 'goal_found'], 'Hanoi 8 with symmetry').
596 cli_testcase(217, [puzzles_test,xtl], ['-mc', '10000', '../prob_examples/public_examples/XTL/Hanoi.P', '-nodead', '-expcterr', 'xtl_error'], 'Test XTL Hanoi example').
597 cli_testcase(218, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/water.mch', '-mc', '10000', '-expcterr', 'goal_found', '-vv'], 'Water puzzle').
598 cli_testcase(219, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/LatinSquares.mch', '-mc', '10000', '-p', 'MAXINT', 5, '-expcterr', deadlock], 'Latin squares puzzle').
599 cli_testcase(220, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/CrewAllocationConstants.mch', '-t', '-p', 'TIME_OUT', '5000', '-p', 'CLPFD', 'FALSE'], 'Crew allocation puzzle (no CLPFD)').
600 cli_testcase(221, [puzzles_test,codespeed], ['../prob_examples/public_examples/B/Puzzles/CrewAllocationConstants.mch', '-t', '-p', 'TIME_OUT', '8000', '-p', 'CLPFD', 'TRUE'], 'Crew allocation puzzle').
601 cli_testcase(222, [b_test,cruise,codespeed,hash], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-mc', '1400', '-cc', '1361', '25696', '-strict', '--hash64', 753243318772366897 , '-p', 'MAX_INITIALISATIONS', 5], 'Complete Model Check of Cruise Controller'). % 17.9.2021: adapted hash from 203058745203935766 for sorted order of variables, 8.12.2015: adapted hash from 212678735433640605 for new order of variables
602 cli_testcase(223, [error_checks,wd,card], ['../prob_examples/public_examples/B/ErrorMachines/CardInfOverflow.mch', '-mc', '100', '-strict', '-expcterr', 'card_overflow_error', % was 'well_definedness_error' until 12th May 2024
603 '-expcterr', 'invariant_violation', '-p', 'CLPFD', 'FALSE'], '').
604 cli_testcase(224, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/TwoOpsSameName.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], 'Two operations with the same name').
605 cli_testcase(225, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/PreCondViolated.mch', '-mc', '10', '-strict', '-expcterr', 'precondition_error'], 'Precondition violation detected').
606 cli_testcase(226, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/AssertCondViolated.mch', '-mc', '10', '-strict', '-expcterr', 'assert_error'], 'Assertion condition violation detected').
607 cli_testcase(227, [error_checks,while], ['../prob_examples/public_examples/B/ErrorMachines/WhileLoopOk.mch', '-t', '-mc', '30', '-p', 'MAX_OPERATIONS', 30, '-check_complete', '-cc', '11', '66'], 'While loop check').
608 cli_testcase(228, [error_checks,while], ['../prob_examples/public_examples/B/ErrorMachines/WhileLoopVariantError.mch', '-mc', '10', '-strict', '-expcterr', 'while_variant_error'], '').
609 cli_testcase(229, [error_checks,while], ['../prob_examples/public_examples/B/ErrorMachines/WhileLoopVariantErr2.mch', '-mc', '10', '-strict', '-expcterr', 'while_variant_error'], '').
610 cli_testcase(230, [error_checks,while], ['../prob_examples/public_examples/B/ErrorMachines/WhileLoopInvariantError.mch', '-mc', '10', '-strict', '-expcterr', 'while_invariant_violation'], '').
611 cli_testcase(231, [error_checks,wd], ['../prob_examples/public_examples/B/ErrorMachines/FunLaws_wderror.mch', '-mc', '2500', '-strict', '-expcterr', 'well_definedness_error',
612 '-opterr', invariant_violation % as of 17.3.2023 we also raise an invariant error here
613 ], 'FunLaws with wd_error').
614 cli_testcase(232, [error_checks,wd], ['../prob_examples/public_examples/B/ErrorMachines/UndefinedArithmetic/DivByZero.mch', '-init', '-strict', '-expcterr', 'well_definedness_error'], '').
615 cli_testcase(233, [error_checks,wd], ['../prob_examples/public_examples/B/ErrorMachines/TestWDProblems_mch.eventb', '-init', '-animate', '1', '-strict', '-expcterr', 'well_definedness_error', '-expcterr', 'invariant_violation', '-expcterr', 'event_error:divby0:action_not_executable'], '').
616 cli_testcase(234, [error_checks,wd,exists], ['../prob_examples/public_examples/B/ErrorMachines/UndefinedArithmetic/DivByZeroInsideNotExists.mch', '-strict', '-init', '-expcterr', 'well_definedness_error', '-expcterr', 'setup_constants_unknown'], '').
617 cli_testcase(235, [error_checks,wd], ['../prob_examples/public_examples/B/ErrorMachines/UndefinedArithmetic/PowerOfNegativeNumber.mch', '-strict', '-t', '-expcterr', 'well_definedness_error'], '').
618 cli_testcase(236, [error_checks,wd], ['../prob_examples/public_examples/B/ErrorMachines/UndefinedInter.mch', '-init', '-animate', '1', '-strict', '-expcterr', 'well_definedness_error','-expcterr', 'animate'], '').
619 cli_testcase(237, [error_checks,wd,quantified], ['../prob_examples/public_examples/B/ErrorMachines/UndefinedBigINTER.mch', '-init', '-animate', '1', '-strict', '-expcterr', 'well_definedness_error','-expcterr', 'animate'], '').
620 cli_testcase(238, [error_checks,wd], ['../prob_examples/public_examples/B/ErrorMachines/UndefinedArithmetic/MaxOfEmptySet.mch', '-init', '-strict', '-expcterr', 'well_definedness_error'], '').
621 cli_testcase(239, [error_checks,wd], ['../prob_examples/public_examples/B/ErrorMachines/UndefinedArithmetic/MinOfEmptySet.mch', '-init', '-strict', '-expcterr', 'well_definedness_error'], '').
622 cli_testcase(240, [error_checks,wd], ['../prob_examples/public_examples/B/ErrorMachines/UndefinedSeqOperations/LastEmptySeq.mch', '-init', '-strict', '-expcterr', 'well_definedness_error'], '').
623 cli_testcase(241, [error_checks,wd], ['../prob_examples/public_examples/B/ErrorMachines/UndefinedSeqOperations/FrontEmptySeq.mch', '-init', '-strict', '-expcterr', 'well_definedness_error'], '').
624 cli_testcase(242, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/OpCalls/Caller.mch', '-strict', '-expcterr', 'precondition_error', '-mc', '100'], '').
625 cli_testcase(243, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/MultiAssignInit_bug.mch', '-t', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], 'Check that we detect when we assign a variable twice in the INITIALISATION').
626 cli_testcase(244, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/TypeError1.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], '').
627 cli_testcase(245, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/TypeError2.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], '').
628 cli_testcase(246, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/TypeError3.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], '').
629 cli_testcase(247, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/TypeError4.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], '').
630 cli_testcase(248, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/CstDefError1.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], '').
631 cli_testcase(249, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/CstDefError2.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], '').
632 cli_testcase(250, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/ParameterError1.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], '').
633 cli_testcase(251, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/TicTacToe_ErrOp.mch','-strict','-expcterr','type_error','-expcterr','load_main_file','-expcterr',bmachine_static_checks], '').
634 cli_testcase(252, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/AssignmentToParameterErr.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], '').
635 cli_testcase(253, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/NoTypingForPara.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], '').
636 cli_testcase(254, [error_checks,parser], ['../prob_examples/public_examples/B/ErrorMachines/RecursiveDefinition.mch', '-strict', '-expcterrpos', 'parse_error', 10, 0, '-expcterr', 'load_main_file'], '').
637 cli_testcase(255, [tickets,codespeed], ['../prob_examples/public_examples/B/Tickets/184/ModeProtocolMachine_mch.eventb', '-mc', '20000', '-noass', '-card', 'MANAGERS', '1', '-p', 'MAX_INITIALISATIONS', '10', '-p', 'CLPFD', 'TRUE', '-strict' , '-expcterr', 'model_check_incomplete'], 'ModeProtocol model check').
638 cli_testcase(256, [tickets,card], ['../prob_examples/public_examples/B/Tickets/184/ModeProtocolMachine_mch.eventb', '-mc', '200000', '-noass', '-p', 'MAX_INITIALISATIONS', '10', '-cs', '--goal', 'card(incoming(MnAOC))>0 & card(outgoing(MnAOC))>0', '-strict', '-expcterr', 'goal_found'], 'ModeProtocol searching for goal').
639 cli_testcase(257, [tickets], ['../prob_examples/public_examples/B/Tickets/102/Bijections_mch.eventb', '-t', '-mc', '1000', '-nodead', '-check_complete', '-cc', '2', '1'], '').
640 cli_testcase(258, [tickets], ['../prob_examples/public_examples/B/Tickets/102/PartialInjections_mch.eventb', '-t', '-mc', '1000', '-nodead', '-check_complete', '-cc', '2', '1'], '').
641 cli_testcase(259, [tickets], ['../prob_examples/public_examples/B/Tickets/102/PartialFunctions_mch.eventb', '-mc', '1000', '-nodead', '-check_complete', '-cc', '2', '1'], '').
642 cli_testcase(260, [tickets], ['../prob_examples/public_examples/B/Tickets/102/Relations_mch.eventb', '-mc', '1000', '-nodead', '-check_complete', '-cc', '2', '1'], '').
643 cli_testcase(261, [tickets], ['../prob_examples/public_examples/B/Tickets/102/TotalFunctions_mch.eventb', '-mc', '1000', '-nodead', '-check_complete', '-cc', '2', '1'], '').
644 cli_testcase(262, [tickets], ['../prob_examples/public_examples/B/Tickets/102/TotalInjections_mch.eventb', '-mc', '1000', '-nodead', '-check_complete', '-cc', '2', '1'], '').
645 cli_testcase(263, [tickets], ['../prob_examples/public_examples/B/Tickets/102/TotalSurjections_mch.eventb', '-mc', '1000', '-t', '-nodead', '-check_complete', '-cc', '2', '1'], '').
646 cli_testcase(264, [tickets], ['../prob_examples/public_examples/B/Tickets/102/PartialSurjections_mch.eventb', '-mc', '1000', '-t', '-nodead', '-check_complete', '-cc', '2', '1'], '').
647 cli_testcase(265, [tickets], ['../prob_examples/public_examples/B/Tickets/102/TotalRelations_mch.eventb', '-mc', '1000', '-t', '-nodead', '-check_complete', '-cc', '2', '1'], '').
648 cli_testcase(266, [tickets], ['../prob_examples/public_examples/B/Tickets/Sven1/AbsIntern.mch', '-t', '-strict'], '').
649 cli_testcase(267, [tickets], ['../prob_examples/public_examples/B/Tickets/Sven1/AbsInternCst.mch', '-t', '-strict'], '').
650 cli_testcase(268, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio1/MAX_BIT_VECTOR_DEFINITION_v2.mch', '-t', '-strict', '-properties'], '').
651 cli_testcase(269, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio1/MAX_BIT_VECTOR_DEFINITION_v2.mch', '-t', '-strict', '-p', 'SYMBOLIC', 'TRUE'], '').
652 cli_testcase(270, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio1/MAX_BIT_VECTOR_DEFINITION_v2.mch', '-t', '-strict', '-p', 'MAXINT', '100', '-properties', '-p', 'SYMBOLIC', 'TRUE'], ''). % , '-p', 'EXPAND_CLOSURES_FOR_STATE', 'FALSE'
653 cli_testcase(271, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio1/MAX_BIT_VECTOR_DEFINITION_v2.mch', '-t', '-strict', '-p', 'MAXINT', '100', '-properties', '-p', 'SYMBOLIC', 'TRUE'], 'Valerio1 Ticket. Can not be run on windows due to memory restrictions.'). % , '-p', 'EXPAND_CLOSURES_FOR_STATE', 'TRUE'
654 cli_testcase(272, [tickets], ['../prob_examples/public_examples/B/Tickets/Butler1/M2_mch.eventb', '-mc', '1000', '-strict', '-expcterr', 'invariant_violation', '-expcterr', 'event_error:Enter:simulation_error'], '').
655 cli_testcase(273, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio3/BV16_DEFINITION.mch', '-t', '-strict', '-properties', '-p', 'SYMBOLIC', 'TRUE', '-p', 'CLPFD', 'TRUE'], ''). % , '-p', 'EXPAND_CLOSURES_FOR_STATE', 'FALSE'
656 cli_testcase(274, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio3/POWER2_v2.mch', '-init', '-strict', '-aa', '19', '0', '0'], '').
657 cli_testcase(275, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio3/POWER2.mch', '-init', '-strict', '-ma', '18', '0', '0'], '').
658 cli_testcase(276, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio4/FailingInit1.mch', '-init', '-strict', '-expcterr', 'initialisation_fails', '-expcterr', bmachine_static_checks], '').
659 cli_testcase(277, [tickets,wd], ['../prob_examples/public_examples/B/Tickets/Valerio4/FailingInit2.mch', '-init', '-strict', '-expcterr', 'initialisation_fails', '-expecterr', 'well_definedness_error', '-expcterr', bmachine_static_checks], '').
660 cli_testcase(278, [tickets,wd], ['../prob_examples/public_examples/B/Tickets/Valerio4/FailingInit3.mch', '-init', '-strict',
661 % '-expcterrpos', 'initialisation_fails', 10, 27,
662 '-expcterr', 'initialisation_fails', % we now have two errors, one with and one without position info
663 '-expcterr', 'well_definedness_error', '-expcterr', bmachine_static_checks], '').
664 cli_testcase(279, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio4/FailingInit4.mch', '-init', '-strict', '-expcterr', 'initialisation_fails', '-expcterr', bmachine_static_checks], '').
665 cli_testcase(280, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio4/FailingInit5.mch', '-init', '-strict', '-expcterr', 'initialisation_fails', '-expcterr', bmachine_static_checks], '').
666 cli_testcase(281, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio6/Z80_Simple.mch', '-strict', '-t', '-p', 'CLPFD', 'TRUE'], '').
667 cli_testcase(282, [tickets], ['../prob_examples/public_examples/B/Tickets/Alstom1/TestBecomesElementOf.mch', '-strict', '-t', '-p', 'CLPFD', 'TRUE'], 'becomes element of cartesian product').
668 cli_testcase(283, [tickets], ['../prob_examples/public_examples/B/Tickets/Alstom1/TestPFBecomeSuch.mch', '-strict', '-t', '-p', 'CLPFD', 'TRUE'], 'becomes element of partial function').
669 cli_testcase(284, [tickets], ['../prob_examples/public_examples/B/Tickets/Alstom1/MAXINT_M1.mch', '-strict', '-t', '-p', 'CLPFD', 'TRUE'], '').
670 cli_testcase(285, [tickets], ['../prob_examples/public_examples/B/Tickets/93/lift.eventb', '-strict', '-t', '-expcterr', 'event_error:ScheduleGoingUp:invalid_theorem_in_guard', '-expcterr', 'event_error:ScheduleGoingUp:invalid_modification'], '').
671 cli_testcase(286, [tickets,exists], ['../prob_examples/public_examples/B/Tester/TestExistsLetExtraction.mch', '-t', '-strict'], '').
672 cli_testcase(287, [tickets,imp], ['../prob_examples/public_examples/B/Tickets/177/loop_invariant.imp', '-strict', '-t'], '').
673 cli_testcase(288, [tickets], ['../prob_examples/public_examples/B/Tickets/181/alstom_memory.mch', '-strict', '-t', '-mc', '100', '-check_complete', '-cc', '3', '8'], '').
674 cli_testcase(289, [laws,rel_fnc], ['../prob_examples/public_examples/EventBPrologPackages/Laws/ExplicitComputationsEventB_ctx.eventb', '-init', '-strict', '-p', 'CLPFD', 'TRUE', '-p', 'TIME_OUT', '9500'], 'Many explicit computations which check that all operators work as expected on various concrete data (for Event-B).'). % increased time-out from 7 sec to 9.5 sec on 18th of May; TO DO: investigate whether we can reduce it again; % was slowed down by commit ab8c8667c43324c15b337c213c4140af6ec7d110 add propagate_result_to_input for domain operator
675 cli_testcase(290, [laws], ['../prob_examples/public_examples/EventBPrologPackages/Laws/LawsEventBSpecific.eventb', '-t', '-mc', '1000', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE', '-p', 'CLPFD', 'FALSE',
676 '-opterr', virtual_time_out, % no longer required when x:NATURAL translated to x>=0
677 '-expcterr', 'model_check_incomplete'], 'LawsEventBSpecific (CLPFD FALSE)').
678 cli_testcase(291, [laws], ['../prob_examples/public_examples/B/Laws/EqualityLaws.mch', '-t', '-mc', '100000', '-nodead', '-cs', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE'], '').
679 cli_testcase(292, [laws,rel_fnc], ['../prob_examples/public_examples/B/Laws/ExplicitComputations.mch', '-t', '-mc', '100000', '-nodead', '-cs', '-strict', '-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', '7000'], 'Many explicit computations which check that all operators work as expected on various concrete data (CLPFD FALSE).').
680 cli_testcase(293, [laws,rel_fnc,cbc], ['../prob_examples/public_examples/B/Laws/ExplicitComputations.mch', '-t', '-mc', '100000', '-nodead', '-cs', '-strict', '-p', 'CLPFD', 'TRUE', '-p', 'TIME_OUT', '9000'], 'Many explicit computations which check that all operators work as expected on various concrete data (CLPFD mode).').
681 cli_testcase(294, [laws], ['../prob_examples/public_examples/B/Laws/BoolLaws.mch', '-mc', '100000', '-nodead', '-cs', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE'], 'Various laws about BOOL datatype and boolean connectives.').
682 cli_testcase(295, [laws], ['../prob_examples/public_examples/B/Laws/ArithmeticLaws.mch',
683 '../prob_examples/public_examples/B/Laws/ArithmeticExpLaws.mch',
684 '-mc', '100000', '-cs', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE'], 'Various arithmetic laws.').
685 cli_testcase(296, [laws], ['../prob_examples/public_examples/B/Laws/NatRangeLaws.mch', '-mc', '100000', '-cs', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE'], 'Laws about intervals etc.').
686 cli_testcase(297, [laws,rel_fnc], ['../prob_examples/public_examples/B/Laws/RelLaws.mch', '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Use model checking to check a variety of laws on relations.').
687 cli_testcase(298, [laws], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
688 '../prob_examples/public_examples/B/Laws/SetLaws.mch', '-mc', '600', '-cs', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'FALSE', '-cc', 513, 3841], 'Mathematical Laws about Sets').
689 cli_testcase(299, [laws], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
690 '../prob_examples/public_examples/B/Laws/SetLaws.mch', '-mc', '600', '-cs', '-nogoal', '-nodead', '-strict', '-p', 'SYMBOLIC', 'TRUE', '-p', 'CLPFD', 'FALSE', '-cc', 513, 3841], 'Mathematical Laws about Sets').
691 cli_testcase(300, [laws], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
692 '../prob_examples/public_examples/B/Laws/SetLaws.mch', '-mc', '600', '-cs', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'TRUE', '-cc', 513, 3841], 'Mathematical Laws about Sets').
693 cli_testcase(301, [laws], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
694 '../prob_examples/public_examples/B/Laws/SetLaws.mch', '-mc', '600', '-cs', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'TRUE', '-p', 'SYMBOLIC', 'TRUE', '-cc', 513, 3841], 'Mathematical Laws about Sets'). % 513 states = 8*8*8 + 1
695 cli_testcase(302, [laws], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
696 '../prob_examples/public_examples/B/Laws/SetLawsNat.mch', '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'FALSE', '-expcterr', 'model_check_incomplete'], 'Mathematical Laws about Sets (with Natural Numbers, CLPFD FALSE)').
697 cli_testcase(303, [laws], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
698 '../prob_examples/public_examples/B/Laws/SetLawsNat.mch', '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'TRUE','-p', 'DOUBLE_EVALUATION', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Mathematical Laws about Sets (with Natural Numbers)').
699 cli_testcase(304, [laws], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
700 '../prob_examples/public_examples/B/Laws/SetLawsNat.mch', '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict', '-p', 'SYMBOLIC', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Mathematical Laws about Sets (with Natural Numbers)').
701 cli_testcase(305, [laws,repl], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
702 '../prob_examples/public_examples/B/Laws/REPL_UNIT_TESTS0.mch', '-t', '-mc', '100000', '-cs', '-strict', '-p', 'CLPFD', 'TRUE', '-assertions', '-p', 'TIME_OUT', '28000'], 'Some REPL Unit Tests').
703 cli_testcase(306, [laws,repl], ['../prob_examples/public_examples/B/Laws/REPL_UNIT_TESTS1.mch', '-t', '-mc', '100000', '-cs', '-strict', '-p', 'CLPFD', 'TRUE', '-assertions', '-p', 'TIME_OUT', '28000'], 'Some REPL Unit Tests').
704 cli_testcase(307, [laws,repl], ['../prob_examples/public_examples/B/Laws/REPL_UNIT_TESTS.mch', '-t', '-mc', '100000', '-cs', '-strict', '-p', 'CLPFD', 'TRUE', '-assertions', '-p', 'TIME_OUT', '45000'], 'Some REPL Unit Tests').
705 cli_testcase(308, [laws,rel_fnc], ['../prob_examples/public_examples/B/Daniel/rel_fnc.mch', '-t', '-mc', '20000', '-strict', '-p', 'CLPFD', 'TRUE', '-expcterr', 'model_check_incomplete'], 'A small machine to check that rel/fnc work as expected.').
706 cli_testcase(309, [laws,card], ['../prob_examples/public_examples/B/Laws/CardinalityLaws.mch', '-mc', '2500', '-cs', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'TRUE'], 'Cardinality Laws').
707 cli_testcase(310, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb', '-cbc_deadlock', '-expcterr', 'cbc_deadlock_check', '-strict'], '').
708 cli_testcase(311, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M1_mch.eventb', '-cbc_deadlock', '-expcterr', 'cbc_deadlock_check', '-strict'], '').
709 cli_testcase(312, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M2_mch.eventb', '-cbc_deadlock', '-expcterr', 'cbc_deadlock_check', '-strict'], '').
710 cli_testcase(313, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M3_mch.eventb', '-cbc_deadlock', '-expcterr', 'cbc_deadlock_check', '-strict'], '').
711 cli_testcase(314, [cbc_deadlock], ['../prob_examples/public_examples/B/Demo/Lift.mch', '-cbc_deadlock', '-strict'], '').
712 cli_testcase(315, [cbc_deadlock], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-cbc_deadlock', '-strict'], '').
713 cli_testcase(316, [cbc_deadlock], ['../prob_examples/public_examples/B/Demo/RussianPostalPuzzle.mch', '-cbc_deadlock', '-strict'], '').
714 cli_testcase(317, [cbc_deadlock], ['../prob_examples/public_examples/B/CBC/NoDeadlock.mch', '-cbc_deadlock', '-strict'], '').
715 cli_testcase(318, [cbc_deadlock], ['../prob_examples/public_examples/B/CBC/SimpleDeadlock1.mch', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
716 cli_testcase(319, [cbc_deadlock], ['../prob_examples/public_examples/B/CBC/DeadlockIntBools.mch', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
717 cli_testcase(320, [cbc_deadlock], ['../prob_examples/public_examples/B/CBC/ProcessIDStarvation.mch', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
718 cli_testcase(321, [cbc_deadlock], ['../prob_examples/public_examples/B/CBC/ProcessIDStarvation_InvErr.mch', '-cbc_deadlock', '-strict'], '').
719 cli_testcase(322, [cbc_deadlock], ['../prob_examples/public_examples/B/CBC/MinSet_Deadlock.mch', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
720 cli_testcase(323, [cbc_deadlock,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/Vizing_Breitner/m12_Deadlock_Freedom_mch.eventb', '-p','TIME_OUT','200','-cbc_deadlock', '-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE', '-strict', '-p','DEFAULT_SETSIZE',1], ''). /* with size 2 only works if SMT mode is allowed to instantiate */
721 cli_testcase(324, [cbc,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/Vizing_Breitner/m11_Conv_Stages_mch.eventb', '-cbc_deadlock', '-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE', '-strict','-p', 'DEFAULT_SETSIZE',2,
722 '-p', 'TIME_OUT', '9500'], 'Vizing_Breitner challenging Deadlock Test'). % increased time-out for jenkins; locally the test runs in 22-23 seconds (MBA, Sept. 2015); time-out factor is 10 for -cbc_deadlock
723 % increased time-out from 7500 further for Windows gitlab runner on 14th Feb 2019
724 cli_testcase(325, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Deadlock/BrakeSystem_mch.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
725 cli_testcase(326, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Deadlock/QueenEventsTF_mch.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check', '-p', 'CLPFD', 'FALSE'], '').
726 cli_testcase(327, [cbc_deadlock,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/Deadlock/QueenEventsTF_mch.eventb', '-cbc_deadlock_pred', 'n=15', '-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
727 cli_testcase(328, [cbc_deadlock,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/Deadlock/QueenEventsTF_mch.eventb', '-cbc_deadlock_pred', 'n=32', '-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
728 cli_testcase(329, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_mch.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
729 cli_testcase(330, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_mch_unproven.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
730 cli_testcase(331, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_fifo_mch.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
731 cli_testcase(332, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/platoon/platoon_1_mch.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check' ,'-p', 'CLPFD', 'TRUE' % TO DO: investigate why we now need CLPFD or SMT
732 ], '').
733 cli_testcase(333, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/platoon/platoon_2_mch.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check', '-p', 'CLPFD', 'FALSE'], '').
734 cli_testcase(334, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/platoon/platoon_2_mch.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check', '-p', 'CLPFD', 'TRUE'], '').
735 cli_testcase(335, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Abrial_Teaching/ch2_car/m0_mch_deadlock.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
736 cli_testcase(336, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Abrial_Teaching/ch2_car/m0_mch_deadlock.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
737 cli_testcase(337, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Abrial_Teaching/ch2_car/m0_mch.eventb', '-cbc_deadlock', '-strict'], '').
738 cli_testcase(338, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Abrial_Teaching/ch2_car/m1_mch.eventb', '-cbc_deadlock', '-strict'], '').
739 cli_testcase(339, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Abrial_Teaching/ch2_car/m2_mch.eventb',
740 '-cbc_deadlock', '-strict',
741 '-expcterr', 'enumeration_warning'], 'CBC Deadlock check with enumeration warning').
742 cli_testcase(340, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Abrial_Teaching/ch2_car/m3_mch.eventb',
743 '-cbc_deadlock', '-strict',
744 '-expcterr', 'enumeration_warning'], 'CBC Deadlock check with enumeration warning').
745 cli_testcase(341, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Abrial_Teaching/search/m_1b_mch.eventb', '-cbc_deadlock', '-strict'], '').
746 cli_testcase(342, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/TrafficLight/tlm_1.eventb', '-cbc_deadlock', '-strict', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
747 cli_testcase(343, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/TrafficLight/tlm_2.eventb', '-cbc_deadlock', '-strict', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
748 cli_testcase(344, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/TrafficLight/tlm_3.eventb', '-cbc_deadlock', '-strict', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
749 cli_testcase(345, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/ProofDirected/benchmarks/siemens_mch_0.eventb', '-cbc_deadlock', '-strict'], '').
750 cli_testcase(346, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/ProofDirected/benchmarks/scheduler.eventb', '-cbc_deadlock', '-strict'], '').
751 cli_testcase(347, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/ProofDirected/benchmarks/earley_2.eventb', '-cbc_deadlock', '-strict', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
752 cli_testcase(348, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/ProofDirected/benchmarks/mondex_m2.eventb', '-cbc_deadlock', '-strict', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
753 cli_testcase(349, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/ProofDirected/benchmarks/cxcc0.eventb', '-cbc_deadlock', '-p', 'USE_RECORD_CONSTRUCTION', 'TRUE', '-expcterr', 'cbc_deadlock_check', '-v'], 'cxcc0 cbc_deadlock and exercise verbose mode').
754 cli_testcase(350, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/ProofDirected/benchmarks/cxcc0.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check', '-p', 'USE_RECORD_CONSTRUCTION', 'FALSE'], '').
755 cli_testcase(351, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/ProofDirected/benchmarks/FMCH02.eventb', '-p', 'DEFAULT_SETSIZE', '1', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
756 cli_testcase(352, [cbc_deadlock,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/BPEL2B_PurchaseOrder/Model_Machine_4_mch_WithInit.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check', '-p', 'SMT', 'TRUE'], '').
757 cli_testcase(353, [cbc_deadlock,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/BPEL2B_PurchaseOrder/Model_Machine_4_NoDeadlock.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check', '-p', 'SMT', 'TRUE'], '').
758 cli_testcase(354, [cbc_deadlock,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/BPEL2B_PurchaseOrder/Model_Machine_4_NoDeadlock_v2.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check', '-p', 'SMT', 'TRUE'], '').
759 cli_testcase(355, [cbc_deadlock,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/BPEL2B_PurchaseOrder/Model_Machine_4_NoDeadlock_v3.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check', '-p', 'SMT', 'TRUE'], '').
760 cli_testcase(356, [cbc_deadlock,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/BPEL2B_PurchaseOrder/Model_Machine_4_NoDeadlock_v4.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check', '-p', 'SMT', 'TRUE'], '').
761 cli_testcase(357, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/BPEL2B_PurchaseOrder/Model_Machine_4_NoDeadlock_v5.eventb', '-cbc_deadlock', '-strict', '-p', 'DEFAULT_SETSIZE', '1'], '').
762 cli_testcase(358, [cbc_deadlock,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/BPEL2B_PurchaseOrder/Model_Machine_4_NoDeadlock_v5.eventb', '-cbc_deadlock', '-strict', '-p', 'DEFAULT_SETSIZE', '2', '-expcterr', 'cbc_deadlock_check', '-p', 'SMT', 'TRUE', '-p', 'CLPFD', 'FALSE'], '').
763 cli_testcase(359, [cbc_deadlock,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/BPEL2B_PurchaseOrder/Model_Machine_4_NoDeadlock_v5.eventb', '-cbc_deadlock', '-strict', '-p', 'DEFAULT_SETSIZE', '2', '-expcterr', 'cbc_deadlock_check', '-p', 'SMT', 'TRUE', '-p', 'CLPFD', 'TRUE'], '').
764 cli_testcase(360, [cbc_deadlock,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/BPEL2B_PurchaseOrder/Model_Machine_4_NoDeadlock_v6.eventb', '-cbc_deadlock', '-strict', '-p', 'DEFAULT_SETSIZE', '1', '-p', 'SMT', 'TRUE'], '').
765 cli_testcase(361, [cbc_deadlock,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/BPEL2B_PurchaseOrder/Model_Machine_4_NoDeadlock_v6.eventb', '-cbc_deadlock', '-strict', '-p', 'DEFAULT_SETSIZE', '2', '-p', 'SMT', 'TRUE'], '').
766 cli_testcase(362, [cbc_deadlock,smt_test], ['../prob_examples/public_examples/B/LTL/Turcanu/machineEco_mch4.eventb', '-cbc_deadlock', '-p', 'SMT', 'TRUE', '-strict', '-expcterr', 'cbc_deadlock_check'], 'Deadlock CBC Test with SMT pref').
767 cli_testcase(363, [cbc_deadlock], ['../prob_examples/public_examples/B/Mathematical/GraphIso/HardGraph.mch', '-cbc_deadlock', '-expcterr', 'cbc_deadlock_check_time_out', '-p', 'TIME_OUT', '30', '-p', 'MAX_INITIALISATIONS', '0', '-strict'], 'Test that time-out triggered within CBC Deadlock check'). % this test is now a bit fragile: with faster machines the check can be completed rather quickly
768 cli_testcase(364, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/BMS/Poker_v2/FiveCardSolo_mch.eventb', '-cbc_deadlock', '-strict'], '').
769 cli_testcase(365, [puzzles_test,hash], ['../prob_examples/public_examples/B/Puzzles/StableMarriages.mch', '-t', '-strict', '-cc', '7', '15', '-mc', '100', '--hash64', 192740982584039033], '').
770 cli_testcase(366, [puzzles_test,hash], ['../prob_examples/public_examples/B/Puzzles/StableMarriagesLarger.mch', '-t', '-strict', '-cc', '7', '46', '-mc', '100',
771 '-p', 'OPERATION_REUSE', 'FALSE', % for hash
772 '--hash64', 161314235289991900 % used to be 706576926696257193 % used to be 13443197532344872
773 ], 'Stable Marriages').
774 cli_testcase(367, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/GolombRuler.mch', '-t', '-p', 'CLPFD', 'TRUE', '-strict'], '').
775 cli_testcase(368, [puzzles_test,hash], ['../prob_examples/public_examples/B/Puzzles/Tischordnung.mch', '-t', '-strict', '-cc', '3', '7', '-mc', '100', '--hash64', 168992916868770688], '').
776 cli_testcase(369, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/Wegenetz.mch', '-mc', '1000', '-strict', '-nodead', '-expcterr', 'goal_found'], '').
777 cli_testcase(370, [puzzles_test], ['../prob_examples/public_examples/B/Demo/RussianPostalPuzzle.mch', '-mc', '1000', '-strict', '-nodead', '-expcterr', 'goal_found'], '').
778 cli_testcase(371, [puzzles_test], ['../prob_examples/public_examples/B/Demo/TrainTorchPuzzle.mch', '-mc', '1000', '-strict', '-nodead', '-expcterr', 'goal_found'], '').
779 cli_testcase(372, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/BlocksWorldGeneric.mch', '-mc', '1000', '-strict', '-nodead', '-expcterr', 'goal_found'], '').
780 cli_testcase(373, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/Farmer.mch', '-mc', '1000', '-strict', '-nodead', '-expcterr', 'goal_found'], '').
781 cli_testcase(374, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/Hanoi.mch', '-mc', '1000', '-strict', '-nodead', '-expcterr', 'goal_found'], '').
782 cli_testcase(375, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/water.mch', '-mc', '1000', '-strict', '-nodead', '-expcterr', 'goal_found'], '').
783 cli_testcase(376, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/EventBPrologPackages/Puzzles/CopyPastAsEvent_mch.eventb', '-t', '-strict'], '').
784 cli_testcase(377, [puzzles_test], ['../prob_examples/public_examples/EventBPrologPackages/Puzzles/Sudoku_ctx.eventb', '-t', '-strict'], '').
785 cli_testcase(378, [puzzles_test,queens,codespeed], ['-p', 'CLPFD', 'TRUE', '-p', 'MAX_OPERATIONS', 5000,
786 '-p', 'TIME_OUT', 4000, % increase time-out for SWI because now time-out applies to all solutions of an event
787 '../prob_examples/public_examples/EventBPrologPackages/Puzzles/NQueensAsEvent_mch.eventb', '-t', '-strict'], 'NQueens as events').
788 cli_testcase(379, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/PexSolve.mch', '-t', '-strict'], '').
789 cli_testcase(380, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/KnightsTour.mch', '-t', '-strict'], '').
790 cli_testcase(381, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/KnightsTour_v2.mch', '-t', '-strict'], '').
791 cli_testcase(382, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/SudokuAsConstant.mch', '-t', '-strict'], '').
792 cli_testcase(383, [puzzles_test,cbc,codespeed], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/SudokuHexAsConstant.mch', '-t', '-properties', '-sptxt', '../prob_examples/public_examples/B/Puzzles/SudokuHexAsConstant_sptxt.txt', '-strict'], 'Sudoku Hex Puzzle').
793 cli_testcase(384, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/SudokuAsConstantNoSolution.mch', '-init', '-strict', '-expcterr', 'setup_constants_fails'], '').
794 cli_testcase(385, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/LatinSquaresBig.mch', '-t', '-strict'], '').
795 cli_testcase(386, [puzzles_test,queens,codespeed], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/NQueens50.mch', '-t', '-properties', '-strict'], '').
796 cli_testcase(387, [puzzles_test,cbc,codespeed,clpfd_tables], ['-p', 'CLPFD', 'TRUE', '-p', 'MAX_INITIALISATIONS', 19,
797 '../prob_examples/public_examples/B/Puzzles/TwoQueensSevenKnights.mch', '-t', '-assertions', '-strict'], 'TwoQueensSevenKnights').
798 cli_testcase(388, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/SendMoreMoney.mch', '-t', '-strict'], 'SendMoreMoney').
799 cli_testcase(389, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/KissPassion.mch', '-t', '-strict'], 'KissPassion').
800 cli_testcase(390, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/CopySavePasteTools.mch', '-t', '-strict'], '').
801 cli_testcase(391, [puzzles_test,cbc_tests], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/NoNeighboursProblem.mch', '-cbc_sequence', 'SolAbove', '-strict'], 'Neighbour differ by more than one puzzle').
802 cli_testcase(392, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/SubsetSum.mch', '-t', '-strict'], '').
803 cli_testcase(393, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/SubsetSum2.mch', '-t', '-strict'], '').
804 cli_testcase(394, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/WhoKilledAgatha.mch', '-t', '-mc', '100', '-p', 'MAX_INITIALISATIONS', '100', '-check_complete', '-cc', '13', '18'], 'Agatha puzzle').
805 cli_testcase(395, [puzzles_test,codespeed,symmetry_test], ['../prob_examples/public_examples/EventBPrologPackages/SET_Game/SET_GAM_Sym_NoSet20_mch.eventb', '-mc', '1000', '-p', 'SYMMETRY_MODE', 'hash', '-p', 'TIME_OUT', '7000', '-p', 'CLPFD', 'TRUE', '-df', '-goal', 'n=18', '-p', 'MAX_OPERATIONS', '20', '-strict', '-expcterr', 'goal_found'], 'SET Game Test').
806 cli_testcase(396, [time_out_tests], ['../prob_examples/public_examples/B/PerformanceTests/SMTLIB/DTP_k2_n35_c175_s1.mch', '-strict', '-init', '-expcterr', 'setup_constants_fails', '-expcterr', 'time_out', '-p', 'CLPFD', 'FALSE'], 'Without CLPFD, this test times out. 1191 is a copy of this test using CLPFD').
807 cli_testcase(397, [cbc,smt_test], ['../prob_examples/public_examples/B/Benchmarks/scheduler.mch', '-cbc', 'all', '-strict', '-p', 'SMT', 'TRUE'], '').
808 cli_testcase(398, [cbc,smt_test], ['../prob_examples/public_examples/B/CBC/NATURAL_Add.mch', '-cbc', 'all', '-strict', '-p', 'SMT', 'TRUE', '-p', 'CLPFD', 'TRUE'], '').
809 cli_testcase(399, [cbc], ['../prob_examples/public_examples/B/Demo/Lift.mch', '-cbc', 'all', '-strict', '-expcterr', 'cbc'], '').
810 cli_testcase(400, [cbc], ['../prob_examples/public_examples/B/Tutorial/DoubleCounter.mch', '-cbc', 'Double', '-strict', '-expcterr', 'cbc', '-p', 'CLPFD', 'TRUE'], '').
811 cli_testcase(401, [cbc], ['../prob_examples/public_examples/B/Tutorial/DoubleCounter.mch', '-cbc', 'Double', '-strict', '-expcterr', 'cbc', '-p', 'CLPFD', 'FALSE', '-p', 'MAXINT', '150'], '').
812 cli_testcase(402, [cbc], ['../prob_examples/public_examples/B/Special/ConstrainedBasedChecking/mesiSet.mch',
813 '../prob_examples/public_examples/B/Special/ConstrainedBasedChecking/mesiSet_simplified.mch',
814 '-cbc', 'all', '-strict', '-expcterr', 'cbc'], 'CBC mesiSet simplified').
815 cli_testcase(403, [cbc], ['../prob_examples/public_examples/B/Special/ConstrainedBasedChecking/mesiSet.mch', '-cbc', 'write', '-strict', '-expcterr', 'cbc'], 'CBC mesiSet').
816 cli_testcase(404, [cbc], ['../prob_examples/public_examples/B/CBC/ProcessIDStarvation_InvErr.mch', '-cbc', 'all', '-strict', '-expcterr', 'cbc'], '').
817 cli_testcase(405, [cbc], ['../prob_examples/public_examples/B/CBC/ProcessIDStarvation_InvErr.mch', '-cbc', 'Delete', '-strict', '-expcterr', 'cbc'], '').
818 cli_testcase(406, [cbc], ['../prob_examples/public_examples/B/CBC/ProcessIDStarvation_InvErr.mch', '-cbc', 'Run', '-strict'], '').
819 cli_testcase(407, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_mch.eventb', '-cbc', 'all', '-strict'], '').
820 cli_testcase(408, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_mch_unproven.eventb', '-cbc', 'bridge', '-strict'], '').
821 cli_testcase(409, [cbc,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_mch_unproven.eventb', '-cbc', 'approach', '-strict', '-p', 'SMT', 'TRUE'], '').
822 cli_testcase(410, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_mch_unproven.eventb', '-cbc', 'exit', '-strict'], '').
823 cli_testcase(411, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_fifo_mch.eventb', '-cbc', 'bridge', '-strict', '-expcterr', 'cbc'], '').
824 cli_testcase(412, [cbc,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_fifo_mch.eventb', '-cbc', 'approach', '-strict', '-p', 'SMT', 'TRUE'], '').
825 cli_testcase(413, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_fifo_mch.eventb', '-cbc', 'exit', '-strict'], '').
826 cli_testcase(414, [cbc,smt_test,codespeed], ['../prob_examples/public_examples/EventBPrologPackages/BPEL2B_PurchaseOrder/Model_Machine_4_NoDeadlock_v5.eventb', '-cbc', 'all', '-p', 'DEFAULT_SETSIZE', '4', '-p', 'SMT', 'TRUE', '-strict'], 'BPEL2B_PurchaseOrder cbc check').
827 cli_testcase(415, [cbc,smt_test,codespeed], ['../prob_examples/public_examples/EventBPrologPackages/BPEL2B_PurchaseOrder/Model_Machine_4_NoDeadlock_v6.eventb', '-cbc', 'all', '-p', 'DEFAULT_SETSIZE', '2', '-p', 'SMT', 'TRUE', '-strict'], 'BPEL2B_PurchaseOrder cbc check').
828 cli_testcase(416, [cbc,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/BPEL2B_PurchaseOrder/Model_Machine_4_NoDeadlock_v6.eventb', '-cbc', 'all', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SMT', 'TRUE', '-strict'], '').
829 cli_testcase(417, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Tests/Ticket167.eventb',
830 '-cbc', 'inc', '-strict',
831 '-expcterr', 'enumeration_warning'], 'CBC check with enumeration warning').
832 cli_testcase(418, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/BMS/Poker_v2/FiveCardSolo_mch.eventb', '-p', 'CLPFD', 'TRUE', '-cbc', 'redeal', '-strict', '-expcterr', 'cbc'], '').
833 cli_testcase(419, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/BMS/Poker_v2/FiveCardSolo_mch.eventb', '-p', 'CLPFD', 'TRUE', '-cbc', 'HasFlush', '-strict', '-expcterr', 'cbc'], '').
834 cli_testcase(420, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/BMS/Poker_v2/FiveCardSolo_mch.eventb', '-p', 'CLPFD', 'TRUE', '-cbc', 'hasFourOfAKind', '-strict', '-expcterr', 'cbc'], '').
835 cli_testcase(421, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/BMS/Poker_v2/FiveCardSolo_mch.eventb', '-p', 'CLPFD', 'TRUE', '-cbc', 'HasStraight', '-strict', '-expcterr', 'cbc'], '').
836 cli_testcase(422, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/BMS/Poker_v2/FiveCardSolo_mch.eventb', '-p', 'CLPFD', 'TRUE', '-cbc', 'AddACredit', '-cbc', 'deal', '-strict', '-cbc', 'selectme', '-cbc', 'invselectme'], '').
837 cli_testcase(423, [cbc,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/BMS/Poker_v2/FiveCardSolo_mch.eventb', '-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE', '-cbc', 'hasFullHouse', '-strict', '-expcterr', 'cbc'], '').
838 cli_testcase(424, [cbc,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/BMS/Poker_v2/FiveCardSolo_mch.eventb', '-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE', '-cbc', 'all', '-strict', '-expcterr', 'cbc'], '').
839 cli_testcase(425, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb', '-cbc', 'all', '-strict'], '').
840 cli_testcase(426, [cbc,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M1_mch.eventb', '-cbc', 'all', '-strict', '-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE'], '').
841 cli_testcase(427, [kodkod], ['-kodkod_comparision', '2', '../prob_examples/public_examples/B/Kodkod/expressions/functions.mch', '-strict'], '').
842 cli_testcase(428, [kodkod], ['-p', 'CLPFD', 'true', '-kodkod_comparision', '2', '../prob_examples/public_examples/B/Kodkod/expressions/triples.mch', '-strict'], '').
843 cli_testcase(429, [kodkod], ['-kodkod_comparision', '3', '../prob_examples/public_examples/B/Kodkod/expressions/relations.mch', '-strict'], '').
844 cli_testcase(430, [kodkod], ['-kodkod_comparision', '1', '../prob_examples/public_examples/B/Kodkod/expressions/sequences_v2.mch', '-strict'], '').
845 cli_testcase(431, [kodkod], ['-kodkod_comparision', '1', '../prob_examples/public_examples/B/Kodkod/NoNeighboursProblem.mch', '-strict'], '').
846 cli_testcase(432, [kodkod], ['-p','MAX_INITIALISATIONS',50,'-kodkod_comparision', '0', '../prob_examples/public_examples/B/Kodkod/WhoKilledAgatha.mch', '-strict'], '').
847 cli_testcase(433, [kodkod], ['-pacheck', '../prob_examples/public_examples/B/predicate_analysis/basic.mch', '-strict'], '').
848 cli_testcase(434, [kodkod], ['-pacheck', '../prob_examples/public_examples/B/predicate_analysis/function_cards.mch', '-strict'], '').
849 cli_testcase(435, [kodkod], ['-pacheck', '../prob_examples/public_examples/B/predicate_analysis/setext_dombug.mch', '-strict'], '').
850 cli_testcase(436, [csp_test], ['../prob_examples/public_examples/CSP/ref_benchmarks/general4.csp', '-assertions', '-strict'], '').
851 cli_testcase(437, [b_test], ['../prob_examples/public_examples/B/FeatureChecks/TestPrimedBecomeSuch.mch', '-t', '-strict', '-expcterr', virtual_time_out], 'Test for $0 usage in become such substitutions.').
852 cli_testcase(438, [csp_test], ['../prob_examples/public_examples/CSP/ref_benchmarks/basin_olderog_bank.csp', '-assertions', '-strict'], '').
853 cli_testcase(439, [b_test,strings], ['../prob_examples/public_examples/B/FeatureChecks/EmptyString.mch', '-t', '-strict', '-assertions'], 'Check that we allow the empty string.').
854
855 cli_testcase(440, [b_test,animate], ['../prob_examples/public_examples/B/Simple/UpCounter.mch', '-init','-animate', '10', '-strict', '-goal', 'c=10', '-check_goal', '-p', 'MAXINT', '100'], 'Check that animate executes exactly 10 operations after INITIALISATION.').
856 cli_testcase(441, [b_test,animate], ['../prob_examples/public_examples/B/Simple/UpCounter.mch','-animate', '10', '-strict', '-goal', 'c=8', '-check_goal', '-p', 'MAXINT', '100'], 'Without -init we exacte SETUP_CONSTANTS, INITIALISATION and 8 operations.').
857 cli_testcase(442, [b_test,animate], ['../prob_examples/public_examples/B/Simple/UpCounter.mch', '-init','-animate', '10', '-strict', '-goal', 'c=11', '-check_goal', '-p', 'MAXINT', '100', '-expcterr', 'check_goal'], 'Check that -check_goal fails if GOAL false.').
858 cli_testcase(443, [b_test,animate], ['../prob_examples/public_examples/B/Simple/UpCounter.mch','-animate', '10', '-strict', '-p', 'MAXINT', '100', '-det_check'], 'Check that all animation steps are deterministic.').
859 cli_testcase(444, [b_test,animate], ['../prob_examples/public_examples/B/Simple/UpCounter_NonDet.mch','-animate', '4', '-strict', '-p', 'MAXINT', '100', '-det_check', '-expcterr', 'det_check'], 'Check that all -det_check detects non-deterministic steps.').
860 cli_testcase(445, [b_test,animate], ['../prob_examples/public_examples/B/Simple/UpCounter.mch', '-init','-animate', '10', '-strict', '-goal', 'c=10 & c>1 & c<mx', '-check_goal', '-p', 'MAXINT', '100'], 'Check that -check_goal can also deal with conjuncts.').
861 cli_testcase(446, [b_test,animate], ['../prob_examples/public_examples/B/Simple/UpCounter.mch', '-init','-animate', '30', '-strict', '-goal', 'c=20', '-check_goal', '-p', 'MAXINT', '20', '-expcterr', 'animate'], 'Check that error raised if we cannot animate all steps -animate (but that we stay in the final state).').
862 cli_testcase(447, [b_test,animate], ['../prob_examples/public_examples/B/Simple/UpCounter.mch', '-init','-animate_all', '-animate_stats', '-strict', '-goal', 'c=20', '-check_goal', '-p', 'MAXINT', '20'], 'Check that no error raised if we cannot animate all steps -animate_all (and that we stay in the final state).').
863
864 cli_testcase(448, [tickets], ['../prob_examples/public_examples/B/Tickets/Hansen1/Bi_func.mch', '-mc', '1000', '-t', '-check_complete', '-cc', '3', '11'], 'Check issue with existential quantifier inside set comprehension.').
865 cli_testcase(449, [tickets], ['../prob_examples/public_examples/B/Tickets/Burdy1/TestOrApplyFun.mch', '-mc', '1000', '-t', '-check_complete', '-cc', '5', '10'], 'Check issue with undefined function application in context of disjunct.').
866 cli_testcase(450, [tickets], ['../prob_examples/public_examples/B/Tickets/Plagge1/KnightKnaves2.mch', '-init', '-strict'], 'Check that no time-out occurs in compiled mode').
867
868 cli_testcase(451, [b_test,animate,history], ['../prob_examples/public_examples/B/Simple/UpCounter.mch', '-init','-animate', '10', '-strict', '-p', 'MAXINT', '100', '-his', '../prob_examples/public_examples/B/Simple/UpCounter_his.txt'], 'Check that history properly written.').
869 cli_testcase(452, [b_test,animate,history], ['../prob_examples/public_examples/B/Simple/UpCounter.mch', '-init','-animate', '10', '-strict', '-p', 'MAXINT', '100', '-his', '../prob_examples/public_examples/B/Simple/UpCounter_his.txt','-his_option', 'show_states'], 'Check that history option -his_option show_states works.').
870 cli_testcase(453, [b_test,animate,history], ['../prob_examples/public_examples/B/Simple/UpCounter.mch', '-init','-animate', '10', '-strict', '-p', 'MAXINT', '100', '-his', '../prob_examples/public_examples/B/Simple/UpCounter_his.txt','-his_option', 'show_states','-his_option', 'show_init'], 'Check that history option -his_option show_states & show_init works.').
871 cli_testcase(454, [b_test,animate,history], ['../prob_examples/public_examples/B/Simple/UpCounter.mch', '-init','-animate', '10', '-strict', '-p', 'MAXINT', '100', '-his', '../prob_examples/public_examples/B/Simple/UpCounter_his.txt','-his_option', 'show_init'], 'Check that history option -his_option show_init works.').
872 cli_testcase(455, [b_test,animate,sptxt], ['../prob_examples/public_examples/B/Simple/UpCounter.mch', '-init','-animate', '10', '-strict', '-p', 'MAXINT', '100', '-sptxt', '../prob_examples/public_examples/B/Simple/UpCounter_sptxt.txt'], 'Check that history option -sptxt works.').
873
874 cli_testcase(456, [puzzles_test,queens], ['../prob_examples/public_examples/B/Puzzles/Queens/QueensAllSolutions.mch', '-t', '-strict', '-check_complete', '-mc', 100, '-check_complete', '-cc', '94', '185'], 'A version of N-Queens where all solutions are computed and we try to find N.').
875
876 cli_testcase(457, [laws,rel_fnc], ['../prob_examples/public_examples/B/Laws/FunLaws.mch', '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Use model checking to check a variety of laws on functions.').
877 cli_testcase(458, [laws,rel_fnc], ['../prob_examples/public_examples/B/Laws/FunLawsWithLambda.mch', '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Use model checking to check a variety of laws on functions, including lambda abstractions.').
878 cli_testcase(459, [b_test,history], ['../prob_examples/public_examples/B/Daniel/rel_fnc.mch', '-t', '-strict', '-p', 'CLPFD', 'TRUE','-his', '../prob_examples/public_examples/B/xxdoesnotexist/rel_fnc_his.txt','-expcterr','open_file','-expcterr','history'], 'Check that we generate an error if hist file destination does not exist.').
879 cli_testcase(460, [b_test,sptxt], ['../prob_examples/public_examples/B/Daniel/rel_fnc.mch', '-t', '-strict', '-p', 'CLPFD', 'TRUE','-sptxt', '../prob_examples/public_examples/B/xxdoesnotexist/rel_fnc_his.txt','-expcterr','open_file','-expcterr','sptxt'], 'Check that we generate an error if sptxt file destination does not exist.').
880 cli_testcase(461, [b_test,history], ['../prob_examples/public_examples/B/Daniel/rel_fnc.mch', '-t', '-strict', '-p', 'CLPFD', 'TRUE','-his', '../prob_examples/public_examples/B/Daniel/rel_fnc_his.txt','-his_option', 'show_states','-his_option', 'show_init', '-p','SHOW_EVENTB_ANY_VALUES','TRUE'], 'A small machine to check that rel/fnc work as expected; here we check it in conjunction with -his option.').
881 cli_testcase(462, [b_test,history], ['../prob_examples/public_examples/B/Simple/UpCounter.mch', '-mc', '100', '-goal', 'c=10','-strict', '-p', 'MAXINT', '100', '-his', '../prob_examples/public_examples/B/Simple/UpCounter_his.txt','-his_option', 'show_states','-his_option', 'show_init','-expcterr','goal_found'], 'Check that history option works together with model checking.').
882 cli_testcase(463, [cbc_deadlock,history], ['../prob_examples/public_examples/B/CBC/SimpleDeadlock1.mch', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check','-his', '../prob_examples/public_examples/B/CBC/SimpleDeadlock1_his.txt','-his_option', 'show_states'], 'Check that -his works together with cbc_deadlock').
883 cli_testcase(464, [cbc,history], ['../prob_examples/public_examples/B/CBC/ProcessIDStarvation_InvErr.mch', '-cbc', 'Delete', '-strict', '-expcterr', 'cbc', '-his', '../prob_examples/public_examples/B/CBC/ProcessIDStarvation_InvErr_his.txt','-his_option', 'show_states', '-p', 'DEFAULT_SETSIZE', 6, '-p', 'TIME_OUT', 500], 'Check that -his works with cbc invariant checking.'). % set DEFAULT_SETSIZE on 28th Aug 2014 to check that partition in Invariant detected
884 cli_testcase(465, [b_test,animate], ['../prob_examples/public_examples/B/Simple/UpCounter.mch', '-animate', '5', '-strict', '-p', 'MAXINT', '100', '-load_state', '../prob_examples/public_examples/B/Simple/UpCounter_saved10.P', '-goal', 'c=15', '-check_goal'], 'Check that animate works after load_state.').
885 cli_testcase(466, [b_test,animate,while], ['../prob_examples/public_examples/B/PerformanceTests/WhileLoopBench.mch', '-animate', '22', '-strict', '-p', 'TIME_OUT', 28000, '-his', '../prob_examples/public_examples/B/PerformanceTests/WhileLoopBench_his.txt', '-his_option' , 'show_states'], 'Check animate with operation with while loop.').
886 cli_testcase(467, [b_test,history], ['../prob_examples/public_examples/B/FeatureChecks/IFTHENELSE.mch', '-t', '-strict','-his', '../prob_examples/public_examples/B/FeatureChecks/IFTHENELSE_his.txt','-his_option', 'show_states'], 'Check simple if-then-else works correctly, and check -his option writes operation arguments into file.').
887 cli_testcase(468, [b_test,history,sptxt], ['../prob_examples/public_examples/B/Puzzles/Farmer.mch', '-mc', '1000', '-bf','-strict', '-nodead', '-expcterr', 'goal_found','-his', '../prob_examples/public_examples/B/Puzzles/Farmer_his.txt','-sptxt','../prob_examples/public_examples/B/Puzzles/Farmer_sptxt.txt'], 'Check that -his and -sptxt work when used together').
888 cli_testcase(469, [b_test,sptxt], ['../prob_examples/public_examples/B/PerformanceTests/LargeSets/LargeExplicitSet.mch', '-animate', '7', '-strict', '-p', 'TIME_OUT', 5000,
889 '-nodead','-sptxt','../prob_examples/public_examples/B/PerformanceTests/LargeSets/LargeExplicitSet_sptxt.txt'], 'Check that -sptxt expands large sets.'). % introduced a time-out on 18th of May 2014 to avoid time-out during closure expansion; cause commit on May 12 to b_enumerate.pl; reduced TIME_OUT again on 19th of May [completely removing time-out seems to still cause issues]; another slowdown was caused by commit 13d3b41ff8e1f15cea7437b3530c883c4e3bda6b on Sep 20th 2013 (improve union of avl_set with large intervals)
890 cli_testcase(470, [b_test,sptxt,history], ['../prob_examples/public_examples/EventBPrologPackages/Abrial_Train_Ch17/train_4_mch_lukas.eventb', '-t', '-strict', '-noass','-his', '../prob_examples/public_examples/EventBPrologPackages/Abrial_Train_Ch17/train_4_mch_lukas_his.txt','-his_option','show_states','-sptxt','../prob_examples/public_examples/EventBPrologPackages/Abrial_Train_Ch17/train_4_mch_lukas_sptxt.txt'], 'Check -his and sptxt on a larger Event-B model.').
891
892 cli_testcase(471, [b_test,sptxt,history], ['../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr.mch', '-t', '-strict', '-his', '../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr_his.txt','-sptxt','../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr_sptxt.txt'], 'Check -his and -sptxt on a larger classical B model.').
893 cli_testcase(472, [b_test,sptxt,history], ['../prob_examples/public_examples/B/SchneiderBook/Chapter12/TownsRRR.ref', '-t', '-strict', '-his', '../prob_examples/public_examples/B/SchneiderBook/Chapter12/TownsRRR_his.txt','-his_option','show_states','-sptxt','../prob_examples/public_examples/B/SchneiderBook/Chapter12/TownsRRR_sptxt.txt'], 'Check -his and -sptxt on a classical B refinement.').
894 cli_testcase(473, [b_test,sptxt,history,records], ['../prob_examples/public_examples/B/NewSyntax/SET_Game_Rec.mch', '-t', '-strict', '-his', '../prob_examples/public_examples/B/NewSyntax/SET_Game_Rec_his.txt','-his_option','show_states','-sptxt','../prob_examples/public_examples/B/NewSyntax/SET_Game_Rec_sptxt.txt'], 'Check -his and -sptxt for classical B records.').
895 cli_testcase(474, [b_test,sptxt,history,dot], ['../prob_examples/public_examples/B/ExpressionViewer/TotFunAnalyseTest.mch', '-ma', 1, 4, 0, '-dot_output', '../prob_examples/public_examples/B/ExpressionViewer/dot_output/', '-dot_all'], 'Check -dot_output, -dot_all works.').
896 cli_testcase(475, [laws,repl], ['../prob_examples/public_examples/B/Laws/REPL_UNIT_TESTS2.mch', '-t', '-mc', '100000', '-cs', '-strict', '-p', 'CLPFD', 'TRUE', '-assertions', '-p', 'TIME_OUT', '60000'], 'Check that REPL unit tests work').
897 cli_testcase(476, [tickets,dot], ['../prob_examples/public_examples/B/Tickets/Mejia1/TestInit_mch.eventb', '-t', '-mc', '1000', '-cc', 4, 13, '-strict', '-p', 'CLPFD', 'TRUE', '-dot', 'state_space', '../prob_examples/public_examples/B/Tickets/Mejia1/TestInit_statespace.dot', '-p', 'DOT_PROP', 'TRUE', '-pref_group', dot_colors, classic, '-p','DOT_PEN_WIDTH',1], 'Check that -dot state_space output works and that no warning generated for existential quantifier on disjunction in Event-B mode').
898 cli_testcase(477, [cbc,smt_test], ['-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE', '-strict', '../prob_examples/public_examples/B/Puzzles/WhoKilledAgatha.mch', '-cbc_assertions'], 'Check CBC static assertion checking.').
899 cli_testcase(478, [cbc,smt_test], ['-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE', '../prob_examples/public_examples/B/Puzzles/WhoKilledAgatha_wrongassert.mch','-strict', '-cbc_assertions','-expcterr',cbc_assertions], 'Check CBC static assertion checking with counter example.').
900 cli_testcase(479, [b_test,dot], ['-p', 'CLPFD', 'TRUE', '-mc', '100', '-p', 'MAX_INITIALISATIONS', 7, '-bf', '../prob_examples/public_examples/B/Puzzles/WhoKilledAgatha.mch','-dot', 'state_space', '../prob_examples/public_examples/B/Puzzles/WhoKilledAgatha_statespace.dot','-strict', '-p', 'DOT_COLOR_ARC', steelblue, '-p', 'DOT_COLOR_NODE', olivedrab2, '-p', 'DOT_PEN_WIDTH', 2], 'Check Dot output with proper newline.').
901 cli_testcase(480, [b_test,dot], ['-p', 'CLPFD', 'TRUE', '-p', 'DOT_LOOPS', 'FALSE',
902 '-p', 'DOT_ROOT', 'FALSE', '-p', 'MAX_INITIALISATIONS', 5,
903 '../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch','-mc', 4 ,'-bf' ,'-dot', 'state_space', '../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_statespace.dot','-strict', '-pref_group', dot_colors, classic, '-p','DOT_PEN_WIDTH',1, '-expcterr', 'model_check_incomplete'], 'Check Dot output with proper newline.').
904 cli_testcase(481, [b_test,let], ['../prob_examples/public_examples/B/FeatureChecks/LET_multiple_variables.mch', '-t', '-strict', '-expcterr','type_error', '-expcterr', 'load_main_file'], 'Check illegal LET with multiple variables.'). % added '-expcterr','type_error' : we now detect the error in the type checker
905 cli_testcase(482, [b_test,let], ['../prob_examples/public_examples/B/FeatureChecks/LET_multiple_variables.mch', '-mc', 100, '-expcterr','type_error', '-expcterr', 'load_main_file'], 'Check that LET with non-equation predicate does not work.'). % error now detected during type check, not during model checking
906 cli_testcase(483, [csp_test,csp_bench], ['../prob_examples/public_examples/CSP/ref_benchmarks/abp_chapter5_roscoe_DLK_DIV_bench.csp', '-assertions', '-strict'], 'Check performance of Deadlock & DIV checks').
907 cli_testcase(484, [csp_test,csp_bench], ['../prob_examples/public_examples/CSP/NastyFDRDemos/LargeSpecRefineCheck.csp', '-assertions', '-strict'], 'Check performance with Large Spec and small Impl').
908 cli_testcase(485, [csp_test,csp_bench], ['../prob_examples/public_examples/CSP/simple/DeadlockTimeout.csp', '-assertions', '-strict'], 'Check that deadlock checker works with timeout generated tau transitions').
909 cli_testcase(486, [csp_test,csp_bench,refinement], ['../prob_examples/public_examples/CSP/simple/ParallelIntChoice.csp', '-assertions', '-strict'], 'Check that deadlock checker works with internal choice generated tau transitions').
910 cli_testcase(487, [csp_test,refinement], ['../prob_examples/public_examples/CSP/simple/DivChecks3.csp', '-assertions', '-strict'], 'Check that ProB deals with Divergence correctly').
911 cli_testcase(488, [csp_test,csp_bench], ['../prob_examples/public_examples/CSP/simple/ParallelIntChoice.csp', '-assertions', '-strict', '-p', 'CSP_STRIP_SOURCE_LOC', 'TRUE'], 'Check that stripping of source location works.').
912 cli_testcase(489, [csp_test,csp_bench], ['../prob_examples/public_examples/CSP/ref_benchmarks/section7-1.csp', '-assertions', '-strict'], 'Check more CSP assertions from Roscoe book usc').
913 cli_testcase(490, [csp_test,refinement], ['../prob_examples/public_examples/CSP/simple/exception_operator.csp', '-assertions', '-strict'], 'Check that new exception operator works').
914 cli_testcase(491, [csp_test,csp_bench], ['../prob_examples/public_examples/CSP/ref_benchmarks/section7-2.csp', '-assertions', '-strict'], 'Check more CSP assertions from Roscoe book usc, here with exception operator').
915 cli_testcase(492, [csp_test],['../prob_examples/public_examples/CSP/evans/traffic_spec.csp', '-assertions', '-strict'], 'Checking CSP assertions.').
916 cli_testcase(493, [tickets], ['../prob_examples/public_examples/B/Tickets/Mejia2/ticket_simplified.mch', '-t', '-mc',100,'-assertions', '-check_complete', '-cc', '3', '4'], 'Check cartesian product ticket').
917 cli_testcase(494, [laws,case], ['../prob_examples/public_examples/B/Laws/SubstitutionLaws.mch', '-mc', '100', '-cs', '-t', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE'], 'Check basic properties of B substitutions.').
918
919 cli_testcase(495, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/SubstitutionSeqCompAssertErrCheck.mch', '-mc', '100', '-nodead', '-strict','-expcterr', 'assert_error'], 'Check that ProB finds error in Substitution assertion').
920 cli_testcase(496, [laws,card], ['../prob_examples/public_examples/B/Laws/ExplicitComputationsCLPFD.mch', '-assertions', '-mc', '100000', '-nodead', '-cs', '-strict', '-p', 'TIME_OUT', '7000'], 'Many explicit computations which check that all operators work as expected on various concrete data.').
921 cli_testcase(497, [b_test], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-pp', '../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_pp.mch', '-strict'], 'Check that pretty printing works').
922 cli_testcase(498, [b_test], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_prettyprinted.mch', '-pp', '../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_pp.mch', '-strict'], 'Check that pretty printing works').
923 cli_testcase(499, [b_test], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-ppf', '../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_pp.mch', '-strict'], 'Check that pretty printing works').
924 cli_testcase(500, [b_test], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_prettyprintedf.mch', '-ppf', '../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_pp.mch', '-strict'], 'Check that pretty printing works').
925 cli_testcase(501, [b_test], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-mc', '1400', '-cc', '1361', '25696', '-p', 'COMPRESSION', 'TRUE', '-strict', '-p', 'MAX_INITIALISATIONS', 5], 'Check that compression works').
926 cli_testcase(502, [laws], ['../prob_examples/public_examples/B/Abrial_BBook/BBook_Page80.mch', '-init', '-assertions', '-strict'], 'Check example from B-Book').
927 cli_testcase(503, [laws], ['../prob_examples/public_examples/B/Abrial_BBook/BBook_Page83.mch', '-init', '-assertions', '-strict'], 'Check example from B-Book').
928 cli_testcase(504, [laws], ['../prob_examples/public_examples/B/Abrial_BBook/MembershipProperty4_Page96.mch', '-init', '-expcterr', 'setup_constants_fails', '-p', 'CLPFD', 'TRUE', '-strict'], 'Check rule from B-Book').
929 cli_testcase(505, [laws], ['../prob_examples/public_examples/B/Abrial_BBook/MembershipProperty5_Page96.mch', '-init', '-p', 'CLPFD', 'TRUE', '-strict'], 'Check that ProB finds counter example to erroneous rule from B-Book').
930 cli_testcase(506, [laws], ['../prob_examples/public_examples/B/Abrial_BBook/MembershipProperty6_Page96.mch', '-init', '-p', 'CLPFD', 'TRUE', '-strict'], 'Check that ProB finds counter example to erroneous rule from B-Book').
931 cli_testcase(507, [laws], ['../prob_examples/public_examples/B/Laws/BoolLaws_SetCompr.mch', '-mc', '1000', '-nodead', '-cs', '-strict'], 'Various laws about boolean connectives in set comprehension form.').
932 cli_testcase(508, [laws], ['../prob_examples/public_examples/B/Laws/BoolLaws_SetComprCLPFD.mch', '-mc', '1000', '-nodead', '-cs', '-strict'], 'Various laws about boolean connectives in set comprehension form.').
933 cli_testcase(509, [laws,strings], ['../prob_examples/public_examples/B/Laws/StringLaws.mch', '-t', '-mc', '500', '-nogoal', '-nodead', '-strict'], 'Some Laws about the STRING datatype').
934 cli_testcase(510, [laws], ['../prob_examples/public_examples/B/Laws/RelLaws.mch', '-init','-ppf', '../prob_examples/public_examples/B/Laws/RelLaws_internal.mch', '-strict'], 'Check that Pretty Printing works on a file with many operators').
935 cli_testcase(511, [csp_test,csp_det], ['../prob_examples/public_examples/CSP/other/Ivo/Deterministic1.csp', '-assertions', '-strict'], 'Check more CSP deterministic assertions').
936 cli_testcase(512, [csp_test,csp_det], ['../prob_examples/public_examples/CSP/other/Ivo/Deterministic2_v2.csp', '-assertions', '-strict'], 'Check more CSP deterministic assertions').
937 cli_testcase(513, [csp_test,csp_det,refinement], ['../prob_examples/public_examples/CSP/other/Ivo/WaterBoiler.csp', '-assertions', '-strict'], 'Check CSP assertions from WaterBoiler.csp example.').
938 cli_testcase(514, [tickets,dot], ['../prob_examples/public_examples/B/Mathematical/Voting/NoCondorcetWinnerKodkod.mch', '-t', '-strict', '-assertions','-dot_output', '../prob_examples/public_examples/B/Mathematical/Voting/dot_output/', '-dot_all'], 'Check that we have no problem with the existential quantifier; check dot output for assertion with perm.').
939 cli_testcase(515, [b_test,dot], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/Demo/scheduler.mch', '-mc', '100', '-cc', '36', '156', '-p', 'DEFAULT_SETSIZE', '3', '-df', '-strict','-dot', 'signature_merge','../prob_examples/public_examples/B/Demo/scheduler_spmdot.dot','-dot', dfa_merge, '../prob_examples/public_examples/B/Demo/scheduler_spddot.dot', '-dot','state_space', '../prob_examples/public_examples/B/Demo/scheduler_spdot.dot', '-pref_group', dot_colors, classic, '-p','DOT_PEN_WIDTH',1], 'Test reduced state space dot output.').
940 cli_testcase(516, [symmetry_test], ['../prob_examples/public_examples/B/SymmetryReduction/Contrived/PartiallyEnumeratedSet.mch', '-mc', '100', '-cc', '3', '16', '-p', 'SYMMETRY_MODE', 'hash', '-strict'], 'Check that we detect unused enumerated set elements as symmetrical').
941 cli_testcase(517, [symmetry_test], ['../prob_examples/public_examples/B/SymmetryReduction/Contrived/PartiallyEnumeratedSet.mch', '-mc', '100', '-cc', '3', '16', '-p', 'SYMMETRY_MODE', 'nauty', '-strict'], 'Check that we detect unused enumerated set elements as symmetrical').
942 cli_testcase(518, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/Demo/monitor2.mch', '-mc', '100', '-cc', '15', '92', '-p', 'SYMMETRY_MODE', 'hash', '-strict'], 'Check that we detect unused enumerated set elements as symmetrical').
943 cli_testcase(519, [symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/Demo/monitor2.mch', '-mc', '100', '-cc', '81', '529', '-p', 'SYMMETRY_MODE', 'off', '-strict'], 'Check original without symmetry').
944 cli_testcase(520, [tickets,csp_test], ['../prob_examples/public_examples/CSP/Tickets/Shi/hanoi7.csp', '-mc', '100', '-t', '-strict', '-expcterr', 'model_check_incomplete'], 'Check that exception does not occur (Ticket)').
945 cli_testcase(521, [tickets,csp_test], ['../prob_examples/public_examples/CSP/Tickets/Shi/hanoi4.csp', '-assertions', '-strict'], 'Check that exception does not occur (Ticket)').
946 cli_testcase(522, [tickets,csp_test], ['../prob_examples/public_examples/CSP/Tickets/ErrManagerLoop/PrintRoom.csp', '-mc', 100, '-strict','-expcterr', 'general_error_occurred', '-expcterr', check_channel_output_value], 'Check that channel output error detected and no infinite loop in printing error').
947 cli_testcase(523, [b_test,infinite,union], ['../prob_examples/public_examples/B/PerformanceTests/InfiniteClosures4.mch', '-strict','-assertions'], 'Check that infininite function represented by union is detected and can be applied; also test setting MAXINT using 2**31-1').
948 cli_testcase(524, [tickets], ['../prob_examples/public_examples/B/Tickets/Beauger1/PredProblem.mch', '-t', '-strict'], 'Check that we can use relational composition ; with pred.').
949 cli_testcase(525, [b_test,infinite,finite], ['../prob_examples/public_examples/B/PerformanceTests/InfiniteParityFunction.mch', '-t', '-strict', '-assertions'], 'Some more tests with infinite functions.').
950 cli_testcase(526, [b_test,infinite], ['../prob_examples/public_examples/EventBPrologPackages/Tests/FiniteInfiniteFunctions_ctx.eventb', '-assertions', '-strict'], 'Some more tests with infinite functions and the finite check in Event-B.').
951 cli_testcase(527, [b_test,infinite], ['../prob_examples/public_examples/B/PerformanceTests/InfinitePartialSqrtFunction.mch', '-t', '-strict'], 'Check that we can deal with a partial infinite function.').
952 cli_testcase(528, [b_test,external], ['../prob_examples/public_examples/B/ExternalFunctions/UsesLibraryMath.mch', '-t', '-strict', '-assertions'], 'Check that external functions work.').
953 cli_testcase(529, [b_test,external], ['../prob_examples/public_examples/B/ExternalFunctions/PrologFun.mch', '-assertions', '-strict'], 'Check that external functions PROLOG_FUN work.').
954 cli_testcase(530, [b_test,external], ['../prob_examples/public_examples/B/ExternalFunctions/PrintExternal.mch', '-t', '-strict'], 'Check that external printing functions work.').
955 cli_testcase(531, [b_test,external,strings], ['../prob_examples/public_examples/B/ExternalFunctions/LibraryStrings.mch', '-assertions', '-strict'], 'Check that external String functions work.').
956 cli_testcase(532, [symmetry_test], ['../prob_examples/public_examples/B/SymmetryReduction/mondex_m1_c1_2.eventb', '-mc', 1000, '-p','SYMMETRY_MODE', hash, '-p','MAXINT',20, '-p','CLPFD', 'TRUE','-cc', 269, 4079, '-strict', '-expcterr', 'model_check_incomplete'], 'Check that symmetry reduction and detection of unused constants also works if we have too many disequality axioms.').
957 cli_testcase(533, [b_test,infinite], ['../prob_examples/public_examples/B/PerformanceTests/InfiniteLanguageConcatenation.mch', '-mc', 1000, '-nodead','-assertions', '-check_complete', '-cc', '3', '2'], 'Check that this function is detected as infinite and not expanded.').
958 cli_testcase(534, [tickets], ['../prob_examples/public_examples/B/Tickets/Hansen3/TestingCircDef2.mch', '-mc', 1000, '-nodead','-assertions', '-check_complete', '-cc', '3', '2'], 'Check that the erroneous circular definition problem is gone.').
959 cli_testcase(535, [parser,tickets], ['-init', '-strict', '-evalt', '1+1=3', '-expcterr', 'eval_string'], 'Test that parser for eval strings works and that erroneous result caught.').
960 cli_testcase(536, [parser,tickets,infinite], ['../prob_examples/public_examples/B/PerformanceTests/InfiniteParityFunction.mch', '-init', '-strict', '-evalt', 'not(finite({x|x>2}))','-evalt', 'not(finite(NATURAL))', '-evalf', 'finite({x|x>2})', '-evalt', 'finite(NAT1)', '-evalt', 'NATURAL /: FIN1(INTEGER)'], 'Test that parser for eval strings works.').
961 cli_testcase(537, [tickets,strings], [ '-init', '-strict', '-p','MAXINT',10,
962 '-evalt', 'INTEGER/<:{1,2,3,7,9,10}',
963 '-evalt', 'NATURAL/<:{1,2,3,7,9,10}',
964 '-evalt', 'NATURAL1/<:{1,2,3,7,9,10}',
965 '-evalt', 'NATURAL1/<:{0,1,2,3,4}',
966 '-evalt', 'NATURAL1/<<:{1,2,3,7,9,10}',
967 '-evalt', 'NATURAL1/<<:1..100',
968 '-evalt', 'NATURAL1/<<:{x|x<100}',
969 '-evalt', 'NATURAL1/<<:{x|x>0}',
970 '-evalt', 'NATURAL1/<<:{x|x>=2}',
971 '-evalf', 'NATURAL1/<<:{x|x>=0}',
972 '-evalt', 'NATURAL/<<:{x|x>=0}',
973 '-evalt', 'NATURAL1/<<:0..MAXINT',
974 '-evalt', 'NATURAL1/<:0..MAXINT',
975 '-evalt', 'NATURAL/<:0..MAXINT',
976 '-evalf', 'NATURAL<:0..MAXINT',
977 '-evalt', 'INTEGER/<:MININT..MAXINT',
978 '-evalt', 'STRING/<<:{"a"}',
979 '-evalt', 'STRING/<:{"a"}',
980 '-evalf', 'STRING<:{"a"}',
981 '-evalf', 'STRING<<:{"a"}',
982 '-evalf', 'STRING/<:STRING',
983 '-evalt', 'STRING/<<:STRING',
984 '-evalt', 'BOOL /<<: {TRUE,FALSE}',
985 '-evalf', 'BOOL /<: {TRUE,FALSE}',
986 '-evalt', 'BOOL /<: {TRUE}'
987 %, '-expcterr', 'eval_string_enum_warning'
988 ], 'Test subset works without enum warnings.'). % used to be: 'Test that eval_string catches expansion errors.').
989 cli_testcase(538, [tickets], [ '-init', '-strict', '-p','MAXINT',10, '-evalt', '1..10 <: NATURAL1'], 'Test that these predicates do not cause enumeration warnings.').
990 cli_testcase(539, [b_test,kodkod], ['../prob_examples/public_examples/B/Kodkod/CrewAllocationConstantsLarge.mch', '-t', '-strict', '-p','TIME_OUT',3000, '-p', 'SOLVER_FOR_PROPERTIES', 'kodkod', '-properties', '-assertions'], 'Check that Kodkod translator works and that solution is ok (via -assertions). Skipped on Windows because of Memory restrictions.').
991 cli_testcase(540, [cbc,cbc_tests], ['../prob_examples/public_examples/B/TestCaseGeneration/SimpleCounter.mch', '-cbc_tests', 5 ,'count=MAX-1', '../prob_examples/public_examples/B/TestCaseGeneration/SimpleCounter_results.xml', '-cbc_cover', 'Increase', '-cbc_cover', 'Reset', '-cbc_cover', 'Halfway', '-p', 'CLPFD', 'TRUE', '-strict'], 'Check that CBC test-case generation works.').
992 cli_testcase(541, [csp_test,ltl], ['../prob_examples/public_examples/CSP/Tickets/WilliamsLTL/SimpleLTL.csp', '-ltlformulat', 'G([a] => F(e(a)))', '-strict'],'Check LTL formula in File.').
993 cli_testcase(542, [csp_test,ltl], ['../prob_examples/public_examples/CSP/Tickets/WilliamsLTL/SimpleLTL.csp', '-ltlformulat', 'not (GF e(a) => GF [a]) => F [b]', '-strict'],'Check LTL formula in File.').
994 cli_testcase(543, [csp_test,ltl], ['../prob_examples/public_examples/CSP/other/Ivo/VendingMachine.csp', '-ltlformulat', 'G([coin] => F (e(coffee) & e(tea)))', '-strict'],'Check LTL formula in File.').
995 cli_testcase(544, [csp_test,ltl], ['../prob_examples/public_examples/CSP/other/Ivo/VendingMachine.csp', '-ltlformulat', 'GF(e(coin))', '-strict'],'Check LTL formula in File.').
996 cli_testcase(545, [csp_test,ltl], ['../prob_examples/public_examples/CSP/other/Ivo/dot_tuples_ltl_simple.csp', '-ltlformulat', 'G([d] => F(e(ch.a)))', '-strict'],'Check LTL formula in File.').
997 cli_testcase(546, [csp_test,ltl], ['../prob_examples/public_examples/CSP/other/Ivo/dot_tuples_ltl_simple.csp', '-ltlassertions', '-strict'],'Check LTL formulas in File.').
998 cli_testcase(547, [csp_test,ltl], ['../prob_examples/public_examples/CSP/other/Ivo/Simple_LTL_Tupels.csp', '-ltlassertions', '-strict'],'Check LTL formulas in File.').
999 cli_testcase(548, [csp_test,ltl], ['../prob_examples/public_examples/CSP/other/Ivo/Simple_LTL_Tupels.csp', '-ltlformulat', 'GF([tau] => not e(c.a.10.10))', '-strict'],'Check LTL formula in File.').
1000 cli_testcase(549, [csp_test,ltl], ['../prob_examples/public_examples/CSP/other/Ivo/Simple_LTL_Tupels.csp', '-ltlformulat', '[e] U [c.a.1.10]', '-strict'],'Check LTL formula in File.').
1001 cli_testcase(550, [b_test,recursion,external,infinite], ['../prob_examples/public_examples/B/ExternalFunctions/SortSet.mch', '-assertions', '-strict', '-p', 'CLPFD', 'TRUE'], 'Check that recursive sorting function works.').
1002 cli_testcase(551, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/TestingCardinality.csp',
1003 '-aa', 2, 0, 0 % '-expcterr', virtual_time_out, model was rewritten to get rid of virtual timeout which now leads to unknown result
1004 ], 'CSP Cardinality tests').
1005 cli_testcase(552, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/DotTupleTestCase.csp', '-assertions', '-strict'], '').
1006 cli_testcase(553, [b_test,recursion,external,infinite], ['../prob_examples/public_examples/B/RecursiveFunctions/RecursiveSeqLenFunction.mch', '-t', '-strict', '-p', 'SYMBOLIC', 'FALSE'], 'Test that recursive functions work in non-symbolic mode.').
1007 cli_testcase(554, [b_test,recursion,infinite,external], ['../prob_examples/public_examples/B/RecursiveFunctions/Factorial.mch', '-t', '-strict', '-p', 'SYMBOLIC', 'FALSE', '-assertions'], 'Test that other recursive function works.').
1008 cli_testcase(555, [b_test,recursion,external,choose,sigma,union], ['../prob_examples/public_examples/B/RecursiveFunctions/RecursiveSigmaCHOOSEv1.mch', '-t', '-strict', '-p', 'SYMBOLIC', 'FALSE', '-assertions'], 'Test that union of explicit set and recursive lambda function works.').
1009 cli_testcase(556, [parser,tickets], ['../prob_examples/public_examples/B/Tickets/DefinitionCallSwallow/PerserDefBug.mch', '-strict', '-mc', '1', '-expcterr', 'model_check_incomplete'], 'Regression test for Definitions Bug in Parser').
1010 cli_testcase(557, [b_test,recursion,external,infinite], ['../prob_examples/public_examples/B/RecursiveFunctions/Tests/NestedDef.mch', '-init', '-assertions','-strict', '-p', 'SYMBOLIC', 'FALSE'], 'Test that we do not accidentally treat nested definion of variable with same name as abstract constant.').
1011 cli_testcase(558, [b_test,recursion,external,infinite], ['../prob_examples/public_examples/B/RecursiveFunctions/Tests/RecursiveIntegerEquation.mch', '-init', '-assertions', '-p', 'SYMBOLIC', 'FALSE', '-mc', 100, '-nodead', '-check_complete', '-cc', '3', '3'], 'Test that we do not accidentally treat equation over non-relation type.').
1012 cli_testcase(559, [b_test,recursion,external,infinite], ['../prob_examples/public_examples/B/RecursiveFunctions/Tests/RecursiveEnumEquation.mch', '-init', '-assertions','-strict', '-p', 'SYMBOLIC', 'FALSE', '-mc', 100, '-nodead', '-check_complete', '-cc', '3', '2'], 'Test that we do not accidentally treat equation over non-relation type.').
1013 cli_testcase(560, [b_test,csp_test], ['../prob_examples/public_examples/CSPB/Dining/Dining.mch', '-mc', '1000', '-strict', '-p', 'MAX_INITIALISATIONS', 15, '-check_complete', '-cc', '337', '1320'], 'Test that the dining philosophers without guidance by CSP have no deadlock').
1014 cli_testcase(561, [b_test,csp_test,cspb], ['../prob_examples/public_examples/CSPB/Dining/Dining.mch', '-csp-guide', '../prob_examples/public_examples/CSPB/Dining/Dining.csp', '-mc', '1000', '-strict', '-expecterr', 'deadlock'], 'Test that the dining philosophers with guidance by CSP have a deadlock').
1015 cli_testcase(562, [b_test,cbc_tests], ['../prob_examples/public_examples/EventBPrologPackages/Pitesti/BankAccount_mch.eventb', '-test_description', '../prob_examples/public_examples/EventBPrologPackages/Pitesti/test_description.xml', '-strict'], 'Simple constraint based test case generation').
1016 cli_testcase(563, [b_test,mcm_tests], ['../prob_examples/public_examples/B/Daniel/TestM.mch', '-mcm_tests', '20', '1000', 'state = End', '../prob_examples/public_examples/B/Daniel/TestM_testcases.xml', '-strict'],'State based test generation').
1017 cli_testcase(564, [b_test,csp_test,cspb], ['../prob_examples/public_examples/CSPB/Tickets/Treharne1/Test_corrected.mch', '-csp-guide', '../prob_examples/public_examples/CSPB/Tickets/Treharne1/Test-ctrl.csp', '-mc', '1000', '-strict', '-cc', 5, 6], 'Test that BOOL synchronises with CSP booleans').
1018
1019 cli_testcase(565, [b_test,proz],['../prob_examples/public_examples/Z/Testcases/comsets.fuzz', '-t', '-strict'],'ProZ test').
1020 cli_testcase(566, [b_test,proz],['../prob_examples/public_examples/Z/Testcases/distributed_concatenation.fuzz', '-t', '-strict'],'ProZ test').
1021 cli_testcase(567, [b_test,proz],['../prob_examples/public_examples/Z/Testcases/compaction.fuzz', '-t', '-strict'],'ProZ test').
1022 cli_testcase(568, [b_test,proz],['../prob_examples/public_examples/Z/Testcases/zrm_refcard_ops.fuzz', '-t', '-strict'],'ProZ test').
1023 cli_testcase(569, [b_test,ltl], ['../prob_examples/public_examples/B/SymmetryReduction/Fraikin/Library.mch','-p','IGNORE_HASH_COLLISIONS',
1024 'TRUE','-p','FORGET_STATE_SPACE','FALSE','-p','SYMMETRY_MODE','hash', '-expcterr', 'model_check_incomplete','-mc','9999',
1025 '-ltlformulat','G( e(Reserve(m1,b1)) => not({b1:dom(reservation) & m1 : ran(reservation(b1))}) )', '-strict'],'Check enabled e() with multiple parameters').
1026 cli_testcase(571, [b_test, let], ['../prob_examples/public_examples/B/Daniel/CommonSubLetBug.mch','-mc', '100', '-nodead', '-strict'], 'Regression test regarding let predicate and common subexpression elimination').
1027 cli_testcase(572, [b_test,ltl],['../prob_examples/public_examples/B/LTL/DerrickSmith/Abstract.mch', '-ltlassertions', '-strict'],'Check ltl assertions from DEFINITIONS').
1028 cli_testcase(573, [b_test,ltl],['../prob_examples/public_examples/B/LTL/Mikrowelle.mch', '-ltlassertions', '-strict'],'Check ltl assertions from DEFINITIONS').
1029 cli_testcase(574, [b_test,ltl],['../prob_examples/public_examples/CSPB/Dining/Dining.mch', '-ltlassertions', '-expcterr', ltl, '-strict'],'Check ltl assertions from DEFINITIONS in Dining.mch').
1030 cli_testcase(575, [csp_test,ltl,pragmas],['../prob_examples/public_examples/CSPB/Dining/Dining.csp', '-ltlassertions', '-strict'],'Check ltl assertions from Pragmas in Dining.csp').
1031 cli_testcase(576, [b_test,ltl,cspb],['../prob_examples/public_examples/CSPB/Dining/Dining.mch', '-csp-guide', '../prob_examples/public_examples/CSPB/Dining/Dining.csp', '-ltlassertions', '-strict'],'Check ltl assertions from both Dining models in Csp and B.').
1032 cli_testcase(577, [b_test,ltl],['../prob_examples/public_examples/B/LTL/DerrickSmith/Abstract.mch', '-ltlformulat', 'G([AOp2] => F(sink))', '-strict'],'Check ltl formula').
1033 cli_testcase(578, [b_test,ltl],['../prob_examples/public_examples/B/LTL/DerrickSmith/Abstract.mch', '-ltlformulat', 'G([AOp2] => F(deadlock))', '-strict'],'Check ltl formula').
1034 cli_testcase(579, [csp_test],['../prob_examples/public_examples/CSP/mydemos/ReplicatedSharing.csp', '-mc', '100000', '-t', '-check_complete', '-cc', '78', '302'],'Model check and trace replicated sharing processes.').
1035 cli_testcase(580, [csp_test],['../prob_examples/public_examples/CSP/mydemos/SimpleReplicatedLinkedParallel.csp', '-mc', '100000', '-t', '-strict'],'Model check and trace replicated linked parallel processes.').
1036 cli_testcase(581, [csp_test],['../prob_examples/public_examples/CSP/mydemos/SeqTests.csp', '-mc', '100000', '-nodead', '-t', '-strict'], 'Testing CSP sequences.').
1037 cli_testcase(582, [csp_test],['../prob_examples/public_examples/CSP/other/Ivo/Sequences.csp', '-mc', '100000', '-t', '-strict'], 'Testing CSP sequence structures.').
1038 cli_testcase(583, [b_test,tla],['../prob_examples/public_examples/TLA/GraphIso/GraphIso.tla', '-t', '-strict', '-p','TIME_OUT',7000], 'Testing TLA2B translation and loading.'). % increased time-out for commit 884a6ece23363e6d120cc9fdb3f72da9f6348f15: TO DO Investigate
1039 cli_testcase(584, [b_test,tla],['../prob_examples/public_examples/TLA/ErrorTests/GraphIso.tla', '-init', '-strict'
1040 %'-expcterr', tla2b_parser, '-expcterr', load_main_file % TLA2B no longer generates .mch file !
1041 ],'Check that TLA2B does not overwrite pre-existing machine file').
1042 cli_testcase(585, [b_test],['-strict',
1043 '-evalt_file', '../prob_examples/public_examples/Eval/SendMoreMoney.eval', '-p', 'CLPFD', 'TRUE'],'Check that we can evaluate expr/pred from file without loading another machine').
1044 cli_testcase(586, [b_test,tla],['../prob_examples/public_examples/TLA/Login/Login_Deadlock.tla', '-init', '-strict',
1045 '-mc', 100, '-p', 'SYMMETRY_MODE', hash, '-expcterr', deadlock],'Check that config file found and model checking TLA works').
1046 cli_testcase(587, [csp_test],['../prob_examples/public_examples/CSP/other/Ivo/SeqsAndSetsTest.csp', '-t', '-strict'], 'Testing the CSP-M builtin functions seq(-) and set(-).').
1047 cli_testcase(588, [b_test,pragmas],['../prob_examples/public_examples/B/Pragmas/SymbolicPragmas.mch', '-init',
1048 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
1049 '-assertions', '-strict'], 'Test that symbolic annotation pragma works.').
1050 cli_testcase(589,[csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/InputOutputChannelValues.csp', '-mc', '10000', '-t', '-strict'], 'Testing complicated CSP-M datatypes.').
1051 cli_testcase(590,[csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/CurryAgents.csp', '-mc', '10000', '-t', '-strict'], 'Testing Curry Agents in CSP-M models.').
1052 cli_testcase(591,[csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/replicates.csp', '-mc', '10000', '-t', '-strict'], 'Testing replicate processes.').
1053 cli_testcase(592,[csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/replicates2.csp', '-mc', '10000', '-t', '-strict'], 'Testing replicate processes.').
1054 cli_testcase(593, [b_test,cruise,operation_reuse,hash], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-mc', '1400', '-cc', '1361', '25696', '--hash64', 753243318772366897,
1055 '-strict', '-p', 'OPERATION_REUSE', 'TRUE', '-p', 'MAX_INITIALISATIONS', 5], 'Test Operation Reuse'). % 17.9.2021: adapted hash from 203058745203935766 for sorted order of variables
1056 cli_testcase(594, [b_test], [ '-init', '-strict',
1057 '-evalt_rc', '!x.(x:1..10=>x<11)', '-evalf_rc', '!y.(y:1..10 => y<10)'], 'Test that universally quantified predicates work in eval_string.').
1058 cli_testcase(595, [b_test],['-strict',
1059 '-eval_rule_file', '../prob_examples/public_examples/Eval/KnightsKnaves.eval', '-p', 'CLPFD', 'TRUE'],'Check that we can evaluate expr/pred from file with universal quantification').
1060 cli_testcase(596, [b_test,laws],['../prob_examples/public_examples/B/Laws/TautologiesPL.mch', '-p', 'CLPFD', 'TRUE', '-mc',100, '-nodead', '-cc',17,16, '-strict', '-p', 'MAX_INITIALISATIONS', 15],'Check a list of tautologies').
1061 cli_testcase(597,[csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/DotDatatypes.csp', '-mc', '10000', '-t', '-strict'], 'Testing complex datatypes.').
1062 cli_testcase(598,[tickets], ['../prob_examples/public_examples/B/Tickets/DefMchSameName/DefMchSameName.mch', '-ma', 7, 0 , 0, '-strict'], 'Testing that -main_assertions work properly.').
1063 cli_testcase(599,[tickets], ['../prob_examples/public_examples/B/Tickets/858/ubahn_mch4.eventb', '-init', '-expcterr', setup_constants_inconsistent , '-strict'], 'Testing that no call_residue.').
1064 cli_testcase(600,[tickets,symmetry_test], ['../prob_examples/public_examples/B/Tickets/1043/SymTest.mch', '-mc', 300, '-cc', 3, 31 , '-p', 'SYMMETRY_MODE', hash, '-strict'], 'Testing that symmetry detected for enumerated set elements which are not used.'). % used to be -cc 3 44 but now INITIALISATION arguments are derived from target state
1065 cli_testcase(601,[tickets,symmetry_test], ['../prob_examples/public_examples/B/Tickets/1043/SymTest.mch', '-mc', 300, '-cc', 3, 31 , '-p', 'SYMMETRY_MODE', nauty, '-strict'], 'Testing that symmetry detected for enumerated set elements which are not used.'). % used to be -cc 3 44 but now INITIALISATION arguments are derived from target state
1066 cli_testcase(602,[tickets,symmetry_test], ['../prob_examples/public_examples/B/Tickets/1043/SymTest.mch', '-mc', 300, '-cc', 197, 238 , '-p', 'SYMMETRY_MODE', flood, '-strict'], 'Testing that symmetry detected for enumerated set elements which are not used.').
1067 cli_testcase(603,[b_test], ['../prob_examples/public_examples/B/Tester/DefinitionMultiInclude/Main.mch', '-init', '-aa', 3, 0,0, '-strict'], 'Test same DEFINITION file include twice in different contexts.').
1068 cli_testcase(604, [csp_test,ltl],['../prob_examples/public_examples/CSP/mydemos/demo/Peterson_v2.csp', '-ltlformulat', 'G(not [critical.2])', '-strict', '-expcterr' ,ltl ],'Check ltl formula is reported as false').
1069 cli_testcase(605, [b_test], ['../prob_examples/public_examples/B/Benchmarks/scheduler.mch', '-init', '-strict', '-eval', '(A <=> (waiting={})) & A', %'-p', 'BOOL_AS_PREDICATE', 'FALSE',
1070 '-expcterr' ,parse_machine_predicate_error], 'Test that BOOL as predicate can be disabled.').
1071 % BOOL_AS_PREDICATE is no longer supported:
1072 %cli_testcase(606, [b_test], ['../prob_examples/public_examples/B/Benchmarks/scheduler.mch', '-init', '-strict', '-evalt', '(A <=> (waiting={})) & A', '-evalf', '(B <=> (waiting={})) & (B <=> not(waiting={}))', '-evalt', '!x.(x:1..10 => (A <=> x>z)) & z:0..11 & not(A)', '-p', 'BOOL_AS_PREDICATE', 'TRUE'], 'Test that BOOL as predicate works.').
1073 %cli_testcase(607, [b_test,sat],['-strict',
1074 % '-evalt_file', '../prob_examples/public_examples/Eval/SAT_uf20-02_pred.eval', '-p', 'CLPFD', 'TRUE', '-p', 'BOOL_AS_PREDICATE', 'TRUE'],'Test that BOOL as predicate works.').
1075 cli_testcase(608,[tickets], ['../prob_examples/public_examples/B/Tickets/ConcatDisjUnion/SimpleGrammar.mch', '-init', '-mc', 100 , '-nodead', '-cc', 4, 3, '-strict'], 'Testing that concat does not generate wrong solutions.').
1076 cli_testcase(609,[tickets,b_test], ['../prob_examples/public_examples/B/Compilers/SyracuseGrammar.mch', '-init', '-mc', 100 , '-expcterr', deadlock, '-strict', '-p', 'CLPFD', 'FALSE'], 'Testing that concat works efficiently enough.').
1077 cli_testcase(610,[tickets,b_test], ['../prob_examples/public_examples/B/Compilers/SyracuseGrammar.mch', '-init', '-mc', 100 , '-expcterr', deadlock, '-strict', '-p', 'CLPFD', 'TRUE'], 'Testing that concat works efficiently enough.').
1078 cli_testcase(611,[b_test,infinite], ['../prob_examples/public_examples/B/PerformanceTests/InfiniteRelationImage.mch', '-init', '-assertions', '-properties', '-strict', '-p', 'CLPFD', 'TRUE'], 'Testing that image for infinite relation works.').
1079 cli_testcase(612, [b_test,recursion,external,quantified,union,infinite], ['../prob_examples/public_examples/B/Compilers/NFA.mch', '-t', '-mc', 100, '-cc', 6, 12, '-assertions','-strict'], 'Test recursive function with recursive call inside UNION.').
1080 cli_testcase(613, [b_test,pragmas],['../prob_examples/public_examples/B/Pragmas/AssertionPragmas.mch', '-init', '-pp', '../prob_examples/public_examples/B/Pragmas/AssertionPragmas_internal.mch', '-strict'], 'Test that labels recognised.').
1081 cli_testcase(614, [b_test,recursion,infinite,quantified,refinement],['../prob_examples/public_examples/B/Compilers/NFA_det.ref', '-init', '-refchk', '../prob_examples/public_examples/B/Compilers/NFA_nondet_refine_spec.P', '-cc', 10, 22, '-strict'], 'Test trace refinement checking and ABSTRACT_CONSTANT reuse in NFA_det.').
1082 cli_testcase(615,[b_test,ltl], ['../prob_examples/public_examples/B/LTL/Tests/LTL_1State.mch', '../prob_examples/public_examples/B/LTL/Tests/LTL_2States.mch', '-init', '-ltlassertions', '-strict'], 'Testing LTL formulas on simple statespaces.').
1083 cli_testcase(616, [b_test],['../prob_examples/public_examples/B/Tester/Partition.mch', '-init', '-assertions','-pp','../prob_examples/public_examples/B/Tester/Partition_internal.mch', '-strict'], 'Test that partition properly solved and printed.').
1084 cli_testcase(617, [parser,b_test,tickets],['../prob_examples/public_examples/B/Tickets/RefLoadLoop/NFA_det.ref', '-expcterr', parse_error, '-expcterr', load_main_file, '-strict'], 'Test that parser does not loop.').
1085 cli_testcase(618,[b_test,ltl], ['../prob_examples/public_examples/B/LTL/Tests/LTL_4States.mch', '-init', '-ltlassertions', '-strict'], 'Testing LTL formulas on simple statespaces.').
1086 cli_testcase(619,[b_test,ctl], ['../prob_examples/public_examples/B/LTL/Tests/CTL_SetMove_2States.mch', '-init',
1087 '-ctlformulat', 'AG(EX{xx=bb})', '-ctlformula', 'AGEFEX[Move]true', '-ctlformula', 'AGEFEX[Set(aa)]{xx=aa}',
1088 '-ctlformulat', 'not(EF EX[Set(aa)]{xx=bb})',
1089 '-ctlformulat', 'EF EG {xx=bb}',
1090 '-ctlformulat', '{xx=bb} => EG {xx=bb}',
1091 '-ctlformulat', '{xx=bb} => not AF {xx=aa}',
1092 '-ctlformulat', '{xx=bb} => AF {not(xx=aa)}',
1093 '-strict'], 'Testing CTL formulas on simple statespaces.').
1094 cli_testcase(620,[b_test,ctl], ['../prob_examples/public_examples/B/LTL/Tests/CTL_SetMove_2States.mch', '-init', '-ctlformulat', '(EF EX[Set(aa)]{xx=bb})', '-expcterr', ctl,'-strict'], 'Testing CTL formulas on simple statespaces.').
1095 cli_testcase(621,[b_test,ctl], ['../prob_examples/public_examples/B/Benchmarks/scheduler.mch', '-init',
1096 '-ctlformulat', 'AG ( EX[swap]true => {active /= {}})',
1097 '-ctlformulat', 'AG ( (EX[new]true) or (EX[del]true) or (EX[swap]true) )',
1098 '-ctlformulat', 'AF {card(waiting)>0}',
1099 '-ctlformulat', 'AG( {card(active)>0} => EG e(swap))',
1100 '-strict'], 'Testing CTL formulas on simple statespaces.').
1101 cli_testcase(622,[b_test,ctl], ['../prob_examples/public_examples/B/Benchmarks/scheduler.mch', '-init','-ctlformulat', 'AG ( (EX[new]true) or (EX[del]true) )', '-expcterr', ctl,'-strict'], 'Testing CTL formulas on simple statespaces.').
1102 cli_testcase(623,[tickets,infinite,closure1], ['../prob_examples/public_examples/B/PerformanceTests/Closure1_Computations.mch', '-init', '-assertions','-strict'], 'Check that closure1 works well for large or infinite sets.').
1103 cli_testcase(624,[csp_test], ['../prob_examples/public_examples/CSP/Tickets/3675/AIDCPRB_small.csp', '-mc', '10000', '-t', '-strict'], 'Testing complex datatypes.').
1104 cli_testcase(625, [b_test,tla,choose],['../prob_examples/public_examples/TLA/Tests/ChooseTest.tla', '-mc', 100, '-check_complete', '-cc', '3', '3'], 'Testing TLA2B translation and loading.').
1105 cli_testcase(626, [b_test],['../prob_examples/public_examples/B/PerformanceTests/TestFD_Domain_Narrowing.mch', '-t', '-p', 'CLPFD', 'TRUE', '-strict'], 'Test CLPFD on enumerated sets.').
1106 cli_testcase(627, [cbc,smt_test,cbc_tests], ['../prob_examples/public_examples/B/Benchmarks/scheduler.mch', '-cbc_sequence', 'new;new;del;ready', '-strict', '-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE'], 'Check cbc_sequence').
1107 cli_testcase(628, [cbc,smt_test,cbc_tests], ['../prob_examples/public_examples/B/Benchmarks/scheduler.mch', '-cbc_sequence', 'new;new;del;del;del', '-strict', '-p', 'SMT', 'TRUE', '-p', 'CLPFD', 'TRUE', '-expcterr', cbc_sequence_no_solution_found], 'Check cbc_sequence').
1108 cli_testcase(629, [tickets,wd], ['../prob_examples/public_examples/B/Tickets/Burdy1/TestOrApplyFunErr.mch', '-mc', '1000', '-expcterr', well_definedness_error, '-strict'], 'Check issue with undefined function application in context of disjunct.').
1109 cli_testcase(630, [tickets], ['../prob_examples/public_examples/B/Tickets/PROBCORE-45/NotIntervalSol.mch', '-init', '-p', 'MAX_INITIALISATIONS', 30, '-mc', '1000', '-expcterr', 'model_check_incomplete', '-nodead', '-assertions', '-cbc_assertions', '-strict'], 'Check problem with not subset for intervals.').
1110 cli_testcase(631, [tickets], ['../prob_examples/public_examples/B/Tickets/PROBCORE-45/NotIntervalSol.mch', '-init', '-p', 'MAX_INITIALISATIONS', 30, '-p', 'CLPFD', 'TRUE', '-mc', '1000', '-expcterr', 'model_check_incomplete', '-nodead', '-assertions', '-cbc_assertions', '-strict'], 'Check problem with not subset for intervals.').
1111 cli_testcase(632, [cbc,smt_test], ['-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE', '-strict', '-p', 'DEFAULT_SETSIZE', 2, '../prob_examples/public_examples/B/CBC/data_structure1_ctx_theorem_error.eventb', '-cbc_assertions', '-expcterr',cbc_assertions, '-p', 'PROOF_INFO', 'TRUE'], 'Check CBC static assertion checking.').
1112 cli_testcase(633, [tickets], ['../prob_examples/public_examples/EventBPrologPackages/ProofDirected/TestR_label_reuse.eventb', '-mc', 1000, '-noass', '-strict', '-expcterr', 'invariant_violation', '-p', 'PROOF_INFO', 'TRUE'], 'Test that PROOF_INFO not confused by two invariants with same name (inv3).').
1113 cli_testcase(634, [b_test,kodkod,dot,closure1], ['../prob_examples/public_examples/B/Kodkod/Loop.mch', '-strict', '-mc', 20, '-nodead', '-bf', '-p', 'MAX_INITIALISATIONS', 8, '-p', 'CLPFD', 'TRUE', '-cc', 15, 14, '-dot', 'state_space', '../prob_examples/public_examples/B/Kodkod/Loop_statespace.dot'], 'Test performance on example where ProB used to be very slow'). %% HAD TO INCREASE MAX_INITIALISATION to 15 from 8 since adding in_domain_wf to element_of_closure1_wf; TO DO: FIX
1114 cli_testcase(635, [b_test,kodkod], ['../prob_examples/public_examples/B/Kodkod/Loop.mch', '-strict', '-mc', 20, '-nodead', '-bf', '-p', 'MAX_INITIALISATIONS', 8, '-p', 'SOLVER_FOR_PROPERTIES', 'kodkod', '-cc', 15, 14], 'Test performance on Loop example with Kodkod').
1115 cli_testcase(636, [b_test], ['../prob_examples/public_examples/EventBPrologPackages/ConfigChooser/PetChooser_mch.eventb', '-strict', '-mc', 300, '-p', 'CLPFD', 'TRUE', '-cc', 41, 236], 'Test performance on example where ProB used to be very slow').
1116 cli_testcase(637, [b_test,kodkod,strings,closure1], ['../prob_examples/public_examples/B/Kodkod/LoopAsStrings.mch', '-strict', '-mc', 20, '-nodead', '-bf', '-p', 'MAX_INITIALISATIONS', 8, '-p', 'CLPFD', 'TRUE', '-cc', 15, 14], 'Test performance on example where ProB used to be very slow'). %% HAD TO INCREASE MAX_INITIALISATION to 15 from 8 since adding in_domain_wf to element_of_closure1_wf; TO DO: FIX
1117 cli_testcase(638, [b_test,recursion,external,infinite], ['../prob_examples/public_examples/B/Tickets/TransitiveClosure/ComputeTClos_mch.eventb', '-t', '-strict', '-p', 'SYMBOLIC', 'FALSE', '-assertions'], 'Test that recursive function works in Event-B.').
1118 cli_testcase(639, [laws], ['../prob_examples/public_examples/B/Laws/SetLawsPow.mch', '-mc', '500', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'FALSE', '-expcterr', 'model_check_incomplete'], 'Laws about sets of sets').
1119 cli_testcase(640, [laws], ['../prob_examples/public_examples/B/Laws/SetLawsPow.mch', '-mc', '500', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Laws about sets of sets').
1120 cli_testcase(641, [laws], ['../prob_examples/public_examples/B/Laws/SetLawsPow.mch', '-mc', '500', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'TRUE', '-p', 'SYMBOLIC', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Laws about sets of sets').
1121 cli_testcase(642, [laws], ['../prob_examples/public_examples/B/Laws/SetLawsPowPow.mch', '-mc', '250', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Laws about sets of sets').
1122 cli_testcase(643, [laws,card], ['../prob_examples/public_examples/EventBPrologPackages/Deploy/s1_mch1_switches_mch.eventb', '-mc', '250', '-p', 'DEFAULT_SETSIZE', 2, '-strict', '-p', 'CLPFD', 'TRUE', '-cc', 10, 30], 'Check that deferred set is set to at least 3').
1123 cli_testcase(644, [laws,card], ['../prob_examples/public_examples/EventBPrologPackages/Laws/TestPartitionDeferredSetCardMch_mch.eventb', '-mc', '250', '-nodead', '-p', 'DEFAULT_SETSIZE', 2, '-strict', '-p', 'CLPFD', 'TRUE', '-cc', 5, 6], 'Check that deferred set is set to at least 6').
1124 %cli_testcase(645, [plugin_units,wd,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/Tests/WrongComparisonInInvariant.mch', '-plugin', 'units', '-expecterr', 'well_definedness_error', '-strict', '-mc', 5], '').
1125 cli_testcase(646, [b_test,cache], ['../prob_examples/public_examples/B/Puzzles/CrewAllocationConstants.mch', '-t', '-strict', '-p','TIME_OUT',3000, '-cache', 'cache_does_not_exist/', '-expecterr', cache], 'Check that -cache option works on simple example.').
1126 cli_testcase(647, [b_test,cache], ['../prob_examples/public_examples/B/Puzzles/CrewAllocationConstants.mch', '-t', '-strict', '-p','TIME_OUT',3000, '-cache', '../prob_examples/public_examples/cache/'], 'Check that -cache option works on simple example.').
1127 cli_testcase(648, [b_test,cache], ['../prob_examples/public_examples/B/Puzzles/CrewAllocationConstants.mch', '-t', '-strict', '-p','TIME_OUT',3000, '-cache', '../prob_examples/public_examples/cache/'], 'Check that -cache option works on simple example (2nd time).').
1128 cli_testcase(649, [tickets,infinite], ['../prob_examples/public_examples/B/Tickets/PROB-83/Time.mch', '-t', '-strict'], 'Check infinite function works. (PROB-83)').
1129 cli_testcase(650, [tickets,cbc,override], ['../prob_examples/public_examples/B/Tickets/Berkani1/CartesianProductOverrideAssertion.mch', '-cbc_assertions', '-strict', '-expcterr',cbc_assertions], 'Check that counter example for Cartesian product found.').
1130 cli_testcase(651, [tickets,override], ['../prob_examples/public_examples/B/Tickets/Berkani1/CartesianProductOverride.mch', '-init', '-strict', '-p', 'CLPFD', 'TRUE', '-properties', '-assertions'], 'Check that counter example for Cartesian product found.').
1131 cli_testcase(652, [tickets,infinite,recursion], ['../prob_examples/public_examples/B/Compilers/TuringMachine_Goedelisation.mch', '-mc', 300, '-p', 'CLPFD', 'TRUE', '-expecterr', deadlock, '-strict', '-cc', 245, 244], 'Check machine with several complicated infinite & recursive functions.').
1132 cli_testcase(653, [tickets], ['../prob_examples/public_examples/B/Tickets/Mejia5/essai_fncs.mch', '-t', '-strict'], 'Check ticket (with NAT >+> NAT)').
1133 cli_testcase(654, [laws], ['../prob_examples/public_examples/B/Laws/SetRelLaws_NatBool.mch', '-mc', '750', '-nodead', '-cs', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE', '-p', 'CLPFD', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Various laws about relations.').
1134 cli_testcase(655, [typechecker_test,tickets], ['-mc','1000','../prob_examples/public_examples/B/Tickets/PROB-46/Validate.mch','-expecterr',type_error ,'-expecterr', load_main_file, '-expecterr', b_read_write_info, '-strict'], 'Check type-error: Operation calls another operation of the same machine.'). % ADDED '-expecterr', btypechecker --> TO DO: ensure that we do not raise internal errors here !! <--------------
1135 cli_testcase(656, [b_test], ['../prob_examples/public_examples/B/Mathematical/PostCorrespondence_Turing_MC.mch', '-mc', '750', '-nodead', '-strict', '-p', 'CLPFD', 'TRUE', '-expecterr', goal_found], 'A non-trivial machine.').
1136 %cli_testcase(657, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/SimpleCorrectUsage.mch', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/SimpleCorrectUsage_internal.mch'], '').
1137 cli_testcase(658, [cbc,cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Deploy/s4_mch9_schedule_mch.eventb', '-cbc_deadlock', '-p', 'SMT', 'TRUE', '-strict', '-p', 'CLPFD', 'TRUE', '-p','DEFAULT_SETSIZE',1], 'Check no typing error.').
1138 cli_testcase(659, [cbc,cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Deploy/s4_mch9_schedule_mch.eventb', '-cbc', 'all', '-p', 'SMT', 'TRUE', '-strict', '-p', 'CLPFD', 'TRUE', '-p','DEFAULT_SETSIZE',1], '').
1139 cli_testcase(660, [b_test,external], ['../prob_examples/public_examples/B/ExternalFunctions/TestLibraryIO.mch', '-t', '-strict', '-p', 'CLPFD', 'TRUE'], 'Test IO Library').
1140 %cli_testcase(661, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/MultiplicationConversion.mch', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/MultiplicationConversion_internal.mch'], '').
1141 %cli_testcase(662, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/KnownExponent.mch', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/KnownExponent_internal.mch'], '').
1142 cli_testcase(664, [ltl], ['../prob_examples/public_examples/B/TestCaseGeneration/SimpleCounter.mch', '-ltllimit', '50', '-ltlformula', 'G({1=1}=>X{2=2})', '-strict',
1143 '-p', 'use_safety_ltl_model_checker', false,
1144 '-expcterr', ltl_incomplete, '-expcterr', state_space], 'check that no error reported for incomplete model check').
1145 %cli_testcase(665, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/CaseStudies/TrafficLightWarning/Car.mch', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/CaseStudies/TrafficLightWarning/Car_internal.mch'], '').
1146 %cli_testcase(666, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/CaseStudies/TrafficLightWarning/TrafficLight.mch', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/CaseStudies/TrafficLightWarning/TrafficLight_internal.mch'], '').
1147 %cli_testcase(667, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/CaseStudies/TrafficLightWarning/System.mch', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/CaseStudies/TrafficLightWarning/System_internal.mch'], '').
1148 cli_testcase(668, [ltl,csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/BobAlice.csp', '-ltlassertions', '-strict'],'Check LTL formulas in File.').
1149 %cli_testcase(669, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/Tests/IncorrectUnitDefinition.mch', '-plugin', 'units', '-strict', '-expecterr', 'incorrect_unit_definition'], '').
1150 %cli_testcase(670, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/Tests/BoolAndString.mch', '-plugin', 'units', '-strict','-mc', 5], 'Bool and String are not annotated / used by the unit plugin. Just check that there is no error.').
1151 %cli_testcase(672, [plugin_units,wd,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/Tests/WrongOperation.mch', '-plugin', 'units', '-strict', '-expecterr', 'well_definedness_error', '-mc', 5], '').
1152 %cli_testcase(673, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/IrregularConversions.mch', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/IrregularConversions_internal.mch'], '').
1153 %cli_testcase(675, [plugin_units,wd,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/IfTypeAndClash.mch','-plugin','units','-expecterr','well_definedness_error','-strict','-pp','../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/IfTypeAndClash_internal.mch'], '').
1154 %cli_testcase(676, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/UserDefinedAlias.mch', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/UserDefinedAlias_internal.mch'], '').
1155 %cli_testcase(677, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/CaseStudies/FuelLevel/ctx.mch', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/CaseStudies/FuelLevel/ctx_internal.mch'], '').
1156 %cli_testcase(678, [plugin_units,imp,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/CaseStudies/FuelLevel/ctx_i.imp', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/CaseStudies/FuelLevel/ctx_i_internal.mch'], '').
1157 %cli_testcase(679, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/CaseStudies/FuelLevel/fuel0.mch', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/CaseStudies/FuelLevel/fuel0_internal.mch'], '').
1158 %cli_testcase(680, [plugin_units,imp,pragmas,refinement], ['../prob_examples/public_examples/B/PragmasUnits/CaseStudies/FuelLevel/fuel_i.imp', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/CaseStudies/FuelLevel/fuel_i_internal.mch'],
1159 %'also checks that invariants copied to refinement machine').
1160 %cli_testcase(681, [plugin_units,wd,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/IntegerOperations.mch', '-plugin', 'units', '-strict', '-expecterr', 'well_definedness_error', '-pp', '../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/IntegerOperations_internal.mch','-p', 'plugin(units,fixpoint_halt_on_error)','false'], '').
1161 cli_testcase(682, [ltl,csp_test], ['../prob_examples/public_examples/CSP/slicing/peterson_modelcheck.csp', '-ltlassertions', '-strict'],'Check LTL formulas in File.').
1162 %cli_testcase(683, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/AdditionConversion.mch', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/AdditionConversion_internal.mch'], '').
1163 cli_testcase(684, [csp_test], ['../prob_examples/public_examples/CSP/Tickets/3675/AIDCPRB.csp', '-mc', '10000', '-nodead', '-check_complete', '-cc', '8650', '20089'],'Model checking test for fixed bug number 3675.').
1164 cli_testcase(685, [csp_test], ['../prob_examples/public_examples/CSP/Tickets/3675/SafetyPRB.csp', '-mc', '150000', '-nodead', '-cc', '74528', '297023'],'Model checking test for fixed bug number 3675.').
1165 %cli_testcase(686, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/SequenceOperations.mch', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/SequenceOperations_internal.mch'], '').
1166 cli_testcase(687, [b_test,csp_test,cspb,strings], ['../prob_examples/public_examples/CSPB/FeatureTests/StringMachine.mch', '-csp-guide', '../prob_examples/public_examples/CSPB/FeatureTests/StringMachine.csp', '-mc', '1000', '-strict', '-expecterr', 'deadlock'], 'Test that the machine with guidance by CSP have a deadlock').
1167 %cli_testcase(688, [plugin_units,wd,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/Tests/SomeUnitErrors.mch', '-plugin', 'units', '-strict', '-expecterr', 'well_definedness_error'], '').
1168 cli_testcase(689, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Advance/Safety_Metro_23_08_2012/GCDoor_M2_mch.eventb', '-cbc', all, '-strict'], 'Test that proof info works well and no invariant checked').
1169 cli_testcase(690, [cbc,refinement], ['../prob_examples/public_examples/EventBPrologPackages/ProofDirected/M1_err_mch.eventb', '-cbc', all, '-strict', '-expecterr', cbc, '-expecterr', 'event_refinement', '-p', 'SMT', 'TRUE', '-p', 'CLPFD', 'TRUE'], 'Test that error detected').
1170 cli_testcase(691, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/ProofDirected/TestInvPreserv_M2_ko_mch.eventb', '-mc', 100, '-strict', '-expecterr', 'invariant_violation', '-p', 'SMT', 'TRUE', '-p', 'CLPFD', 'TRUE', '-p', 'NUMBER_OF_ANIMATED_ABSTRACTIONS', 1], 'Test that error detected').
1171 cli_testcase(692, [eventb_test,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/ProofDirected/TestInvPreserv_M2_ko_mch.eventb', '-mc', 100, '-nodead', '-strict', '-expecterr', 'event_error:setX:action_not_executable', '-p', 'SMT', 'TRUE', '-p', 'CLPFD', 'TRUE'], 'Test that error detected').
1172 cli_testcase(693, [eventb_test,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/ProofDirected/TestInvPreserv_M2_ko_rename.eventb', '-mc', 100, '-strict', '-expecterr', 'invariant_violation', '-p', 'SMT', 'TRUE', '-p', 'CLPFD', 'TRUE', '-p', 'NUMBER_OF_ANIMATED_ABSTRACTIONS', 1], 'Test that error detected').
1173 cli_testcase(694, [eventb_test,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/ProofDirected/TestInvPreserv_M2_ko_rename.eventb', '-mc', 100, '-nodead', '-strict', '-expecterr', 'event_error:setX3:action_not_executable', '-p', 'SMT', 'TRUE', '-p', 'CLPFD', 'TRUE'], 'Test that error detected').
1174 %cli_testcase(695, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/InferenceTests/InvolvedConstraintUnits.mch', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/InferenceTests/InvolvedConstraintUnits_internal.mch'], '').
1175 %cli_testcase(696, [plugin_units,wd,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/InferenceTests/InvolvedConstraintUnitsUnsat.mch', '-plugin', 'units', '-strict','-expecterr', 'well_definedness_error', '-pp', '../prob_examples/public_examples/B/PragmasUnits/InferenceTests/InvolvedConstraintUnitsUnsat_internal.mch'], '').
1176 cli_testcase(697, [tickets,external], ['../prob_examples/public_examples/B/Tickets/Burlando1/machine_test_PRINTF.mch', '-t', '-strict'], 'Test PRINTF').
1177 cli_testcase(698, [b_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/SudokuAsConstant.mch', '-t','-strict', '-p', 'TRACE_INFO', 'TRUE'], 'Check TRACE_INFO flag').
1178 cli_testcase(699, [cbc,cbc_deadlock,exists], ['../prob_examples/public_examples/B/CBC/ExistsDeadlockTests.mch', '-cbc_deadlock', '-p', 'TRACE_INFO', 'TRUE','-expcterr', 'cbc_deadlock_check', '-strict'], 'Check that guard simplification works correctly').
1179 %cli_testcase(700, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_train/T_m0.mch', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_train/T_m0_internal.mch'], '').
1180 %cli_testcase(701, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_train/T_m1.mch', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_train/T_m1_internal.mch'], '').
1181 cli_testcase(702, [b_test,tla],['../prob_examples/public_examples/TLA/Tests/SetLaws.tla', '-mc', 1000, '-nodead', '-strict', '-expcterr', 'model_check_incomplete'], 'Testing TLA2B translation laws.').
1182 cli_testcase(703, [b_test,tla],['../prob_examples/public_examples/TLA/Tests/NatLaws.tla', '-mc', 1000, '-nodead', '-strict', '-expcterr', 'model_check_incomplete'], 'Testing TLA2B translation laws.').
1183 %cli_testcase(704, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_nuclear/C_m0.mch', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_nuclear/C_m0_internal.mch'], '').
1184 %cli_testcase(705, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_nuclear/C_m1.mch','-expcterr',bmachine_static_checks, '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_nuclear/C_m1_internal.mch'], '').
1185 %cli_testcase(706, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_nuclear/C_m2.mch','-expcterr',bmachine_static_checks, '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_nuclear/C_m2_internal.mch'], '').
1186 %cli_testcase(707, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_nuclear/C_m3.mch','-expcterr',bmachine_static_checks, '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_nuclear/C_m3_internal.mch'], '').
1187 cli_testcase(708, [laws],['../prob_examples/public_examples/B/Kodkod/LawsArithmeticCsts.mch', '-init', '-expcterr', 'setup_constants_fails','-strict', '-p', 'CLPFD', 'TRUE'], 'Testing setting up constants finds no counter-example to mathematical laws.').
1188 cli_testcase(709, [laws,kodkod],['../prob_examples/public_examples/B/Kodkod/LawsArithmeticCsts.mch', '-init', '-expcterr', 'setup_constants_fails','-strict', '-p', 'CLPFD', 'FALSE', '-p', 'SOLVER_FOR_PROPERTIES', 'kodkod','-p', 'TIME_OUT', '9000', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE'], 'Testing setting up constants finds no counter-example to mathematical laws.').
1189 cli_testcase(710, [laws],['../prob_examples/public_examples/B/Kodkod/LawsSetsCsts.mch', '-init', '-expcterr', 'setup_constants_fails', '-p', 'CLPFD', 'TRUE', '-strict', '-p', 'TIME_OUT', 3500], 'Testing setting up constants finds no counter-example to mathematical laws.').
1190 cli_testcase(711, [laws,kodkod],['../prob_examples/public_examples/B/Kodkod/LawsRelCsts.mch', '-init', '-expcterr', 'setup_constants_fails','-strict', '-p', 'CLPFD', 'FALSE', '-p', 'SOLVER_FOR_PROPERTIES', 'kodkod', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE'], 'Testing setting up constants finds no counter-example to mathematical laws.').
1191 cli_testcase(712, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sequences/AppendBuiltInFunctionTypeError.csp', '-strict', '-mc', 10,'-expcterr', 'csp_sequences', '-expcterr', 'deadlock'], 'Testing if the built-in operator ^ raises expected error.').
1192 cli_testcase(713, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sequences/ConcatBuiltInFunctionTypeError1.csp', '-strict', '-mc', 10,'-expcterr', 'csp_sequences', '-expcterr', 'deadlock'], 'Testing if the concat(<...>) built-in function raises expected error.').
1193 cli_testcase(714, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sequences/ConcatBuiltInFunctionTypeError2.csp', '-strict', '-mc', 10,'-expcterr', 'csp_sequences', '-expcterr', 'deadlock'], 'Testing if the concat(<...>) built-in function raises expected error.').
1194 cli_testcase(715, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sequences/ExpandingInfiniteSequenceError.csp', '-strict', '-mc', 10,'-expcterr', 'csp_sequences', '-expcterr', 'deadlock'], 'Testing of raising error by expanding infinite sequences.').
1195 cli_testcase(716, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sequences/HeadBuiltInFunctionTypeError.csp', '-strict', '-mc', 10,'-expcterr', 'csp_sequences', '-expcterr', 'deadlock'], 'Testing if the head(-) built-in function raises expected error.').
1196 cli_testcase(717, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sequences/IsElemListTypeError.csp', '-strict', '-mc', 10,'-expcterr', 'csp_sequences', '-expcterr', 'general_error_occurred'], 'Testing if the elem(-,-) built-in function raises expected error.').
1197 cli_testcase(718, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sequences/LengthBuiltInFunctionInfiniteSeqError.csp', '-mc', 10,'-expcterr', 'csp_sequences', '-expcterr', 'deadlock', '-strict'], 'Testing if the length(-) built-in function raises expected error by calling it with infinite sequence.').
1198 cli_testcase(719, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sequences/LengthBuiltInFunctionTypeError.csp', '-strict', '-mc', 10,'-expcterr', 'csp_sequences', '-expcterr', 'deadlock'], 'Testing if the length(-) built-in function raises expected error.').
1199 cli_testcase(720, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sequences/NullBuiltInFunctionTypeError.csp', '-strict', '-mc', 10,'-expcterr', 'csp_sequences', '-expcterr', 'deadlock'], 'Testing if the null(-) built-in function raises expected error.').
1200 cli_testcase(721, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sequences/SeqBuiltInFunctionTypeError.csp', '-strict', '-mc', 10,'-expcterr', 'csp_sequences', '-expcterr', 'deadlock'], 'Testing if the seq(-) built-in function raises expected error.').
1201 cli_testcase(722, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sequences/SetBuiltInFunctionTypeError.csp', '-strict', '-mc', 10,'-expcterr', 'csp_sequences', '-expcterr', 'deadlock'], 'Testing if the set(-) built-in function raises expected error.').
1202 cli_testcase(723, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sequences/TailBuiltInFunctionTypeError.csp', '-strict', '-mc', 10,'-expcterr', 'csp_sequences', '-expcterr', 'deadlock'], 'Testing if the tail(-) built-in function raises expected error.').
1203 cli_testcase(724, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/ReplicatedInternalChoiceEmptySetError.csp', '-strict', '-mc', 10,'-expcterr', 'cspm_trans', '-expcterr', 'deadlock'], 'Testing of error raising by defining a replicated internal choice process over an empty set.').
1204 cli_testcase(725, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/EmptySetTypeError.csp', '-strict', '-mc', 10,'-expcterr', 'csp_sets', '-expcterr', 'deadlock'], 'Testing if the empty(-) built-in function raises expected error.').
1205 cli_testcase(726, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/ReplicatedOperatorsOverEmptyPatternSets.csp', '-strict', '-mc', 10], 'Testing replicated operators over over empty pattern sets (||| x:{}@ P, ; x:<>@P, || x:{} @[a] P and [|a|] x:{} @P).').
1206 cli_testcase(727, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/EmptySetInReplicatedLinkedParallelError.csp', '-strict', '-mc', 10,'-expcterr', 'haskell_csp', '-expcterr', 'csp_sequences', '-expcterr', 'general_error_occurred'], 'Testing of error raising by defining a replicated linked parallel process over an empty set.').
1207 cli_testcase(728, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/InterleavingSpecialCase.csp', '-strict', '-mc', 10, '-expcterr', 'deadlock'], 'Testing a special case of the |||-operator (STOP ||| STOP).').
1208 cli_testcase(729, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/UndefinedConstructError.csp', '-strict', '-mc', 10, '-expcterr', 'general_error_occurred', '-expcterr', 'full_normalise_csp_process'], 'Testing for raising undefined constructor error.').
1209 cli_testcase(730, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/TooManyOutputValuesOnChannelError.csp', '-strict', '-mc', 10, '-expcterr', 'enumerate_action', '-expcterr', 'general_error_occurred'], 'Testing for raising an error, when there are too many output values on channel.').
1210 cli_testcase(731, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/NotABooleanValueErrorIfThenElse.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for raising an error, when there is no boolean value expression in the if-then-else-condition.').
1211 cli_testcase(732, [laws,kodkod],['../prob_examples/public_examples/B/Kodkod/LawsSetsCsts.mch', '-init', '-expcterr', 'setup_constants_fails','-strict', '-p', 'SOLVER_FOR_PROPERTIES', 'kodkod', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE'], 'Testing setting up constants finds no counter-example to mathematical laws.').
1212 cli_testcase(733, [b_test,csp_test,cspb], ['../prob_examples/public_examples/CSPB/TestVariableProbing.mch', '-csp-guide', '../prob_examples/public_examples/CSPB/TestVariableProbing.csp', '-t', '-strict'], 'Test probing of B variables').
1213 cli_testcase(734, [laws,kodkod], ['../prob_examples/public_examples/B/Laws/BoolLaws_SetCompr.mch', '-init', '-cs', '-p', 'KODKOD','TRUE', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE', '-strict'], 'Various laws about boolean connectives in set comprehension form.').
1214 cli_testcase(735, [laws,kodkod], ['../prob_examples/public_examples/B/Laws/BoolLaws_SetComprCLPFD.mch', '-init', '-cs', '-p', 'KODKOD','TRUE', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE', '-strict'], 'Various laws about boolean connectives in set comprehension form.').
1215 cli_testcase(736, [b_test,csp_test,cspb], ['../prob_examples/public_examples/CSPB/EventB/m_partner_behaviour.eventb', '-csp-guide', '../prob_examples/public_examples/CSPB/EventB/m_partner_behaviour.csp', '-t', '-strict'], 'Test Event-B+CSP + discharged calc'). % Warning: Event-B model has error (modification of variable EndStateVar not allowed in receive_Request)
1216 cli_testcase(737, [b_test,external], ['../prob_examples/public_examples/B/ExternalFunctions/LibraryFiles.mch', '-init', '-assertions','-strict'], 'Check that external functions work.').
1217 cli_testcase(738, [b_test,proz],['../prob_examples/public_examples/Z/Testcases/freetypes.fuzz', '-mc', '1000', '-nodead', '-strict'],'ProZ test for freetypes').
1218 cli_testcase(739, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_tupels/ChannelOutputValuesError.csp', '-strict', '-mc', 10, '-expcterr', 'evaluate_channel_outputs', '-expcterr', 'deadlock'], 'Testing raising an error when no channel tuple is given as prefix event.').
1219 cli_testcase(740, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/TypeErrorInChannelOutput.csp', '-strict', '-mc', 10, '-expcterr', 'check_channel_output_value', '-expcterr', 'general_error_occurred'], 'Testing raising of channel output error.').
1220 cli_testcase(741, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_tupels/ChannelNotDeclaredError.csp', '-strict', '-mc', 10, '-expcterr', 'evaluate_channel_outputs', '-expcterr', 'general_error_occurred', '-expcterr', 'enumerate_action'], 'Testing raising of channel not declared errors.').
1221 cli_testcase(742, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_tupels/ListProjectionError1.csp', '-strict', '-mc', 10, '-expcterr', 'list_projection','-expcterr', 'general_error_occurred'], 'Testing for list projection errors inside local definitions (let-within clauses).').
1222 cli_testcase(743, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_tupels/ListProjectionError2.csp', '-strict', '-mc', 10, '-expcterr', 'list_projection','-expcterr', 'deadlock'], 'Testing for list projection errors inside local definitions (let-within clauses).').
1223 cli_testcase(744, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_tupels/ListProjectionError3.csp', '-strict', '-mc', 10, '-expcterr', 'list_projection','-expcterr', 'deadlock'], 'Testing for list projection errors inside local definitions (let-within clauses).').
1224 cli_testcase(745, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_tupels/TupleProjectionError1.csp', '-strict', '-mc', 10, '-expcterr', 'csp_tuples','-expcterr', 'deadlock'], 'Testing for tuple projection errors inside local definitions (let-within clauses).').
1225 cli_testcase(746, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_tupels/TupleProjectionError2.csp', '-strict', '-mc', 10, '-expcterr', 'csp_tuples','-expcterr', 'deadlock'], 'Testing for tuple projection errors inside local definitions (let-within clauses).').
1226 cli_testcase(747, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_tupels/NaTupleProjectionError1.csp', '-strict', '-mc', 10, '-expcterr', 'csp_tuples','-expcterr', 'deadlock'], 'Testing for not-associative tuple projection errors inside local definitions (let-within clauses).').
1227 cli_testcase(748, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_tupels/NaTupleProjectionError2.csp', '-strict', '-mc', 10, '-expcterr', 'csp_tuples','-expcterr', 'deadlock'], 'Testing for not-associative tuple projection errors inside local definitions (let-within clauses).').
1228 cli_testcase(749, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/CardinalityOfInfiniteSetError.csp', '-strict', '-mc', 10,'-expcterr', 'csp_sets', '-expcterr', 'deadlock'], 'Testing if the card(-) built-in function raises expected error by calling it with infinite set.').
1229 cli_testcase(750, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/CardinalityTypeError.csp', '-strict', '-mc', 10,'-expcterr', 'csp_sets', '-expcterr', 'deadlock'], 'Testing if the card(-) built-in function raises expected type error by calling it with expression, which is not a set.').
1230 cli_testcase(751, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/InterEmptySetError.csp', '-strict', '-mc', 10,'-expcterr', 'csp_sets', '-expcterr', 'deadlock'], 'Testing if the Inter(-) built-in function raises expected error by calling it with an empty set.').
1231 cli_testcase(752, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/ExpandClosureSetError.csp', '-strict', '-mc', 10,'-expcterr', 'csp_sets', '-expcterr', 'deadlock'], 'Testing for errors by expanding closure set elements (error occurs if the element is not a channel name e.g. just constructor).').
1232 cli_testcase(753, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/ExpandingSymbolicSetError1.csp', '-strict', '-mc', 10,'-expcterr', 'expand_symbolic_set', '-expcterr', 'deadlock'], 'Testing for errors by expanding symbolic sets.').
1233 cli_testcase(754, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/demo/Peterson_v2.csp', '-mc', 1000, '-strict', '-p', 'COMPRESSION', 'TRUE', '-cc', 215, 429, '-statistics'], 'Test compression with CSP').
1234 cli_testcase(755, [csp_test], ['../prob_examples/public_examples/CSPB/TestVariableProbing.csp', '-MAIN', 'OTHER', '-mc', 100, '-cc', 4, 4, '-strict'], 'Test setting main process').
1235 cli_testcase(756, [xtl], ['../prob_examples/public_examples/XTL/Promela/promela_int.P', '-t', '-mc', 100,
1236 '-cc', 23, 29, '-strict'], 'Test Promela XTL interpreter').
1237 cli_testcase(757, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/TestingForParseAndLoadErrors.csp', '-strict', '-expcterr', 'haskell_csp'], 'Testing the error clauses of the pasrse and load predicates in the haskell_csp module.').
1238 cli_testcase(758, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/Farmer.csp', '-strict', '-get_csp_assertions_as_string'], 'Testing getting Csp assertions from file.').
1239 cli_testcase(759, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/EnumerateInfiniteChannelInputError1.csp', '-strict', '-mc', 10, '-expcterr', 'enumerate_channel_input_value', '-expcterr', 'general_error_occurred'], 'Testing enumerating infinite channel input error.').
1240 cli_testcase(760, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/EnumerateIllegalTypeOfChannelError.csp', '-strict', '-mc', 10, '-expcterr', 'enumerate_channel_input_value', '-expcterr', 'general_error_occurred'], 'Testing enumerating infinite channel input error.').
1241 cli_testcase(761, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/EnumerateInfiniteChannelInputError2.csp', '-strict', '-mc', 10, '-expcterr', 'enumerate_channel_input_value', '-expcterr', 'general_error_occurred'], 'Testing for raising enumerating infinite channel type error for sequences.').
1242 cli_testcase(762, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/ChannelInputSetEnumerationResultError.csp', '-strict', '-mc', 10, '-expcterr', 'set_enumeration_tuple_result', '-expcterr', 'deadlock'], 'Testing for raising type error on channel input.').
1243 cli_testcase(763, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/ChannelTooFewValuesOnChannelError.csp', '-strict', '-mc', 10, '-expcterr', 'enumerate_action', '-expcterr', 'general_error_occurred'], 'Testing for raising type error in channel input.').
1244 cli_testcase(764, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/InterleavedIfThenElseBlocks.csp', '-strict', '-mc', 1000], 'Testing interleaved if-then-else blocks.').
1245 % 765, 766 missing
1246 cli_testcase(767, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/BAC9_ZC/pas_as_env_inv_ld.mch','-strict', '-t', '-p',
1247 'CLPFD', 'TRUE', '-aa', 27, 0, 0, '-p', 'MAX_OPERATIONS', 1, '-p', 'WARN_IF_DEFINITION_HIDES_VARIABLE', 'FALSE', '-sptxt', '../prob_examples/examples/B/Siemens/BAC9_ZC/pas_as_env_inv_ld_sptxt.txt'], 'Siemens Data Validation Test.').
1248 cli_testcase(777, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/AdaptedBModelPropCheck/acs_as_env_ctx_aiguille.mch','-strict', '-p','CLPFD', 'TRUE', '-aa', 49, 2, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'EXPAND_FORALL_UPTO', 0, '-strict'], 'Siemens Data Validation Test.').
1249 cli_testcase(778, [private,data_validation,siemens,codespeed], ['../prob_examples/examples/B/Siemens/AdaptedBModelPropCheck/acs_as_env_cfg_ipart.mch','-strict', '-p','CLPFD', 'TRUE', '-aa', 144, 4, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
1250 cli_testcase(779, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/AdaptedBModelPropCheck/acs_as_env_cfg_ipart.mch','-strict', '-p','CLPFD', 'TRUE', '-ma', 95, 2, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test (main assertions).').
1251 cli_testcase(780, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/Canarsie_PAR1_PAL/cbtc_mes_as_env_inv_easitf_bs.mch','-strict', '-p','CLPFD', 'TRUE', '-aa', 127, 0, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
1252 cli_testcase(781, [private,data_validation,siemens,codespeed], ['../prob_examples/examples/B/Siemens/Canarsie_PAR1_PAL/cbtc_mes_as_env_inv_easitf_bs.mch','-strict', '-p','CLPFD', 'TRUE', '-ma', 22, 0, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test (main assertions).').
1253 cli_testcase(782, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/Canarsie_PAR1_PAL/cbtc_mes_as_env_inv_etors_bs.mch','-strict', '-p','CLPFD', 'TRUE', '-aa', 142, 0, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
1254 cli_testcase(783, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/Canarsie_PAR1_PAL/cbtc_mes_as_env_inv_stors_bs.mch','-strict', '-p','CLPFD', 'TRUE', '-aa', 147, 1, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
1255 cli_testcase(784, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/Canarsie_PAR1_PAL/par1_mes_as_env_inv_etors_bs.mch','-strict', '-p','CLPFD', 'TRUE', '-aa', 125, 0, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
1256 cli_testcase(785, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/Canarsie_PAR1_PAL/par1_pans_as_env_inv_etors_bs.mch','-strict', '-p','CLPFD', 'TRUE', '-aa', 188, 0, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
1257 cli_testcase(786, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/Canarsie_PAR1_PAL/par1_pans_as_env_inv_etors_dist_bs.mch','-strict', '-p','CLPFD', 'TRUE', '-aa', 184, 0, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
1258 cli_testcase(787, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/Canarsie_PAR1_PAL/par1_pans_as_env_inv_mesitf_bs.mch','-strict', '-p','CLPFD', 'TRUE', '-aa', 182, 0, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
1259 cli_testcase(788, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/Canarsie_PAR1_PAL/par1_pans_as_env_inv_pasitf_bs.mch','-strict', '-p','CLPFD', 'TRUE', '-aa', 176, 1, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
1260 cli_testcase(789, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/Canarsie_PAR1_PAL/par1_pans_as_env_inv_se_dj_bs.mch','-strict', '-p','CLPFD', 'TRUE', '-aa', 174, 2, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
1261 cli_testcase(790, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/Canarsie_PAR1_PAL/par1_pans_as_env_inv_ss_bs.mch','-strict', '-p','CLPFD', 'TRUE', '-aa', 192, 0, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
1262 cli_testcase(791, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/Canarsie_PAR1_PAL/par1_pans_as_env_inv_stors_bs.mch','-strict', '-p','CLPFD', 'TRUE', '-aa', 192, 0, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
1263 cli_testcase(792, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/Canarsie_PAR1_PAL/par1_pans_as_env_inv_tcs_bs.mch','-strict', '-p','CLPFD', 'TRUE', '-aa', 183, 8, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'EXPAND_FORALL_UPTO', 0, '-p', 'DATA_VALIDATION', 'TRUE'], 'Siemens Data Validation Test.'). % added DATA_VALIDATION to prevent merging of assertions, otherwise we get 179 TRUE + 8 FALSE
1264 cli_testcase(793, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/CBTC_Sol_Line4_SaoPaulo/pas_as_env_inv_etorf.mch','-strict', '-p','CLPFD', 'TRUE', '-init', '-expcterr', 'setup_constants_inconsistent',
1265 '-opterr','setup_constants_fails', % setup can fail when value too large to be stored and no partial_setup_constants is done
1266 '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
1267 cli_testcase(794, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/CBTC_Sol_Line4_SaoPaulo/pas_as_env_inv_etorf.mch','-strict', '-p','CLPFD', 'TRUE', '-init', '-expcterr', 'setup_constants_inconsistent',
1268 '-opterr','setup_constants_fails', % setup can fail when value too large to be stored and no partial_setup_constants is done
1269 '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'WARN_IF_DEFINITION_HIDES_VARIABLE', 'FALSE','-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
1270 cli_testcase(795, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/CBTC_Sol_Line4_SaoPaulo/cmnb_heure_cst_gen.mch','-strict', '-p','CLPFD', 'TRUE', '-aa', 7, 0, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'WARN_IF_DEFINITION_HIDES_VARIABLE', 'FALSE','-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
1271 cli_testcase(796, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/CBTC_Sol_Line4_SaoPaulo/pas_as_env_ctx_trainstop.mch','-strict', '-p','CLPFD', 'TRUE', '-aa', 6, 0, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'WARN_IF_DEFINITION_HIDES_VARIABLE', 'FALSE','-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
1272 cli_testcase(797, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/CBTC_Sol_Line4_SaoPaulo/pas_as_env_inv_quai.mch','-strict', '-p','CLPFD', 'TRUE', '-aa', 50, 0, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'WARN_IF_DEFINITION_HIDES_VARIABLE', 'FALSE','-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.'). % changed -aa 51 to 50 due to partition detection in Sept. 2014
1273 cli_testcase(798, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/CBTC_Sol_Line4_SaoPaulo/pas_as_env_inv_zaum.mch','-strict', '-p','CLPFD', 'TRUE', '-aa', 40, 0, 0, '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'WARN_IF_DEFINITION_HIDES_VARIABLE', 'FALSE','-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
1274 cli_testcase(799, [private,data_validation,siemens,closure1], ['../prob_examples/examples/B/Siemens/CBTC_Sol_Line4_SaoPaulo/pas_as_env_inv_cv_sui_v2.mch','-strict', '-p','CLPFD', 'TRUE','-aa', 61, 2, 0, % was '-aa', 62, 1, 0, for pas_as_env_inv_cv_sui.mch with prior closure(.) definition
1275 '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 25000, '-p', 'WARN_IF_DEFINITION_HIDES_VARIABLE', 'FALSE','-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
1276 cli_testcase(800, [private,smt_test,bosch,codespeed], ['../prob_examples/examples/RodinModels/Bosch/CrCtl_0.5.0_v9/CrCtl_Comb2_Final_mch.eventb', '-cbc_deadlock_pred', 'Counter=10 & P_CrCtl_Mode=STANDBY', '-p', 'SMT', 'TRUE',
1277 '-p', 'CLPFD', 'TRUE', '-p', 'USE_RECORD_CONSTRUCTION', 'TRUE', '-p', 'MAXINT', 2, '-p', 'DEFAULT_SETSIZE', 1, '-strict', '-expcterr', cbc_deadlock_check, '-p', 'MAX_INITIALISATIONS', 0],'Bosch CBC Test.').
1278 cli_testcase(801, [private,smt_test,bosch], ['../prob_examples/examples/RodinModels/Bosch/CrCtl_0.5.0_v8/CrCtl_Comb2_Final_mch.eventb', '-cbc_deadlock_pred', 'Counter=10', '-p', 'SMT', 'TRUE',
1279 '-p', 'CLPFD', 'TRUE', '-p', 'USE_RECORD_CONSTRUCTION', 'TRUE', '-p', 'MAXINT', 2, '-p', 'DEFAULT_SETSIZE', 1, '-strict', '-expcterr', cbc_deadlock_check, '-p', 'MAX_INITIALISATIONS', 0],'Bosch CBC Test.').
1280 cli_testcase(802, [private,smt_test,bosch], ['../prob_examples/examples/RodinModels/Bosch/CrCtl_0.5.0_v7/CrCtl_Comb2_Final_mch.eventb', '-cbc_deadlock_pred', 'Counter=10', '-p', 'SMT', 'TRUE',
1281 '-p', 'CLPFD', 'TRUE', '-p', 'USE_RECORD_CONSTRUCTION', 'TRUE', '-p', 'MAXINT', 2, '-p', 'DEFAULT_SETSIZE', 1, '-strict', '-expcterr', cbc_deadlock_check, '-p', 'MAX_INITIALISATIONS', 0],'Bosch CBC Test.').
1282 cli_testcase(803, [private,smt_test,bosch,codespeed], ['../prob_examples/examples/RodinModels/Bosch/CrCtl_0.5.0_v6/CrCtl_Comb2_Final_mch.eventb', '-cbc_deadlock_pred', 'Counter=10', '-p', 'SMT', 'TRUE',
1283 '-p', 'CLPFD', 'TRUE', '-p', 'USE_RECORD_CONSTRUCTION', 'TRUE', '-p', 'MAXINT', 2, '-p', 'DEFAULT_SETSIZE', 1, '-strict', '-expcterr', cbc_deadlock_check, '-p', 'MAX_INITIALISATIONS', 0],'Bosch CBC Test.').
1284 cli_testcase(804, [private,smt_test,bosch], ['../prob_examples/examples/RodinModels/Bosch/CrCtl_0.5.0_v5/CrCtl_Comb2_Final_mch.eventb', '-cbc_deadlock_pred', 'Counter=10', '-p', 'SMT', 'TRUE',
1285 '-p', 'CLPFD', 'TRUE', '-p', 'USE_RECORD_CONSTRUCTION', 'TRUE', '-p', 'MAXINT', 2, '-p', 'DEFAULT_SETSIZE', 1, '-strict', '-expcterr', cbc_deadlock_check, '-p', 'MAX_INITIALISATIONS', 0],'Bosch CBC Test.').
1286 cli_testcase(805, [private,smt_test,bosch], ['../prob_examples/examples/RodinModels/Bosch/CrCtl_0.5.0_v5/CrCtl_Comb2_Final_mch.eventb', '-cbc_deadlock', '-p', 'SMT', 'TRUE',
1287 '-p', 'CLPFD', 'TRUE', '-p', 'USE_RECORD_CONSTRUCTION', 'TRUE', '-p', 'MAXINT', 2, '-p', 'DEFAULT_SETSIZE', 1, '-strict', '-expcterr', cbc_deadlock_check, '-p', 'MAX_INITIALISATIONS', 0],'Bosch CBC Test.').
1288 cli_testcase(806, [private,smt_test,bosch], ['../prob_examples/examples/RodinModels/Bosch/CrCtl_0.5.0_v4/CrCtl_Comb2_Final_mch.eventb', '-cbc_deadlock_pred', 'Counter=10', '-p', 'SMT', 'TRUE',
1289 '-p', 'CLPFD', 'TRUE', '-p', 'USE_RECORD_CONSTRUCTION', 'TRUE', '-p', 'MAXINT', 2, '-p', 'DEFAULT_SETSIZE', 1, '-strict', '-expcterr', cbc_deadlock_check, '-p', 'MAX_INITIALISATIONS', 0],'Bosch CBC Test.').
1290 cli_testcase(807, [tickets,csp_test], ['../prob_examples/public_examples/CSP/Tickets/Shi/milnerSched5.csp', '-assertions', '-strict'], 'Check that exception does not occur (Ticket PROB-43)').
1291 cli_testcase(808, [b_test,dot], ['../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr.mch', '-t', '-strict', '-dot', 'state_as_graph', '../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr_state_graph.dot'], 'Check State Graph Generation').
1292 cli_testcase(809, [private,data_validation], ['../prob_examples/public_examples/B/Tickets/LargeMachTypeErr/LargeValueOk.mch', '-assertions', '-strict'], 'Check loading large data').
1293 cli_testcase(810, [private,typechecker_test], ['../prob_examples/public_examples/B/Tickets/LargeMachTypeErr/sequenceur_values.mch', '-expcterr', type_error, '-expcterr', load_main_file, '-strict'], 'Check large number of errors'). % takes 1m23secs with 1.13.0 and 2m29secs with 1.15.0
1294 cli_testcase(811, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_tupels/ChannelNameUsedAsValueError.csp', '-strict', '-mc', 10, '-expcterr', 'valid_value', '-expcterr', 'general_error_occurred','-expcterr', 'check_channel_output_value'], 'Testing for raising channel name used as value error.').
1295 cli_testcase(812, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_tupels/IllegalDataValueError.csp', '-strict', '-mc', 10, % '-expcterr', 'valid_value', % after fixing issue 304 cf test 2301 we no longer raise valid_value error for sets
1296 '-expcterr', 'general_error_occurred','-expcterr', 'check_channel_output_value'], 'Testing for raising illegal data value error.').
1297 cli_testcase(813, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_tupels/MismatchNumberOfArgumentsForChannelSynchrError.csp', '-strict', '-mc', 10, '-expcterr', 'unify_tuple_args', '-expcterr', 'deadlock'], 'Testing for raising mismatch number of arguments error.').
1298 cli_testcase(814, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInEquality1.csp', '-strict', '-mc', 10
1299 % '-expcterr', 'haskell_csp', '-expcterr', 'general_error_occurred' % This is actually not a type error ! Removed 8.Dec 2025
1300 ], 'Testing for type errors in equality.').
1301
1302 cli_testcase(815, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInEquality2.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'general_error_occurred'], 'Testing for type errors in equality.').
1303 cli_testcase(816, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInEquality3.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'general_error_occurred'], 'Testing for type errors in equality.').
1304 cli_testcase(817, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInEquality4.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'general_error_occurred'], 'Testing for type errors in equality.').
1305 cli_testcase(818, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInEquality5.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for type errors in equality.').
1306 cli_testcase(819, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInEquality6.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for type errors in equality.').
1307 cli_testcase(820, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInEquality7.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for type errors in equality.').
1308 cli_testcase(821, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInEquality8.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for type errors in equality.').
1309 cli_testcase(822, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInEquality9.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for type errors in equality.').
1310 cli_testcase(823, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInEquality10.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for type errors in equality.').
1311 cli_testcase(824, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInEquality11.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for type errors in equality.').
1312 cli_testcase(825, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInEquality12.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for type errors in equality.').
1313 cli_testcase(826, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInNonEquality1.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for type errors in equality.').
1314 cli_testcase(827, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInNonEquality2.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'general_error_occurred'], 'Testing for type errors in equality.').
1315 cli_testcase(828, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInNonEquality3.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'general_error_occurred'], 'Testing for type errors in equality.').
1316 cli_testcase(829, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInNonEquality4.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'general_error_occurred'], 'Testing for type errors in equality.').
1317 cli_testcase(830, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInNonEquality5.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for type errors in equality.').
1318 cli_testcase(831, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInNonEquality6.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for type errors in equality.').
1319 cli_testcase(832, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInNonEquality7.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for type errors in equality.').
1320 cli_testcase(833, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInNonEquality8.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for type errors in equality.').
1321 cli_testcase(834, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInNonEquality9.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for type errors in equality.').
1322 cli_testcase(835, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInNonEquality10.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for type errors in equality.').
1323 cli_testcase(836, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInNonEquality11.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for type errors in equality.').
1324 cli_testcase(837, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInNonEquality12.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for type errors in equality.').
1325 cli_testcase(838, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/TestingComprehensionSetGuards.csp', '-strict', '-mc', 10000], 'Testing set comprehension guards.').
1326 cli_testcase(839, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/ExpandingDataTypeDefBody.csp', '-strict', '-mc', 10], 'Testing expanding symbolic sets.').
1327 cli_testcase(840, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/ChannelNameUsedForLocalVariableError.csp', '-strict', '-expcterr', 'csp_sets'], 'Testing for raising channel name used as local variable error.').
1328 cli_testcase(841, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/PatternListTooLongForChannelError.csp', '-strict', '-mc', 10, '-expcterr', 'csp_sets', '-expcterr', 'deadlock'], 'Testing raising pattern list too long error.').
1329 cli_testcase(842, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/TooManyValuesInRenamePatternError.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'general_error_occurred'], 'Testing raising too many values in rename pattern error.').
1330 cli_testcase(843, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/TypeErrorForChannelInputVariable.csp', '-strict', '-mc', 10, '-expcterr', 'enumerate_datatype_el', '-expcterr', 'deadlock'], 'Testing raising type error for channel input variable exception.').
1331 cli_testcase(844, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/Farmer.csp', '-strict', '-get_csp_enumerated_assertions_as_string'], 'Testing getting enumerated assertions from file.').
1332 cli_testcase(845, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/Farmer.csp', '-strict', '-prologOut', '../prob_examples/public_examples/CSP/other/Ivo/Farmer_temp.pl'], 'Testing translating CSP-M file to specific prolog file.').
1333 cli_testcase(846, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/IsMemberSetCouldNotEvaluateError.csp', '-strict', '-mc', 10, '-expcterr', 'csp_sets', '-expcterr', 'deadlock'], 'Testing for raising could not evaluate error for the member(-,-) built-in function.').
1334 cli_testcase(847, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/NotASingletonSetError.csp', '-strict', '-mc', 10, '-expcterr', 'singleSetElement', '-expcterr', 'deadlock'], 'Testing for raising not a singleton set error.').
1335 cli_testcase(848, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInEquality13.csp', '-strict', '-mc', 10000], 'Testing for type errors in equality.').
1336 cli_testcase(849, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInNonEquality13.csp', '-strict', '-mc', 10000], 'Testing for type errors in disequality.').
1337 cli_testcase(850, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/NotABooleanExpressionError.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for raising not a boolean expression error.').
1338 cli_testcase(851, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/subtype_ex.csp', '-strict', '-mc', 1000,'-expcterr', 'deadlock' ,'-df'], 'Testing complex subtype expressions.').
1339 cli_testcase(852, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/subtype_nametype_ex.csp', '-strict', '-mc', 2500,'-expcterr', 'deadlock'], 'Testing complex subtype expressions.').
1340 cli_testcase(853, [private,csp_test], ['../prob_examples/examples/CSP/Winter/miniAlvey.csp', '-strict', '-t', '-c'], 'Testing complex CSP spec.').
1341 cli_testcase(854, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/NoMatchingCaseForFunctionCallError.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'cspm_trans', '-expcterr', 'deadlock'], 'Testing for no matching case for function call error.').
1342 cli_testcase(855, [b_test,cache], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/RussianPostalPuzzle.mch', '-mc', '1000', '-cc', '81', '177', '-p', 'DEFAULT_SETSIZE', '2', '-nogoal', '-strict', '-cache', '../prob_examples/public_examples/cache/'], 'Check that no error in reuse of cached operations').
1343 cli_testcase(856, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInEquality14.csp', '-strict', '-mc', 10000], 'Testing for type errors in equality.').
1344 cli_testcase(857, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInNonEquality14.csp', '-strict', '-mc', 10000], 'Testing for type errors in disequality.').
1345 cli_testcase(858, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/Farmer.csp', '-strict', '-mc', 1000, '-expcterr', 'deadlock', '-save', '../prob_examples/public_examples/CSP/other/Ivo/Farmer_state.txt'], 'Testing saving XSB Specification state.').
1346 cli_testcase(859, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/NotEnoughArgumentsOnChannelError.csp', '-strict', '-mc', 20, '-bf', '-expcterr', 'l_enumerate_channel_input_value', '-expcterr', 'deadlock'], 'Testing for raising not enough arguments on channel error.').
1347 cli_testcase(860, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/TestingIsMemberBuiltInFunction.csp', '-mc', '100000', '-nodead', '-strict', '-assertions'], 'Testing member(-,-) builtin function.').
1348 cli_testcase(861, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/UnknownExpandChannelPatternExpressionError.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for raising unknown expand channel pattern expression error (possible when expanding sharing, synchronisation-sets/closures).').
1349 cli_testcase(862, [error_checks,csp_test,refinement], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/UnsupportedRefinementOperatorError.csp', '-strict', '-assertions', '-expcterr', 'unsupported_refinement_operator'
1350 % '-expcterr', 'check_assertions', '-expcterr', 'checkAssertion'
1351 ], 'Testing for raising unsupproted refinement operator error (e.g. [R=).').
1352 cli_testcase(863, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/NonAtomicArgumentError.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', deadlock, '-bf'], 'Testing for raising Non-atomic argument error.').
1353 %cli_testcase(864, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/TestingUnicodeFeatures.csp', '-strict', '-csp_add_unicode','../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/TestingUnicodeFeatures_unicode.csp'], 'Testing the unicode features of the CSPM tool.').
1354 %cli_testcase(865, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/TestingUnicodeFeatures_unicode_saved.csp', '-strict', '-csp_remove_unicode', '../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/TestingUnicodeFeatures_no_unicode.csp'], 'Testing the unicode features of the CSPM tool.').
1355 cli_testcase(866, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/CouldNotExpandInfiniteDatatypeBody.csp', '-strict', '-mc', 10, '-expcterr', 'csp_sets', '-expcterr', 'deadlock'], 'Testing for raising could not expand infinite datatype body error.').
1356 cli_testcase(867, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/ExpandingDatatypeBodies.csp', '-strict', '-mc', 10], 'Testing expanding datatype bodies with complicated datat structures.').
1357 cli_testcase(868, [parser,tickets,ltl], ['../prob_examples/public_examples/CSPB/Dining/Dining.mch', '-ltlformulat', 'G {taken= {} ', '-strict', '-expcterr', 'ltl'], 'Testing that LTL parser does not loop. (PARSERLIB-11)').
1358 cli_testcase(869, [parser,tickets,ctl], ['../prob_examples/public_examples/CSPB/Dining/Dining.mch', '-ctlformula', 'AG {taken= {} ', '-strict', '-expcterr', 'ctl'], 'Testing that CTL parser does not loop. (PARSERLIB-11)').
1359 cli_testcase(870, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/Renaming.csp', '-strict', '-mc', 10], 'Testing for raising could not expand infinite datatype body error.').
1360 cli_testcase(871, [tickets], ['../prob_examples/public_examples/EventBPrologPackages/openETCS/ATB/Model_ctx.eventb', '-init', '-strict', '-properties'], 'Check that no time-out occurs; check C <: S21*S22 <=> C : S21 <-> S22 rule in check_subset_of0').
1361 %cli_testcase(872, [plugin_units,wd,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/Tests/WrongOperationTopParameter.mch', '-plugin', 'units', '-strict', '-expecterr', well_definedness_error, '-mc', 5], '').
1362 %cli_testcase(873, [plugin_units,wd,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/Tests/WrongConversionMultiplication.mch', '-plugin', 'units', '-strict', '-expecterr', well_definedness_error, '-mc', 5], '').
1363 %cli_testcase(874, [plugin_units,wd,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/Tests/WrongConversionAddition.mch', '-plugin', 'units', '-strict', '-expecterr', well_definedness_error, '-mc', 5], '').
1364 cli_testcase(875, [tickets,error_checks], ['-eval', 'g = {x|->y | x=y+1 }', '-expecterr', type_expression_error], 'Check that a type error instead of an internal failure is reported when an expression is used where an identifier is expected (Ticket PROB-213).').
1365 cli_testcase(876, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/demo/mbuff.csp', '-assertions', '-strict'], 'Checking CSP assertions.').
1366 cli_testcase(877, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/demo/crossing.csp', '-assertions', '-strict'], 'Checking CSP assertions.').
1367 cli_testcase(878, [csp_test], ['-csp_eval', '(seq(set(<1,2,3>))==<1,2,3>) and (set(seq({1,2,3}))=={1,2,3})', '-strict'], 'Checking CSP expressions without loading a specific model first.').
1368 cli_testcase(879, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/demo/crossing.csp', '-csp_eval', 'diff(NonTock,{|enter,leave|}) == {error,gate.down,gate.go_down,gate.go_up,gate.up,sensor.in,sensor.out}', '-strict'], 'Checking CSP expressions.').
1369 cli_testcase(880, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/demo/crossing.csp', '-csp_eval', 'diff(NonTock,{|enter,leave|}', '-expcterr', 'parsing_csp_expression', '-strict'], 'Checking raising parse error while evaluating syntactically non correct CSP expressions.').
1370 %cli_testcase(881, [plugin_units,wd,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/Choice.mch', '-plugin', 'units', '-strict','-expecterr', 'well_definedness_error','-pp','../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/Choice_internal.mch'], '').
1371 cli_testcase(882,[private,data_validation],['../prob_examples/examples/B/Alstom/Ticket_Oct11_2012/Rule_DB_SIGAREA_0024.mch','-strict', '-t', '-assertions'], 'Issue related to cut in b_try_check_boolean_expression_lwf.').
1372 cli_testcase(883, [csp_test], ['../prob_examples/public_examples/CSP/ucsexamples/chapter14/maxpro.csp', '-assertions', '-strict'], 'Checking CSP assertions from file').
1373 cli_testcase(884, [b_test,proz], ['../prob_examples/public_examples/Z/Woodcock/InnerMember.fuzz', '-t', '-mc', 100,
1374 '-expcterr', 'bmachine_static_checks', '-strict'], 'Checking Z model and check warning for TRUE/FALSE clash generated'). % added -expcterr 23/2/2021
1375 cli_testcase(885, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/TryingToApplyUndefinedFunctionError.csp', '-strict', '-mc', 10, '-expcterr', 'evaluate_agent_call_parameters', '-expcterr', 'cspm_trans', '-expcterr', 'deadlock'], 'Testing for raising trying to apply undefined process/function error.').
1376 cli_testcase(886, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/CouldNotUnifyLambdaArgsError.csp', '-strict', '-mc', 10, '-expcterr', 'cspm_trans', '-expcterr', 'deadlock'], 'Testing for raising of could not unify lambda args error.').
1377 cli_testcase(887, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/CallingNonAtomicFunctionArgumentError.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'deadlock'], 'Testing for raising of trying to call non-atomic function error.').
1378 cli_testcase(888, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp_analyzer/UnsupportedAppendPatternError.csp', '-expcterr', 'compile_head_para', '-strict'], 'Testing for raising of unsupported append pattern error.').
1379 cli_testcase(889, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/TestingComplexChannelTypes.csp', '-assertions', '-strict'], 'Testing outputing channel values of complex types.').
1380 cli_testcase(890, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp_analyzer/IllegalASTCSPProcessInIllegalPositionError.csp', '-expcterr', 'haskell_csp_analyzer', '-strict'], 'Testing for raising of unsupported append pattern error.').
1381 cli_testcase(891, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/PatternMatchingAppendPatternsAsChannelInputValues.csp', '-mc', 1000, '-nodead', '-assertions', '-strict'], 'Testing for pattern matching append patterns as input values.').
1382 cli_testcase(892, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/CheckingPossibleInputVariablesOnChannel.csp', '-assertions', '-strict'], 'Testing for possible input patterns on channels.').
1383 cli_testcase(893,[private,cbc_tests],['../prob_examples/examples/B/L4MicroKernel/L4API/API.mch','-strict', '-cbc_sequence', 'TimeoutIPC','-p', 'DEFAULT_SETSIZE', 3], 'Check that no errors produced by cbc_sequence (Ticket PROB-215).').
1384 cli_testcase(894,[tickets,enabling],['-enabling_analysis_csv','../prob_examples/public_examples/B/Daniel/minienabling_analysis.csv','../prob_examples/public_examples/B/Daniel/minienabling.mch'], 'Check CSV output of a simple enabling analysis (Ticket PROB-215).').
1385 cli_testcase(895, [csp_test], ['../prob_examples/public_examples/CSP/Tickets/3675/SafetyPRB.csp', '-assertions', '-strict'],'Assertions check of processes with complex events.').
1386 cli_testcase(896, [kodkod], ['-p','KODKOD','TRUE', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE','-eval','card(10..x) = 0 & x : 0..100 & (x<10 => x+x>5)', '-strict'],'The translation to Kodkod should not fail because a helper variable has no possible values (Ticket PROB-218)').
1387 cli_testcase(897, [kodkod], ['-p','KODKOD','TRUE','-p', 'KODKOD_RAISE_WARNINGS', 'TRUE','-eval','S<:1..10 & S/={}', '-strict'],'Checking the information about the integer range of the elements of an empty set (Ticket PROB-220)').
1388 cli_testcase(898, [b_test], ['-evalt', 'x \\/ 2..n = 0..(n+10) & x /\\ 2..n = {} & x <: 0..n+20 & n=10000', '-strict'],'Checking set partition inside eval').
1389 cli_testcase(899, [kodkod], ['-p','KODKOD','TRUE','-p', 'KODKOD_RAISE_WARNINGS', 'TRUE', '-mc',1000,'../prob_examples/public_examples/B/Tickets/PROB-217/kodkod_overflow.mch', '-nodead', '-strict'],'The output of the predicate analysis alone does not prevent integer overflows - (Ticket PROB-217)').
1390 cli_testcase(900, [csp_test,refinement], ['../prob_examples/public_examples/CSP/other/Ivo/ProcessesWithArguments.csp', '-csp_assertion', 'Q(3) [F= Q3', '-csp_assertion', 'Q3 [F= Q(3)', '-csp_assertion', 'Q(4) [T= Q(1,3)', '-csp_assertion', 'Q(1,3) [F= Q(4)', '-strict'], 'Checking various refinement assertions of processes with arguments.').
1391 cli_testcase(901, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/ProcessesWithArguments.csp', '-csp_assertion', 'Q(10) :[deadlock free [FD]]', '-expcterr', 'model_check_fails', '-strict'], 'Deadlock checking of a process called with argument.').
1392 cli_testcase(902, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/ProcessesWithArguments.csp', '-csp_assertion', 'Q2(9) :[livelock free]', '-cc', 13, 12, '-strict'], 'Livelock checking of a process called with argument.').
1393 cli_testcase(903, [csp_test, csp_det], ['../prob_examples/public_examples/CSP/other/Ivo/ProcessesWithArguments.csp', '-csp_assertion', 'Q2(9) :[deterministic [FD]]', '-expcterr', 'model_check_fails','-strict'], 'Determinism checking of a process called with argument (must fail).').
1394 cli_testcase(904, [csp_test, csp_det], ['../prob_examples/public_examples/CSP/other/Ivo/ProcessesWithArguments.csp', '-csp_assertion', 'a.1 -> a.2 -> STOP :[deadlock free [FD]]', '-expcterr', 'model_check_fails', '-strict'], 'Deadlock checking of a process called with argument.').
1395 cli_testcase(905, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/ProcessesWithArguments.csp', '-csp_assertion', 'a.1 -> a.2 -> STOP [T= a.1 -> STOP', '-strict'], '').
1396 cli_testcase(906, [csp_test,refinement], ['../prob_examples/public_examples/CSP/other/Ivo/ProcessesWithArguments.csp', '-csp_assertion', 'a.1 -> a.2 -> STOP [F= a.1 -> STOP', '-expcterr', 'refinement_check_fails', '-strict'], '').
1397 cli_testcase(907, [csp_test,refinement], ['../prob_examples/public_examples/CSP/other/Ivo/ProcessesWithArguments.csp', '-csp_assertion', 'a.1 -> a.2 -> STOP [F= a.1 -> b.1 -> STOP', '-expcterr', 'parsing_csp_declaration', '-strict'], 'Checking expecting error to occur.').
1398 cli_testcase(908, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/ProcessesWithArguments.csp', '-csp_assertion', 'a.1 -> a.2 -> STOP [F= a.1 -> a.1.1 -> STOP',
1399 '-expcterr', 'refinement_check_fails',
1400 '-expcterr', 'enumerate_action', '-strict'], 'CSP model with too many values on output channel').
1401 cli_testcase(909, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/ProcessesWithArguments.csp', '-csp_assertion', 'Q(4) [] Q(2) [FD= Q(2,2) [] Q(1,1)', '-strict'], '').
1402 cli_testcase(910, [analysis_test, kodkod], ['-pacheck','../prob_examples/public_examples/B/predicate_analysis/sets.mch', '-strict'], 'Test cases for the predicate analysis: rules about sets').
1403 cli_testcase(911, [analysis_test,sigma, kodkod], ['-pacheck','../prob_examples/public_examples/B/predicate_analysis/arithmetic.mch', '-strict'], 'Test cases for the predicate analysis: some arithmetic (mainly SIGMA)').
1404 cli_testcase(912, [kodkod,cbc], ['../prob_examples/public_examples/B/Kodkod/TestCBCAssertionCheck.mch', '-cbc_assertions', '-strict', '-p','SOLVER_FOR_PROPERTIES', 'kodkod', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE', '-expcterr',cbc_assertions], 'Check that Kodkod CBC Checking works.').
1405 cli_testcase(913, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/ExpandingDataTypeDefBody.csp', '-csp_eval', 'D1 == {A,B.0,B.1,B.2,B.3,C.0.0,C.0.1,C.0.2,C.0.3,C.1.0,C.1.1,C.1.2,C.1.3,C.2.0,C.2.1,C.2.2,C.2.3,C.3.0,C.3.1,C.3.2,C.3.3}', '-strict'], 'Evaluating CSP-M expressions.').
1406 cli_testcase(914, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/ExpandingDataTypeDefBody.csp', '-csp_eval', '{|c.C|} =={c.(C.0.0),c.(C.0.1),c.(C.0.2),c.(C.0.3),c.(C.1.0),c.(C.1.1),c.(C.1.2),c.(C.1.3),c.(C.2.0),c.(C.2.1),c.(C.2.2),c.(C.2.3),c.(C.3.0),c.(C.3.1),c.(C.3.2),c.(C.3.3)}', '-strict'], 'Evaluating CSP-M expressions').
1407 cli_testcase(915, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/ExpandingDataTypeDefBody.csp', '-csp_eval', '{1..3} == {1,2,3}', '-strict'], 'Evaluating CSP-M expressions.').
1408 cli_testcase(916, [csp_test], ['../prob_examples/public_examples/CSP/simple/verysimple.csp', '-csp_eval', 'Events', '-strict'], 'Evaluating CSP-M expressions.').
1409 cli_testcase(917, [csp_test], ['../prob_examples/public_examples/CSP/simple/verysimple.csp', '-csp_eval', '{|a|}', '-strict'], 'Evaluating CSP-M expressions.').
1410 cli_testcase(918, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/simple/verysimple.csp', '-csp_eval', '{1..}','-strict','-expcterr',expand_symbolic_set], 'Testing raising of infinite set error.').
1411 cli_testcase(919, [b_test, csp_test,cspb], ['../prob_examples/public_examples/CSP/Tickets/WilliamsCSPB/Airports.mch', '-csp-guide', '../prob_examples/public_examples/CSP/Tickets/WilliamsCSPB/AirportsCtrl.csp', '-assertions', '-cc', 859, 3533, '-strict'], 'Checking CSP-M assertions for CSP-M || B models.').
1412 cli_testcase(920, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/ExpandingDataTypeDefBody.csp', '-csp_eval',
1413 '{x | x <- D1, (B.1) != x} == {A,B.0,B.2,B.3,C.0.0,C.0.1,C.0.2,C.0.3,C.1.0,C.1.1,C.1.2,C.1.3,C.2.0,C.2.1,C.2.2,C.2.3,C.3.0,C.3.1,C.3.2,C.3.3}', '-strict'], 'Evaluating CSP-M expressions.').
1414 cli_testcase(921, [error_checks, csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/EmptySetNotAllowedForInterError.csp', '-mc', 10,'-expcterr', 'is_member_set2', '-expcterr', 'general_error_occurred', '-strict', '-expcterr', virtual_time_out], 'Testing raising of empty set not allowed for Inter(-) error.').
1415 cli_testcase(922, [csp_test], ['-csp_eval', 'if member(1,{1..10}) then true else false', '-strict'], 'Evaluating CSP-M expressions.').
1416 cli_testcase(923, [error_checks], ['-mc', 1000, '../prob_examples/public_examples/B/Tickets/PROB-226/parallel_subst.mch', '-expcterr', 'type_error', '-expcterr', 'load_main_file', '-strict'], 'Parallel assignments to the same variable should be forbidden. (Ticket PROB-226)').
1417 cli_testcase(924, [error_checks], ['-mc', 1000, '../prob_examples/public_examples/B/ErrorMachines/UnknownPromotedOp.mch', '-expcterr', 'type_error', '-expcterr', 'load_main_file', '-strict'], 'Type-checker error when promoting an operation that does not exist.').
1418 cli_testcase(925, [error_checks], ['-mc', 1000, '-nodead',
1419 '../prob_examples/public_examples/B/ErrorMachines/IncludeSeenOnlyOnce.mch',
1420 % '-expcterr', 'type_error', '-expcterr', 'load_main_file', % removed October 10 2025
1421 '-assertions'], 'No longer expecting error when including a machine twice that is used as a seen/used machine.').
1422 cli_testcase(926, [csp_test,ltl], ['../prob_examples/public_examples/CSP/simple/verysimple.csp', '-ltlformulat', 'GF [a]', '-expcterr', 'ltl', '-strict'],'Checking for raising number of arguments not correct error.').
1423 cli_testcase(927, [typechecker_test], ['-eval', 'a-b=c & a=0', '-strict'], 'Type-checking a minus when the type of the arguments is determinded later (an integer).').
1424 cli_testcase(928, [typechecker_test], ['-eval', 'a-b=c & a={0}', '-strict'], 'Type-checking a minus when the type of the arguments is determinded later (a set).').
1425 cli_testcase(929, [csp_test,ltl], ['../prob_examples/public_examples/CSP/ErrorModels/ltl/ExtraArgumentsInCSPLTLPatternError.csp', '-ltlassertions', '-expcterr', 'enumerate_action', '-expcterr', 'ltl', '-strict'],'Checking for raising number of arguments not correct error.').
1426 cli_testcase(930, [csp_test,ltl], ['../prob_examples/public_examples/CSP/ErrorModels/ltl/MissingElementsInCSPPatternError.csp', '-ltlassertions', '-expcterr', 'ltl', '-strict'],'Checking for raising number of arguments not correct error.').
1427 cli_testcase(931, [csp_test], ['../prob_examples/public_examples/CSP/ucsexamples/chapter20/phone.csp', '-csp_eval', 'Phones', '-strict'], 'Evaluating CSP-M expressions.').
1428 cli_testcase(932, [typechecker_test,error_checks], ['-eval', 'a-b=c & a=TRUE', '-expcterr', 'type_expression_error', '-strict'], 'Type-checking a minus when the type of the arguments is determinded later (type error).').
1429 cli_testcase(933, [typechecker_test,error_checks], ['-eval', 'a*b=c & a=TRUE', '-expcterr', 'type_expression_error', '-strict'], 'Type-checking * when the type of the arguments is determinded later (type error).').
1430 cli_testcase(934, [typechecker_test], ['-eval', '[a,c:=1,3](a<b&b<c)', '-strict'], 'Type-checking a substitution on a predicate').
1431 cli_testcase(935, [typechecker_test,error_checks], ['-eval', '[a,c:=1,3,5](a<b&b<c)', '-expcterr', 'type_expression_error', '-strict'], 'Type-checking a substitution on a predicate (type error)').
1432 cli_testcase(936, [b_test, csp_test,ltl,cspb], ['../prob_examples/public_examples/CSP/Tickets/WilliamsCSPB/Airports.mch', '-csp-guide', '../prob_examples/public_examples/CSP/Tickets/WilliamsCSPB/AirportsCtrl.csp',
1433 %'-p', 'csp_event_visible_to_user', 'false', % used to be csp_event probcli option
1434 '-ltlformulat', 'G not [link.AMS.AMS]', '-strict'], 'Checking ltl formulas for CSP-M || B models.').
1435 cli_testcase(937, [b_test, csp_test,ltl,cspb], ['../prob_examples/public_examples/CSP/Tickets/WilliamsCSPB/Airports.mch', '-csp-guide', '../prob_examples/public_examples/CSP/Tickets/WilliamsCSPB/AirportsCtrl.csp', '-ltlformulat', 'G not [link(AMS,AMS)]', '-strict'], 'Checking ltl formulas for CSP-M || B models.').
1436 cli_testcase(938, [error_checks,refinement], ['-mc', 1000, '-expcterr', 'type_error', '-expcterr', 'load_main_file', '-strict', '../prob_examples/public_examples/B/ErrorMachines/MachineWithParametersErr1.ref'], 'Check for error: Wrong number of parameters in refinement.').
1437 cli_testcase(939, [error_checks,refinement], ['-mc', 1000, '-expcterr', 'type_error', '-expcterr', 'load_main_file', '-strict', '../prob_examples/public_examples/B/ErrorMachines/MachineWithParametersErr2.ref'], 'Check for error: Wrong parameters in refinement.').
1438 cli_testcase(940, [cbc], ['-cbc', all, '-p','CLPFD', 'TRUE', '-strict', '../prob_examples/public_examples/B/Tickets/Treharne1/House_Tracker16.mch'], 'Check that we quickly see that there is no counterexample.').
1439 cli_testcase(941, [cbc], ['-cbc', all, '-p','CLPFD', 'TRUE', '-strict', '../prob_examples/public_examples/B/CBC/ReservationLivre.mch', '-expcterr',cbc], 'Check that we find counterexample with larger scope.').
1440 %cli_testcase(942, [plugin_units,wd,case,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/Case.mch', '-plugin', 'units', '-strict', '-expcterr', 'well_definedness_error', '-pp', '../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/Case_internal.mch','-p','plugin(units,fixpoint_halt_on_error)','false'], '').
1441 cli_testcase(943, [parser,typechecker_test,pragmas], ['../prob_examples/public_examples/B/Pragmas/UnrecognisedPragma.mch','-strict','-expcterr',load_main_file,'-expcterrpos',parse_error, 7, 5],'Check Pragma error message (with SNAPSHOT parser from 12/3/2019 we no longer get parse errors)').
1442 cli_testcase(944, [dot], ['-evalt','r:1..3-->>1..3 & r(1)/=1 & r(1)/=2 & r(2)/=2', '-evaldot', '../prob_examples/public_examples/Eval/evalout.dot','-strict'],'').
1443 cli_testcase(945, [eventb_test, theories], ['-t', '-strict', '../prob_examples/public_examples/EventBPrologPackages/Theory/TestBoolOps_mch.eventb'], 'Check BoolOps Theory.').
1444 cli_testcase(946, [cbc,smt_test,refinement], ['../prob_examples/public_examples/B/Tickets/CBC_Refinement/M2_mch.eventb', '-p', 'CLPFD', 'TRUE', '-cbc', all, '-strict', '-expcterr', 'cbc', '-p', 'SMT', 'TRUE'], 'Check counter-example found in SMT mode').
1445 cli_testcase(947, [cbc,smt_test,refinement], ['../prob_examples/public_examples/B/Tickets/CBC_Refinement/M2_mch.eventb', '-p', 'CLPFD', 'TRUE', '-cbc', 'RemAuth', '-strict', '-expcterr', 'cbc', '-p', 'SMT', 'TRUE'], 'Check counter-example found in SMT mode').
1446 cli_testcase(948, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/WaterBoiler.csp', '-csp_eval', 'member(fill.3,{|fill|}) == true', '-strict'], 'Evaluating CSP-M expressions.').
1447 cli_testcase(949, [tickets], ['-assertions', '-strict', '../prob_examples/public_examples/B/Tickets/PrjMemCheck/PrjTestsOK.mch',
1448 '../prob_examples/public_examples/B/Tickets/PrjMemCheck/PrjTestsOK_For_AtelierB.mch'], 'Check that we prj1/prj2 work correctly.').
1449 cli_testcase(950, [tickets,wd], ['-assertions', '-strict', '../prob_examples/public_examples/B/Tickets/PrjMemCheck/PrjTestsKO1.mch', '-expcterr', 'well_definedness_error', '-expcterr', 'check_assertions', '-p', 'TRY_FIND_ABORT', 'TRUE'], 'Check that we prj1/prj2 detect wd errors.').
1450 cli_testcase(951, [tickets,wd], ['-assertions', '-strict', '../prob_examples/public_examples/B/Tickets/PrjMemCheck/PrjTestsKO2.mch', '-expcterr', 'well_definedness_error', '-expcterr', 'check_assertions', '-p', 'TRY_FIND_ABORT', 'TRUE'], 'Check that we prj1/prj2 detect wd errors.').
1451 cli_testcase(952, [tickets,wd], ['-assertions', '-strict', '../prob_examples/public_examples/B/Tickets/PrjMemCheck/PrjTestsKO3.mch', '-expcterr', 'well_definedness_error', '-expcterr', 'check_assertions', '-p', 'TRY_FIND_ABORT', 'TRUE'], 'Check that we prj1/prj2 detect wd errors.').
1452 cli_testcase(953, [tickets,wd], ['-assertions', '-strict', '../prob_examples/public_examples/B/Tickets/PrjMemCheck/PrjTestsKO4.mch', '-expcterr', 'well_definedness_error', '-expcterr', 'check_assertions', '-p', 'TRY_FIND_ABORT', 'TRUE'], 'Check that we prj1/prj2 detect wd errors.').
1453 cli_testcase(954, [eventb_test, theories], ['-t','-strict','../prob_examples/public_examples/EventBPrologPackages/Theory/DumbDataTheoryModel.eventb'],'Check model that uses user defined datatypes via the Theory Plugin.').
1454 cli_testcase(955, [eventb_test, theories], ['-mc',100,'-strict','../prob_examples/public_examples/EventBPrologPackages/Theory/NonTrivialTypeParameters.eventb'],'Theory Plugin: Datatypes whose type parameters are not only type expressions').
1455 cli_testcase(956, [eventb_test,card], ['-mc',1000,'-strict','../prob_examples/public_examples/EventBPrologPackages/Puzzles/Hanoi_mch_3s_6d.eventb', '-noass', '-cc', 731, 2186, '-p', 'CLPFD', 'TRUE'],'Check that constraint solver not perplexed by use of card() for last').
1456 %cli_testcase(957, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/DifferentUnitNotations.mch', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/DifferentUnitNotations_internal.mch'], '').
1457 cli_testcase(958, [eventb_test], ['-t', '-p', 'CLPFD', 'FALSE', '-p', 'PROOF_INFO', 'FALSE' , '-p', 'TIME_OUT', '100', '-expcterr', 'time_out_for_invariant',
1458 '-strict','../prob_examples/public_examples/EventBPrologPackages/ProofDirected/ComplicatedProvenInvariant2_v2.eventb'],'Check that Time Out occurs without Proof Info usage. (CLPFD disabled because it causes an overflow on the 32 bit testbots').
1459 cli_testcase(959, [eventb_test], ['-mc',100, '-t', '-p', 'TIME_OUT', '200', '-strict','../prob_examples/public_examples/EventBPrologPackages/ProofDirected/ComplicatedProvenInvariant2_v2.eventb', '-expcterr', 'model_check_incomplete'],'Check that Proof Info works').
1460 cli_testcase(960, [eventb_test], ['-mc',0, '-p', 'PROOF_INFO', 'FALSE' , '-p', 'TIME_OUT', '200', '-expcterr', 'time_out_for_assertions', '-strict','../prob_examples/public_examples/EventBPrologPackages/ProofDirected/ComplicatedProvenInvariant_INITCheck_mch.eventb', '-expcterr', 'model_check_incomplete'],'Check that Proof Info works also for INITIALISATION').
1461 cli_testcase(961, [eventb_test], ['-mc',100, '-p', 'PROOF_INFO', 'TRUE' , '-p', 'TIME_OUT', '200', '-strict','../prob_examples/public_examples/EventBPrologPackages/ProofDirected/ComplicatedProvenInvariant_INITCheck_mch.eventb', '-expcterr', 'model_check_incomplete'],'Check that Proof Info works also for INITIALISATION').
1462 cli_testcase(962, [eventb_test], ['-mc',100, '-p', 'PROOF_INFO', 'TRUE' , '-p', 'TIME_OUT', '200', '-strict','../prob_examples/public_examples/EventBPrologPackages/ProofDirected/ComplicatedProvenDynamicTheorem_mch.eventb', '-expcterr', 'model_check_incomplete'],'Check that Proof Info works also for dynamic theorems').
1463
1464 cli_testcase(963, [csp_test,ltl], ['../prob_examples/public_examples/CSP/other/Ivo/WaterBoiler.csp', '-ltlformulat', '[open] => ((X [fill._]) or (X [close])) ', '-strict'],'Check LTL formula in File.').
1465 cli_testcase(964, [eventb_test,wd], ['-mc',100, '-p', 'PROOF_INFO', 'TRUE' , '-expcterr', well_definedness_error, '-expcterr', invariant_violation, '-strict','../prob_examples/public_examples/EventBPrologPackages/ProofDirected/TestProofDirected_WD_Inv_mch.eventb'],'Check that Proof Info works well in conjunction with ill-defined invariants').
1466 cli_testcase(965, [eventb_test,wd], ['-mc',100, '-p', 'PROOF_INFO', 'TRUE' , '-expcterr', well_definedness_error, '-expcterr', assertion_violation,
1467 %'-expcterr', checking_assertions, % was actually a warning generated by translate_events_in_current_scope_to_warnings
1468 '-strict','../prob_examples/public_examples/EventBPrologPackages/ProofDirected/TestProofDirected_WD_Thm_mch.eventb'],'Check that Proof Info works well in conjunction with ill-defined theorems').
1469 cli_testcase(966, [eventb_test], ['-mc',100, '-noass', '-nodead', '-p', 'PROOF_INFO', 'FALSE' , '-expcterr', invariant_violation, '-strict','../prob_examples/public_examples/EventBPrologPackages/ProofDirected/TestProofDirected_WD_Thm_mch.eventb'],'Check that Proof Info works well in conjunction with ill-defined theorems and -noass checking').
1470 cli_testcase(967, [eventb_test], ['-mc',100, '-noass', '-nodead',
1471 '-p', 'PROOF_INFO', 'TRUE' ,
1472 %'-expcterr', invariant_violation, % the proof of the invariant relies on the theorem, which is proven but has wd-problem
1473 '-expcterr', 'model_check_incomplete',
1474 '-strict','../prob_examples/public_examples/EventBPrologPackages/ProofDirected/TestProofDirected_WD_Thm_mch.eventb'],'Check that Proof Info works well in conjunction with ill-defined theorems and -noass checking').
1475 cli_testcase(968, [eventb_test], ['-mc',100, '-noass', '-nodead', '-p', 'PROOF_INFO', 'TRUE' , '-expcterr', 'model_check_incomplete', '-strict','../prob_examples/public_examples/EventBPrologPackages/ProofDirected/TestProofDirected_FalseThm_mch.eventb'],'Check that Proof Info works well in conjunction with ill-defined theorems and -noass checking').
1476 cli_testcase(969, [b_test,recursion,external], ['-assertions', '-strict','../prob_examples/public_examples/B/Tickets/Bracknell1/C0.mch'],'Check that no recursion detected').
1477 cli_testcase(970, [b_test,recursion,external], ['-init', '-strict','../prob_examples/public_examples/B/Tickets/Bracknell1/C0_ctx.eventb'],'Check that no recursion detected').
1478 cli_testcase(971, [b_test], ['../prob_examples/public_examples/B/Tester/Prj1NATURAL.mch', '-t', '-mc', '1000', '-strict'], 'Check that prj1(NATURAL,...) not expanded').
1479 cli_testcase(972, [cbc], ['../prob_examples/public_examples/B/CBC/plavis_MemoryLoad_SP_14_TestComp_v2.mch',
1480 '-p', 'CLPFD', 'TRUE', '-p', 'MAXINT', 3, '-p', 'MININT', -1, '-init', '-strict'],
1481 'Check that partitioning into components and seq enum works'). % changed to _v2 model with extra constraint on 6/1/2021
1482 cli_testcase(973, [cbc], ['../prob_examples/public_examples/B/CBC/ComponentPartitioningTest.mch', '-p', 'CLPFD', 'TRUE', '-init', '-strict'], 'Check that partitioning into components works').
1483 cli_testcase(974, [cbc], ['../prob_examples/public_examples/B/CBC/PartitionConstraintAssertionCheck.mch', '-p', 'CLPFD', 'TRUE', '-cbc_deadlock', '-expcterr', 'cbc_deadlock_check', '-strict'],
1484 'Check that partitioning into components works').
1485 cli_testcase(975, [por], ['../prob_examples/public_examples/B/Ivo/PruningActionsTest1.mch', '-mc', '1000000', '-p', 'por', ample_sets, '-expcterr', invariant_violation, '-strict'], 'POR test.').
1486 cli_testcase(976, [por], ['../prob_examples/public_examples/B/Ivo/PruningActionsTest2.mch', '-mc', '1000000', '-p', 'por', ample_sets, '-expcterr', deadlock, '-strict'], 'POR test (deadlock and invariant violation).').
1487 cli_testcase(977, [por], ['../prob_examples/public_examples/B/Ivo/BridgeTransitions.mch', '-mc', '1000000', '-cc', 55, '_', '-check_complete_operation_coverage', '-p', 'por', ample_sets, '-min_max_coverage', '../prob_examples/public_examples/B/Ivo/BridgeTransitions_por.cov', '-strict'], 'POR test (no state space reductions).').
1488 cli_testcase(978, [por], ['../prob_examples/public_examples/B/Ivo/CycleDetections.mch', '-mc', '1000000', '-p', 'por', ample_sets, '-expcterr', invariant_violation, '-strict'], 'POR test.').
1489 % commit 484a10c2cdd8cc4b13f1be8f30e8eac7be5a30c3 from 23 Oct 2013 broke 979-982; CSE optimization should recover performance
1490 cli_testcase(979, [while,private,data_validation], ['../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_TMS_Overlap_0017_2_ori.mch', '-animate_all', '-strict', '-cc', 113, 112, '-p', 'TIME_OUT', 35000, '-p', 'CLPFD', 'FALSE', '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647, '-his', '../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_TMS_Overlap_0017_2_ori.his','-expcterr', invariant_violation], 'Rule Test 4 of Alstom compilation project'). % increased time-out from 15000; added -p CLPFD FALSE
1491 cli_testcase(980, [while,private,data_validation,codespeed], ['../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_DB_SIGAREA_0024_ori.mch', '-animate_all', '-strict', '-cc', 40, 39, '-p', 'TIME_OUT', 35000, '-p', 'CLPFD', 'FALSE', '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647, '-his', '../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_DB_SIGAREA_0024_ori.his'], 'Rule Test 5 of Alstom compilation project'). % increased time-out from 15000; added -p CLPFD FALSE
1492 cli_testcase(981, [private,data_validation,codespeed], ['../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_DB_Route_0001ori.mch', '-animate_all', '-strict', '-cc', 97, 96, '-p', 'TIME_OUT', 28000, '-p', 'CLPFD', 'FALSE', '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647, '-his', '../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_DB_Route_0001ori.his'], 'Rule Test 1 of Alstom compilation project'). % increased time-out from 15000; added -p CLPFD FALSE
1493 cli_testcase(982, [private,data_validation,alstom], ['../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_TMS_Overlap_0017_1_ori.mch', '-animate_all', '-strict', '-cc', 48, 47, '-p', 'TIME_OUT', 55000, '-p', 'CLPFD', 'FALSE', '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647, '-his', '../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_TMS_Overlap_0017_1_ori.his','-expcterr', invariant_violation], 'Rule Test 3 of Alstom compilation project'). % increased time-out from 45000; added -p CLPFD FALSE
1494 cli_testcase(983, [private,data_validation,alstom], ['../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_TMS_ESA_TRIGGER_0009_ori.mch', '-strict', '-cc', 112, 111, '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647, '-t'], 'Rule Test 2 of Alstom compilation project').
1495 cli_testcase(984, [private,symmetry_test], ['../prob_examples/examples/B/BossaAcadie/scheduler.mch', '-strict', '-cc', 145, 1935, '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647, '-mc', 9000, '-p', 'MAX_OPERATIONS', 20, '-p', 'SYMMETRY_MODE', hash, '-expcterr', 'model_check_incomplete'], 'Bossa example'). % was 1936 transitions; now 1935 with INITIALISATION arguments derived from target state
1496 cli_testcase(985, [cbc], ['../prob_examples/public_examples/B/Mathematical/GraphIso/HardGraph_Nr5.mch', '-strict', '-cc', 3, 3, '-p', 'TIME_OUT', 5000, '-mc', 20, '-p', 'MAX_OPERATIONS', 4, '-p', 'CLPFD', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Hard graph; isomorphism detected means no deadlock').
1497 cli_testcase(986, [eventb_test], ['-t','-mc',800,'-strict','../prob_examples/public_examples/EventBPrologPackages/Puzzles/MRushHour_new.eventb','-expcterr', invariant_violation],'Check that new Proof Info works with wd in guards/actions accepted').
1498 cli_testcase(987, [por], ['../prob_examples/public_examples/EventBPrologPackages/Advance/CAN_Bus/CB3FSMM_mch_v2.eventb', '-mc', '1000000', '-noass', '-nogoal', '-p', 'por', ample_sets, '-strict'], 'Testing if coverages of the constants and values of the generated reduced state space are matching with the coverages of the constants and values of the full state space.').
1499 cli_testcase(988, [csp_test,dot], ['../prob_examples/public_examples/CSP/simple/Copy.csp', '-df', '-mc', '1000', '-cc', '14', '24', '-strict','-dot','signature_merge','../prob_examples/public_examples/CSP/simple/Copy_spmdot.dot','-dot', 'dfa_merge','../prob_examples/public_examples/CSP/simple/Copy_spddot.dot', '-pref_group', dot_colors, classic, '-p','DOT_PEN_WIDTH',1], 'Test reduced state space dot output for CSP. (DF search to avoid different dot graphs due to order of exploration)').
1500 cli_testcase(989, [eventb_test], ['-assertions','-strict','../prob_examples/public_examples/EventBPrologPackages/PerformanceTests/LargeConstants_ctx.eventb','-pp', '../prob_examples/public_examples/EventBPrologPackages/PerformanceTests/LargeConstants_ctx_internal.mch'],'Check that set comprehensions converted properly').
1501 cli_testcase(990, [b_test,smt_test], ['-evalt', 'ran(%v0.(v0: 0..30001 | v0)) = 0..30001', '-p', 'SMT', 'TRUE', '-strict'],'Checking non-regresson against issue reported by Medeiros Jr on 28.1.2013').
1502 cli_testcase(991, [tickets,csp_test], ['../prob_examples/public_examples/CSP/Tickets/RecursiveInclude/Procs.csp', '-mc', 100000, '-t', '-strict'], 'Testing of recursive and local (by means of no absolute path files must be given in order to include a CSP model to another CSP model) including for CSP models.').
1503 cli_testcase(992, [b_test], ['-evalt', '{x| x = x mod 33 & x = x mod 44} = 0..32', '-p', 'CLPFD', 'TRUE', '-strict'],'Ensure mod constraint propagation works').
1504 cli_testcase(993, [csp_test], ['../prob_examples/examples/CSP/Kharmeh_PhD/4-isa-system-evaluation.csp', '-mc', 2000, '-cc', 264, 430, '-strict'],'Non trivial test case'). % changed from -cc 265 431 after adding more normalisation rules
1505 cli_testcase(994, [b_test,case], ['../prob_examples/public_examples/B/FeatureChecks/CaseStmt.mch', '-t', '-mc', 200, '-cc', 4, 13, '-strict'],'Check case statement with else').
1506 cli_testcase(995, [laws,rel_fnc], ['../prob_examples/public_examples/B/Laws/FunLawsWithLambda.mch', '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict','-p', 'MEMO', 'TRUE', '-p', 'CLPFD', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Laws this time with MEMO and CLPFD').
1507 cli_testcase(996, [b_test,smt_test], ['-evalt', '{x|x/2 : 20..30} = 40..61', '-evalt', '{x|x/20 : 22..23} = 440..479', '-evalt', 'ran(%v0.(v0: 0..20000 | [v0 mod 2/1,v0 mod 4/2,v0 mod 8/4,v0 mod 16/8,v0 mod 32/16,v0 mod 64/32,v0 mod 128/64])) = 1..7 --> 0..1', '-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE', '-strict'],'Ensure division constraint propagation works').
1508 cli_testcase(997, [csp_test,refusal_trace_refinement,refinement], ['../prob_examples/public_examples/CSP/RefusalBasedRefinement/RefusalBasedRefinement_simple.csp', '-assertions', '-strict'],'Simple test case for refusal based refinement checking (CSP).').
1509 cli_testcase(998, [csp_test,refusal_trace_refinement,refinement], ['../prob_examples/public_examples/CSP/RefusalBasedRefinement/RefTestRoscoeBook.csp', '-assertions', '-strict'],'Test case for refusal based refinement checking (CSP) from Roscoe\'s book. Note: Difference in the results delivered by FDR and ProB of the commented out assertion "P2 [R= P1".').
1510 cli_testcase(999, [eventb_test], ['../prob_examples/public_examples/B/Tickets/197/robot_ctx02_ctx.eventb', '-init', '-properties', '-p', 'DEFAULT_SETSIZE', 2, '-strict'],'Check WD Axiom loading').
1511 cli_testcase(1000, [b_test,union,card], ['-evalt', 'x \\/ y \\/ z <: 1011..1013 & card(x) > card(y) & card(y)>card(z)', '-evalt', '{x,y,z|x \\/ y \\/ z <: 21011..21012 & card(x) > card(y) & card(y)>card(z)} = {(({21011,21012}|->{21011})|->{}),(({21011,21012}|->{21012})|->{})}', '-p', 'CLPFD', 'TRUE', '-strict'], 'Ensure that domains propagated to union arguments.').
1512 cli_testcase(1001, [b_test,union,card], ['-evalt', '{x|x <| [1,2,3] = [1,2] & card(x)=2} = {{1,2}}',
1513 '-evalt', 'x <| s = [1,2,3] \\/ {29|->29} & x <: 1..1000 & s = %i.(i:1..300|i)',
1514 '-evalt', 's |> x = [1,2,3] \\/ {29|->29} & x <: 1..1000 & s = %i.(i:1..300|i)',
1515 '-evalt', '{x| [1,4,3]|>x = [1,4] & card(x)=2}={{1,4}}',
1516 '-evalf', 's |> x = [1,2,3] \\/ {29|->29} & x <: 2..3000 & s = %i.(i:1..900|i) ',
1517 '-evalt', '{x|#s.(x <| s = [1,2,3] \\/ {29|->29} & x <: 1..30 & s = %i.(i:1..300|i))} = {{1,2,3,29}}',
1518 '-evalt', '{z,x|[1,2,z] |>> x = [1,2] & z:12..13 & x<:11..12}={(12|->{11,12}),(12|->{12})}',
1519 '-evalt', 'x <<| [11,12,13,14,z] = [11,12,13,14] & z:12..13 ',
1520 '-evalt', 'x <| [111,222,333,444,555] = [111,222,333,444]',
1521 '-evalt', 'x <<| [111,222,333,444,555] = [111,222,333,444]',
1522 '-evalt', '[111,222,333,444,555] |>x = [111,222,333,444]',
1523 '-evalt', '[111,222,333,444,555] |>>x = [111,222,333,444]',
1524 '-evalt', '{x|{x} <<| [111,222,333,444,555,666] = [111,222,333,444,555]} = {6}',
1525 '-evalt', '{x| [111,222,333,444,555,666] |>> {x} = [111,222,333,444,555]} = {666}',
1526 '-evalt', '{x| {x} <| [111,222,333,444,555,666] = {5|->555}} = {5}',
1527 '-evalt', '{x| [111,222,333,444,555,666] |> {x} = {5|->555}} = {555}',
1528 '-evalt', '{x| [111,222,333,444,555,555] |> {x} = {5|->555,6|->555}} = {555}',
1529 '-p', 'CLPFD', 'TRUE', '-strict'], 'Ensure that domain/range restriction properly treated.').
1530 cli_testcase(1002, [cbc,private], ['-p', 'CLPFD', 'TRUE', '-p', 'MAXINT', 127, '-p', 'MININT', -128,
1531 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bank-Extraer_SP_29.prob',
1532 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bancoG-Withdraw_NR_22.prob',
1533 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-LoadMemory_SP_11.prob',
1534 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-LoadMemory_SP_12.prob'
1535 %,'-expcterr', 'eval_string_enum_warning'
1536 ], 'SetLog tests now succeeding tests').
1537 cli_testcase(1003, [cbc,private], ['-p', 'CLPFD', 'TRUE', '-p', 'MAXINT', 127, '-p', 'MININT', -128,
1538 %sc
1539 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/sc-SCAddCat_SP_4.prob',
1540 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/sc-SCAddCat_SP_22.prob',
1541 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/sc-SCSetLevel_DNF_3.prob',
1542 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/sc-SCSetSC_DNF_3.prob',
1543 %bank
1544 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bank-CerrarCaja_SP_12.prob',
1545 %banco G
1546 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bancoG-Withdraw_NR_18.prob',
1547 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bancoG-Withdraw_NR_2.prob',
1548 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bancoG-Withdraw_NR_24.prob',
1549 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bancoG-Withdraw_NR_25.prob',
1550 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bancoG-Withdraw_NR_4.prob',
1551 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bancoG-Withdraw_NR_5.prob',
1552 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bancoG-Withdraw_NR_8.prob',
1553 %qsee
1554 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-LoadMemory_SP_10.prob',
1555 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-LoadMemory_SP_9.prob',
1556 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-TransmitMemoryDumpAux_SP_6.prob',
1557 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-TransmitMemoryDumpAux_SP_8.prob',
1558 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-TransmitMemoryDumpOk21_SP_3.prob',
1559 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-TransmitMemoryDumpOk21_SP_6.prob',
1560 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-TransmitMemoryDumpOk21_SP_8.prob',
1561 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-TransmitScientificData_SP_16.prob',
1562 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-TransmitScientificData_SP_24.prob',
1563 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-TransmitScientificData_SP_8.prob',
1564 %plavis ; two more missing
1565 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-TransData_SP_45.prob',
1566 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-TransData_SP_52.prob',
1567 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-MemoryLoad_SP_55.prob',
1568 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-RetrieveEData_SP_23.prob',
1569 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-TransData_SP_13.prob',
1570 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-TransData_SP_24.prob',
1571 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-TransData_SP_3.prob',
1572 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-TransData_SP_31.prob',
1573 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-TransData_SP_38.prob',
1574 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-TransData_SP_39.prob',
1575 % iae
1576 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/iae-DetectReferenceEvent_NR_103.prob',
1577 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/iae-DetectReferenceEvent_NR_146.prob',
1578 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/iae-DetectReferenceEvent_NR_148.prob',
1579 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/iae-DetectReferenceEvent_NR_149.prob',
1580 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/iae-DetectReferenceEvent_NR_18.prob',
1581 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/iae-DetectReferenceEvent_NR_56.prob',
1582 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/iae-DetectReferenceEvent_NR_58.prob',
1583 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/iae-DetectReferenceEvent_NR_59.prob',
1584 % sensors
1585 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/sensors-KeepMaxReading_SP_5.prob'
1586 %,'-expcterr', 'eval_string_enum_warning'
1587 ], 'SetLog tests some originally succeeding tests').
1588 cli_testcase(1004, [cbc_refinement,refinement], ['../prob_examples/public_examples/EventBPrologPackages/RefinementChecking/CCounterErr_mch.eventb', '-cbc_refinement', '-expcterr', cbc_refinement], '').
1589 cli_testcase(1005, [cbc_refinement,refinement], ['../prob_examples/public_examples/EventBPrologPackages/RefinementChecking/CCounter_mch.eventb', '-cbc_refinement'], '').
1590 cli_testcase(1006, [cbc_refinement,refinement], ['../prob_examples/public_examples/EventBPrologPackages/RefinementChecking/CEnterLeave_mch.eventb', '-cbc_refinement'], '').
1591 cli_testcase(1007, [cbc_refinement,refinement], ['../prob_examples/public_examples/EventBPrologPackages/RefinementChecking/CEnterLeaveErr1_mch.eventb', '-cbc_refinement', '-expcterr', cbc_refinement], '').
1592 cli_testcase(1008, [cbc_refinement,refinement], ['../prob_examples/public_examples/EventBPrologPackages/RefinementChecking/CEnterLeave_Rename_mch.eventb', '-cbc_refinement'], '').
1593 cli_testcase(1009, [cbc_refinement,refinement], ['../prob_examples/public_examples/EventBPrologPackages/RefinementChecking/CMergeErr_mch.eventb', '-cbc_refinement', '-expcterr', cbc_refinement, '-p', 'CLPFD', 'TRUE'], '').
1594 cli_testcase(1010, [cbc_refinement,refinement], ['../prob_examples/public_examples/EventBPrologPackages/RefinementChecking/CMerge_mch.eventb', '-cbc_refinement'], '').
1595 cli_testcase(1011, [cbc_refinement,refinement], ['./distribution_examples/Refinement/ServerR.ref', '-cbc_refinement'], '').
1596 cli_testcase(1012, [cbc_refinement,refinement], ['./distribution_examples/Refinement/ServerR_wrong.ref', '-cbc_refinement' %, '-expcterr', cbc_refinement % this is actually a correct refinement in B; changed 26.6.2025
1597 ], 'check CBC refinement does not find counter example').
1598 cli_testcase(1013, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/ConcreteVars/MI.imp', '-cbc_refinement'], 'CBC refinement check on implementation').
1599 cli_testcase(1014, [b_test], ['../prob_examples/public_examples/B/Mathematical/FibMemo.mch', '-mc', 120, '-p', 'CLPFD', 'TRUE', '-strict', '-expcterr', 'deadlock', '-cc', 100, 99], 'Test that no CLPFD overflow occurs'). % no warning is generated for clpfd overflows at the moment; so the test is not really that useful
1600 cli_testcase(1015, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/Copy/ReturnEqualI.imp', '-cbc_refinement'], '').
1601 cli_testcase(1016, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/Division/DivisionImplOk.imp', '-cbc_refinement'], '').
1602 cli_testcase(1017, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/Division/DivisionImplWrongCondition.imp', '-cbc_refinement', '-expcterr', cbc_refinement], '').
1603 cli_testcase(1018, [b_test,refinement], ['../prob_examples/public_examples/B/RefinementChecking/Schedular/Schedular1.mch', '-refchk', '../prob_examples/public_examples/B/RefinementChecking/Schedular/Schedular0_refine_spec.P', '-expcterr', 'refinement_check_fails', '-strict'], 'Checking for expected refinement error. Example taken from the paper: Automatic Refinement Checking for B.').
1604 cli_testcase(1019, [cbc_refinement,refinement], ['../prob_examples/public_examples/B/Implementations/FTP/FileTransfer1.ref', '-cbc_refinement'], '').
1605 cli_testcase(1020, [cbc_refinement,refinement], ['../prob_examples/public_examples/B/Implementations/FTP/FileTransfer2.ref', '-cbc_refinement'], '').
1606 cli_testcase(1021, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/Mul/MulImp.imp', '-cbc_refinement'], '').
1607 cli_testcase(1022, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/Mul/MulImpErr.imp', '-cbc_refinement', '-expcterr', cbc_refinement], '').
1608 cli_testcase(1023, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/Power/AExpBImpl.imp', '-cbc_refinement'], '').
1609 cli_testcase(1024, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/Simple10/Simple10Imp.imp', '-cbc_refinement'], '').
1610 cli_testcase(1025, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/Simple10/Simple10ImpErr.imp', '-cbc_refinement', '-expcterr', cbc_refinement, '-p', 'CLPFD', 'TRUE'], '').
1611 cli_testcase(1026, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/Simple10/Simple10ImpErr2.imp', '-cbc_refinement', '-expcterr', cbc_refinement], '').
1612 cli_testcase(1027, [cbc_refinement,refinement], ['../prob_examples/public_examples/B/RefinementChecking/ServerR.ref', '-cbc_refinement'], '').
1613 cli_testcase(1028, [cbc_refinement,refinement], ['../prob_examples/public_examples/B/RefinementChecking/ServerR_wrong.ref', '-cbc_refinement'
1614 %, '-expcterr', cbc_refinement
1615 ], ''). % duplicate of test 1012
1616 cli_testcase(1029, [cbc_refinement,refinement], ['../prob_examples/public_examples/B/RefinementChecking/SwapR.ref', '-cbc_refinement'], '').
1617 cli_testcase(1030, [b_test,infinite,sequences, theories], ['../prob_examples/public_examples/B/FunctionalProgramming/SequenceTheory.mch', '-t', '-assertions'], 'Check infinite functions and sets').
1618 cli_testcase(1031, [b_test,card], ['../prob_examples/public_examples/B/FeatureChecks/DeferredSetAndConstants.mch', '-init',
1619 '-evalt', 'ID3=3 & ID1:ID2 & ID0:ID2 & (xx=ID5 => not(xx=ID6)) & (xx=ID6 => not(xx=ID5))'],'Check that name clashes between deferred set ids and other ids handled gracefully').
1620 cli_testcase(1032, [csp_test,refusal_trace_refinement,refinement], ['../prob_examples/public_examples/CSP/RefusalBasedRefinement/RefusalBasedRefinement_DIV.csp', '-assertions', '-strict'],'Simple test case for refusals-divergence based refinement checking (CSP).').
1621 cli_testcase(1033, [dot], ['../prob_examples/public_examples/B/Benchmarks/scheduler.mch', '-bf', '-mc', 1000, '-strict', '-dotexpr', transition_diagram, 'card(active)',
1622 '../prob_examples/public_examples/B/Benchmarks/scheduler_transition_diagram.dot',
1623 '-p', 'DOT_LOOPS', 'FALSE' % added 7/11/2023
1624 ],'Check Transition Diagram for Expression.').
1625 cli_testcase(1034, [tickets], ['../prob_examples/public_examples/B/Tickets/leuschel4/SetBecomeElementOf.mch', '-t'], 'check no error with ::').
1626 cli_testcase(1035, [tickets], ['../prob_examples/public_examples/B/Tester/SubstSetInTests.mch', '-t', '-p', 'CLPFD' ,'TRUE', '-p', 'SYMBOLIC', 'TRUE'], 'check no error with ::').
1627 cli_testcase(1036, [tickets,smt_test], ['../prob_examples/public_examples/B/PerformanceTests/LargeRelationSetTests.mch', '-t', '-p', 'CLPFD' ,'TRUE', '-p', 'SMT', 'TRUE', '-p', 'SYMBOLIC', 'TRUE'], 'check no residue in symbolic mode due to lambda_res projected away').
1628 cli_testcase(1037, [b_test], ['-evalt', '{x|x**4 = 160000}={-20,20}', '-evalt', '{x|x**3 = -125000} = {-50}', '-evalt', 'x**4 = y & y=160000', '-evalt', '{x,y|x**4 = y & y:140000..160004}={(-20|->160000),(20|->160000)}', '-p', 'CLPFD', 'TRUE', '-strict'], 'Ensure exponentation constraint propagation.').
1629 cli_testcase(1038, [b_test], ['-evalt', 'x mod 100000 >= 99999',
1630 '-evalf', 'x mod 100000 > 99999',
1631 '-evalt', '(x+2) mod 100000 >= 99999',
1632 '-evalt', '(x-2) mod 100000 >= 99999 & x>2',
1633 '-evalt', '{x,y|x mod y = x & y : 10..11 & x>0 & x+3>y}={(8|->10),(9|->10),(9|->11),(10|->11)}',
1634 '-evalt', 'x:NATURAL & x mod 10000 = 9999',
1635 '-evalt', 'x:NATURAL & x mod 10000 = 998',
1636 '-evalf', 'x:NATURAL & x mod 10000 = 10000',
1637 '-evalf', 'x:NATURAL & x mod 10000 = 10001',
1638 '-evalt', '{X|X:1..20 & X**8 = 256} = {2}',
1639 '-evalt', '{X|X:1..20 & X**9 = 256} = {}',
1640 '-evalt', '{X,Y,Z|X:1..20 & Y : 8..9 & Z : 255..513 & X**Y = Z} = {(2,8,256),(2,9,512)}',
1641 '-evalt', '{X,Y,Z|X:1..20 & Y : 8..9 & Z : 1..513 & X**Y = Z} = {((1|->8)|->1),((1|->9)|->1),((2|->8)|->256),((2|->9)|->512)}',
1642 '-p', 'CLPFD', 'TRUE', '-strict'
1643 %, '-expcterr', eval_string_enum_warning
1644 ], 'Ensure modulo constraint propagation.').
1645 cli_testcase(1039, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/MaxDevelopment/MaxImp.imp', '-cbc_refinement'], '').
1646 cli_testcase(1040, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/MaxDevelopment/MaxImpVector.imp', '-cbc_refinement'], '').
1647 cli_testcase(1041, [cbc_refinement,wd,refinement], ['../prob_examples/public_examples/B/Implementations/MaxDevelopment/MaxR.ref', '-cbc_refinement', '-expcterr', 'well_definedness_error'], 'Max is applied to an empty set here - wd error in constraint solver').
1648 cli_testcase(1042, [cbc_refinement,refinement], ['../prob_examples/public_examples/B/Implementations/MaxDevelopment/MaxR2.ref', '-cbc_refinement'], '').
1649 cli_testcase(1043, [operation_reuse], ['../prob_examples/public_examples/B/Benchmarks/CAN_BUS_tlc.mch', '-mc', '1000000', '-bf', '-p', 'OPERATION_REUSE', 'full', %'-p', pge, full,
1650 '-get_coverage_information', '../prob_examples/public_examples/B/Benchmarks/CAN_BUS_tlc.cov',
1651 '-strict'],
1652 'Testing for identical coverage information after the PGE optimization.').
1653 cli_testcase(1044, [operation_reuse], ['../prob_examples/public_examples/B/EventB/EventB_Projekt/lift_solution.mch', '-mc', '1000000', '-bf', '-p', 'OPERATION_REUSE', 'full', %'-p', pge, full,
1654 '-p', timeout_cbc_analysis, 60000, '-get_coverage_information', '../prob_examples/public_examples/B/EventB/EventB_Projekt/lift_solution_Coverage_pge.txt', '-strict'], 'Testing for identical coverage information after the PGE optimization.').
1655 cli_testcase(1045, [operation_reuse,private], ['../prob_examples/examples/RodinModels/Deploy/Bosch/CruiseControl/CrsCtl_m4.eventb', '-mc', '1000000', '-bf',
1656 '-p', 'OPERATION_REUSE', 'TRUE', %-p', pge, full,
1657 '-get_coverage_information', '../prob_examples/examples/RodinModels/Deploy/Bosch/CruiseControl/CrsCtl_m4_Coverage_pge.txt', '-strict', '-expecterr', 'model_check_incomplete'], 'Testing for identical coverage information after the PGE optimization.').
1658 cli_testcase(1046, [por], ['../prob_examples/public_examples/B/Ivo/PruningActionsTest2.mch', '-mc', '1000000', '-noinv', '-p', 'por', ample_sets, '-expcterr', deadlock, '-strict'], 'POR test (deadlock).').
1659 cli_testcase(1047, [por], ['../prob_examples/public_examples/B/Ivo/ActivatingDepAction.mch', '-mc', '1000000', '-nodead', '-p', 'por', ample_sets, '-expcterr', invariant_violation, '-strict'], 'POR test (invariant violation).').
1660 cli_testcase(1048, [eventb_test], ['../prob_examples/public_examples/B/Tickets/Georghe1/seq_m_mch_concrete_constants.eventb', '-mc', '100', '-expecterr', 'deadlock', '-expecterr', 'event_error:append:action_not_executable'], 'Can now also be initialized with ProB and enumeration_warning exception detection.').
1661 cli_testcase(1049, [eventb_test], ['../prob_examples/public_examples/B/Tickets/Georghe1/seq_m_mch_abstract_constants.eventb', '-mc', '100', '-expecterr', 'deadlock', '-expecterr', 'event_error:append:action_not_executable'], 'Same as 1048, no with abstract constants - should not time out').
1662 cli_testcase(1050, [eventb_test,cbc,private], ['../prob_examples/examples/EventBPrologPackages/Advance_WP2/SubstationMeter_2603_2013.eventb', '-cbc', 'all', '-strict'], 'Test that proof info correctly used; machine fully proven.').
1663 cli_testcase(1051, [laws], ['../prob_examples/public_examples/B/Laws/FinitenessLaws.mch', '-init', '-assertions', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE', '-p', 'CLPFD', 'TRUE'], 'Various laws about finitness of sets.').
1664 cli_testcase(1052, [eventb_test,cbc,infinite,private], ['../prob_examples/examples/EventBPrologPackages/Advance_WP2/SubstationMeter_finite_mch.eventb', '-strict', '-mc', 50, '-p', 'CLPFD', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Test multi-level animation.').
1665 % generates many "Keeping comprehension-set symbolic" messages due to assignment in confirm event:
1666 % quoted := quoted |>> {a|->c|->d|->e|a : NAT & (c : NAT1 & (d : NAT1 & (e : NAT & a = prj1(INTEGER,INTEGER)(prj1(INTEGER*INTEGER,INTEGER)(prj1((INTEGER*INTEGER)*INTEGER,INTEGER)(quoted(reqid)))))))}
1667 cli_testcase(1054, [b_test, let], ['../prob_examples/public_examples/B/FeatureChecks/NestedAnys.mch', '-t', '-mc', 100, '-cc', 6, 7], 'Check LET extraction').
1668 cli_testcase(1055, [csp_test,refinement], ['../prob_examples/public_examples/CSP/ucsexamples/chapter04/abp.csp','-assertions','-strict'], 'Checking CSP-M assertions.').
1669 cli_testcase(1056, [csp_test,refusal_trace_refinement,refinement], ['../prob_examples/public_examples/CSP/other/Williams/vg.csp','-assertions','-strict'], 'Checking CSP-M assertions of refusal trace refinements.').
1670 cli_testcase(1057, [tickets], ['../prob_examples/public_examples/B/Tickets/LoopPartition/bug.eventb', '-init','-expecterr', %'setup_constants_fails'
1671 'setup_constants_inconsistent' % with changes from May 15th 2026 we now get PARTIAL_SETUP_CONSTANTS solutions
1672 ], 'Check that partition(SET,{A},{B},{A,B}) does not lead to a loop in find_inequal_global_set_identifiers').
1673 cli_testcase(1058, [csp_test,refusal_trace_refinement,refinement], ['../prob_examples/public_examples/CSP/Tickets/WilliamsCSP/protocol_short.csp','-assertions','-t','-strict'], 'Expanding partial constructors inside of closures (see declaration: Network_Data_Fwd = {| CData |} in file).').
1674 cli_testcase(1059, [b_test,card], ['-evalt', '{X,F|bool(X /\\ {1} = {} & X \\/ {1} = 1..50000)=F & F:{TRUE,FALSE} & F=bool({1} <: {2,1})} = { (2..50000,TRUE) }',
1675 '-evalt', '{X,F|bool(X /\\ {1} = {} & X \\/ {1} = 1..50000)=F & F:{TRUE,FALSE} & F=bool({1} <: {2,1})} <<: { (2..50000,TRUE), ({},TRUE) }',
1676 '-evalt', 'card(%(X,F).(bool(X /\\ {1} = {} & X \\/ {1} = 1..50000)=F & F:{TRUE,FALSE} & F=bool({1} <: {2,1})|F))=1',
1677 '-evalt', '{X| X /\\ {1} = {} & X \\/ {1} = 1..20} = {2..20}'], 'Check partition detection inside expressions').
1678 cli_testcase(1060, [b_test], ['../prob_examples/public_examples/B/FeatureChecks/PartitionDetection.mch', '-t'], 'Check partition detection inside substitutions').
1679 cli_testcase(1061, [b_test], ['-evalt', '#f.(f : 1..11 --> 1..10 & dom(f~) = 1..10)', '-evalt', '#f.(f:1..49 -->> 1..49)', '-evalf', '#f.(f:1..19 -->> 1..20)',
1680 '-evalt', '#f.(f : 1..10 --> 1..10 & ran(f) = 1..10)'],'Check that range/domain/-->> scale properly').
1681 cli_testcase(1062, [b_test,infinite], ['-evalt', '#(i,f).(i = %x.(x:INTEGER|x+1) & f = (i;i;i;i;i;i;i;i) & 2008 = f(2000))', '-evalt', '#(i,f).(i = %x.(x:INTEGER|x*x) & f = (i;i) & f[{1,2,4,8,101}]={1,2**4,4**4,8**4,104060401})',
1682 '-evalt', '#(i,m,f).(i = %x.(x:INTEGER|x+1) & m = %y.(y:NATURAL|y*y) & f = (i;m;i) & 1+2001**2 = f(2000))',
1683 '-evalt', 'i = %(x,y).(x:INTEGER&y:INTEGER|x+y) & m = %y.(y:NATURAL|y*y) & f = (i;m) & 2500 = f(20,30)',
1684 '-evalt', 'i = %(x,y).(x:INTEGER&y:INTEGER|x+y) & m = %y.(y:NATURAL1|bool(y>100)) & f = (i;m) & TRUE = f(20,90)',
1685 '-evalt', 'poly = %(x,y,z).(x:INTEGER&y:INTEGER&z:INTEGER|x*x+y*y+z*z) & dec = %v.(v:NATURAL1|v-1) & f = (poly ; dec) & f(1,2,3)=13',
1686 '-evalt', 'max0 = %x.(x<:INTEGER|max(x)-1) & inc = %v.(v:INTEGER|v+1) & m = (max0;inc) & m(1..100 \\/ {4321})=4321',
1687 '-evalt', 'max0 = %x.(x<:INTEGER|max(x)-2) & inc = %v.(v:INTEGER|v+1) & is=%s.(s<:INTEGER|inc[s]) & m = (is;max0;inc) & m(1..100 \\/ {4321})=4321'
1688 ],'Check that relational composition of infinite function works').
1689 cli_testcase(1063, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/FeatureTests/ThmInGuard_mch.eventb', '-mc', 100, '-strict', '-expcterr', 'model_check_incomplete'], 'Test that theorem in guards can be loaded.').
1690 cli_testcase(1064, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/FeatureTests/EventWithSlash_mch.eventb', '-mc', 100, '-expcterr', invariant_violation, '-strict'], 'Test that slash in Event Name does not cause problems.').
1691
1692 cli_testcase(1065, [b_test], ['-evalt', '{X,Y,Z,V,W,A,B,C} = {1,2,3,4,5,6,7,8} & X>Y & Y>Z & Z>V & V>W & W>A & A>B & B>C',
1693 '-evalf', '{X,Y,Z,V,W,A,B,C} = {1,2,3,4,5,7,8} & X>Y & Y>Z & Z>V & V>W & W>A & A>B & B>C'], 'Test that constraint propagation for set extension works').
1694
1695 cli_testcase(1066, [b_test,wd], ['../prob_examples/public_examples/B/Mathematical/GCD.mch', '-init',
1696 '-p', 'CLPFD', 'TRUE', '-p', 'MAXINT', 128,
1697 '-evalt', 'half(201)=100',
1698 '-evalnwd', 'gcd({10,15})', % this one is not well defined
1699 '-evalt', 'gcdc({1000,750})=250'], 'Check that expression values enumerated'). % gcd({10,15}) requires enumeration of result value
1700
1701 cli_testcase(1067, [cbc,cbc_tests], ['../prob_examples/public_examples/B/Benchmarks/scheduler.mch', '-cbc_sequence', 'new;del', '-cbc_sequence', 'new;ready', '-cbc_sequence', 'new;ready,swap'], 'Check that constraints can be solved').
1702 cli_testcase(1068, [cbc,cbc_tests], ['../prob_examples/public_examples/B/Benchmarks/scheduler.mch', '-cbc_sequence', 'new;del;del', '-expcterr', cbc_sequence_no_solution_found], 'Check that constraints cannot be solved').
1703 cli_testcase(1069, [cbc,cbc_tests], ['../prob_examples/public_examples/B/Benchmarks/scheduler.mch', '-cbc_tests', 3, '1=1', '../prob_examples/public_examples/B/Benchmarks/scheduler_cbc_tests.xml'], 'Check that full coverage can be achieved').
1704 cli_testcase(1070, [cbc,cbc_tests], ['../prob_examples/public_examples/B/TestCaseGeneration/InvolvedSequences.mch', '-cbc_sequence', 'BookFlight;BookHotel;BookReturnFlight', '-cbc_sequence', 'BookFlight;BookReturnFlight;BookHotel;BookHotel'], 'Check that constraints can be solved').
1705 cli_testcase(1071, [cbc,cbc_tests], ['../prob_examples/public_examples/B/TestCaseGeneration/InvolvedSequences2.mch', '-cbc_sequence', 'Op1;Op2;Op3;Target3', '-p', 'CLPFD', 'TRUE'], 'Check that constraints can be solved').
1706 cli_testcase(1072, [cbc,cbc_tests], ['../prob_examples/public_examples/B/TestCaseGeneration/InvolvedSequences2.mch', '-cbc_tests', 2, '1=1', '../prob_examples/public_examples/B/TestCaseGeneration/InvolvedSequences2_cbc_tests.xml', '-p', 'CLPFD', 'TRUE', '-expcterr', 'cbc_tests'], 'Check that coverage cannot be achieved').
1707 cli_testcase(1073, [cbc,cbc_tests], ['../prob_examples/public_examples/B/TestCaseGeneration/InvolvedSequences2.mch', '-cbc_tests', 4, '1=1', '../prob_examples/public_examples/B/TestCaseGeneration/InvolvedSequences2_cbc_tests.xml', '-p', 'CLPFD', 'TRUE'], 'Check that full coverage can be achieved').
1708 cli_testcase(1074, [cbc,tla,smt_test,cbc_tests], ['../prob_examples/public_examples/TLA/SumAndProduct/Merz/SumAndProductTransition.tla', '-cbc_sequence', 'Step2;Step3;Step4', '-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE' ], 'Check cbc sequence on TLA example').
1709 cli_testcase(1075, [b_test], ['../prob_examples/public_examples/B/PerformanceTests/SetLogInefficiencies4.mch', '-init', '-p', 'CLPFD', 'TRUE', '-p', 'MAXINT', 128, '-assertions'], 'Check that ProB deals well with certain examples which Setlog cannot deal with').
1710 cli_testcase(1076, [b_test], ['../prob_examples/public_examples/B/FeatureChecks/VariableCaptureComprSet.mch', '-cbc' ,'all', '-expcterr', 'cbc', '-assertions', '-p', 'CLPFD', 'TRUE', '-mc', 100, '-expcterr', 'invariant_violation'], 'Check that variable capture problems do not confuse ProB').
1711
1712 cli_testcase(1077, [b_test,closure1,card], ['-evalt', '{y|#(r,r2).({x,y|x<y} = r & r2 = (r;r) & 20|->y : r2 & y|->25 : r2)} = (22..23)',
1713 '-evalf', '{y|#(r,r2).({x,y|x<y} = r & r2 = (r;r) & 20|->y : r2 & y|->25 : r2)} = (22..24)',
1714 '-evalt', 'f = %x.(x:NATURAL|x+x) & f2 = (f;f) & i = f2[1..n] & card(i)=n & min(i)=4 & max(i)=4*n & n=5000',
1715 '-evalt', 'f = %x.(x:NATURAL|x+x) & f2 = (f;f) & f4 = (f2;f2) & i = f4[1..n] & card(i)=n & min(i)=16 & max(i)=16*n & n=2000',
1716 '-evalt', 'f = %x.(x:NATURAL|x+x) & f2 = (f;f) & r1 = {x,y|x:1..n & y:{x,x+1}} & comp = {x,z|#y.(x|->y:r1 & y|->z:f2)} & comp2 = (r1 ; f2) & comp=comp2 & n=1000 & card(comp2) = 2*n & max(ran(comp2))=4*(n+1)',
1717 '-evalt', 'half = {x,y|y+y=x} & card(half[1024 .. xx] \\/ (closure1(half) ; half)[1024 .. xx])=10 & xx=1024',
1718 '-p', 'SYMBOLIC', 'TRUE', '-p', 'CLPFD', 'TRUE'
1719 , '-p', 'TIME_OUT', 7000 % TEMPORARILY INCREASE TIME OUT: TO DO investigate why r1 = {x,y|x:1..n & y:{x,x+1}} & comp = {x,z|#y.(x|->y:r1 & z=y+y+y+y)} & n=1000 & max(ran(comp))=4*(n+1) is much slower since frozen_dif_aux checks for int_plus4
1720 ], 'Test that symbolic relational composition works').
1721 cli_testcase(1078, [private,data_validation], ['../prob_examples/examples/B/Systerel/PerformanceIssue_Apr13/TOP3_CONC_def7_obs_original.mch', '-init' ,'-aa', 0,1,0, '-p', 'SYMBOLIC', 'TRUE'], 'Check that performance issue related to symbolic relational composition solved').
1722 cli_testcase(1079, [cbc,smt_test], ['../prob_examples/public_examples/TLA/SumAndProduct/Merz/SumAndProductCst.mch', '-assertions', '-init', '-det_check', '-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE' , '-p' ,'TIME_OUT', 12000], 'Check solving on example with nested set comprehensions').
1723 cli_testcase(1080, [b_test,closure1], ['../prob_examples/public_examples/B/Laws/RelClosureLaws.mch', '-init' ,'-assertions', '-p', 'CLPFD', 'TRUE'], 'Check various assertions about relational composition and closure1').
1724 cli_testcase(1081, [b_test,closure1], ['../prob_examples/public_examples/B/Laws/RelClosureLaws.mch', '-t', '-p', 'CLPFD', 'TRUE', '-mc', 20, '-nogoal', '-nodead', '-expcterr', 'model_check_incomplete'], 'Check various assertions about relational composition and closure1').
1725 cli_testcase(1082, [csp_test], ['../prob_examples/public_examples/CSP/Tickets/TUBerlin/Interleaving.csp','-assertions','-strict'], 'Checking CSP-M assertions.').
1726 cli_testcase(1083, [tickets,data_validation], ['-evalt', 'adii = %ii.(ii : INTEGER +-> {FALSE,TRUE}|(ii |>> {FALSE})) & afq = {y,z|z : BOOL & (y : {(0|->1)}[{m}] & z = FALSE)} & afs = adii(afq)', '-p', 'SYMBOLIC', 'TRUE',
1727 '-p', 'MEMO', 'TRUE' %, '-expcterr' , eval_string_enum_warning
1728 ],'ensure no avl_set(empty) is generated anymore').
1729 cli_testcase(1084, [cbc,card], ['-evalt', 'r:INTEGER<->INTEGER & dom(r)=2..20',
1730 '-evalt', 'r:INTEGER<->BOOL & dom(r)=2..50',
1731 '-evalt', 'r:INTEGER<->INTEGER & ran(r)=2..50',
1732 %'-evalt', 'r:INTEGER<->INTEGER & ran(r)=2..16 & card(r)>=15',
1733 %'-evalt', 'r:INTEGER<->INTEGER & dom(r)=2..16 & card(r)>=15',
1734 '-evalt', 'r:INTEGER<->INTEGER & dom(r)=10002..10016',
1735 '-evalt', 'r:INTEGER<->INTEGER & ran(r)=10002..10016',
1736 '-evalt', 'card({r|r:INTEGER<->INTEGER & dom(r)=61..64 & card(r)=4 & ran(r) = 55..56})=14',
1737 '-evalt', 'card({r|r:INTEGER<->INTEGER & dom(r)=9961..9964 & card(r)=4 & ran(r) = 2155..2158})=24',
1738 '-evalt', 'card({r|r:INTEGER<->INTEGER & dom(r)=61..64 & card(r)=4 & ran(r) = 155..159})=0',
1739 '-p', 'CLPFD', 'TRUE' %, '-expcterr', eval_string_enum_warning
1740 ],'ensure proper constraint-solving for domain/range').
1741 cli_testcase(1085, [b_test], ['../prob_examples/public_examples/EventBPrologPackages/Advance/DoorLockSystem/LOCKSR2_mch.eventb', '-mc', 100, '-cc', 24, 32, '-vacuity_check', '-expcterr', vacuity_check, '-strict'], 'Checking vacuity_check command').
1742 cli_testcase(1086, [csp_test, cbc], ['../prob_examples/public_examples/CSP/clpfd_tests/SetComprehensionCBC.csp','-p', 'CLPFD', 'TRUE', '-assertions','-strict', '-p', 'TIME_OUT', 7500], % increase timeout for windows and gitlab
1743 'Checking CSP-M assertions (CBC test case).'). % was skipped in 2013 188167bc320f854a4634146299c3f19278047c8e
1744 cli_testcase(1087, [b_test,infinite], ['../prob_examples/public_examples/B/PerformanceTests/InfiniteIntersection.mch', '-p', 'CLPFD', 'TRUE', '-init', '-assertions'], 'Check we can take intersection with infinite sets').
1745 cli_testcase(1088, [cbc,smt_test], ['../prob_examples/public_examples/B/Benchmarks/phonebook7.mch','-p', 'CLPFD', 'TRUE',
1746 '-p', 'TIME_OUT', 5000, % increased time-out after change of pfun enumeration priority; TO DO: fix
1747 '-p', 'SMT', 'TRUE', % added SMT option after adding wait flag for propagate_result_to_input in domain_wf in bsets_clp
1748 '-cbc', 'all','-strict'], 'Check that we do not time-out (due to delaying normalisation of variables).').
1749 cli_testcase(1089, [b_test], ['../prob_examples/public_examples/B/PerformanceTests/InfiniteIntersection2.mch', '-p', 'CLPFD', 'TRUE', '-p', 'SYMBOLIC', 'FALSE','-init', '-assertions'], 'Check ProB now detects even/odd automatically as symbolic').
1750 cli_testcase(1090, [b_test,infinite,sigma,union], [
1751 '-evalt', 'f = {x,y,z| x*x + y*y = z*z} & {y|(3,4,y):f} = {-5,5}',
1752 '-evalt', 's = {x,y,z| z:seq(NATURAL) & x^y=z} & {v|([1111,2222,3333,4444],[99999,8888],v):s} = {[1111,2222,3333,4444,99999,8888]}',
1753 '-evalt', 's = {x,y| x<:POW(NATURAL) & union(x)=y & SIGMA(z).(z:y|z)>1000} & s({{890},{},{1,199}}) = res & SIGMA(v).(v:res|v)=1090',
1754 '-p', 'CLPFD', 'TRUE'],'ensure ProB detects certain relations as infinite automatically').
1755 cli_testcase(1091, [csp_test, csp_det,refinement], ['../prob_examples/public_examples/CSP/Tickets/Ivo/AgentCurry.csp', '-assertions','-strict'], 'Checking CSP-M assertions (agent curry calls).').
1756 cli_testcase(1092, [csp_test, csp_det,refinement], ['../prob_examples/public_examples/CSP/ucsexamples/chapter06/commsec.csp', '-assertions','-strict'], 'Checking CSP-M assertions (agent curry calls).').
1757 cli_testcase(1093, [b_test,infinite,override,sigma,union,card], [
1758 '-evalt', 'f = %x.(x:NATURAL|x+x) & g = f <+ {0|->1} & g(0)=res0 & g(111)=res1',
1759 '-evalt', 'f = {x,y|x:NATURAL & y=x+x or y=x*x} & g = f <+ {0|->111,222|->1024} & union({res|g[{222}] =res})=rr222 & union({res|g[{1000}] =res}) = rr1000 & card(rr222)=1 & card(rr1000)=2 & SIGMA(z).(z:rr1000|z)=1002000',
1760 '-evalt', 'r1 = {x,y|x*x<y & (x+1)*(x+1)>y} & r2 = %z.(z>20|z) & r12 = r1 <+ r2 & (21,x21):r12 & {x10|10|->x10 : r12}=r10 & SIGMA(v).(v:r10|v)+x21=2231',
1761 '-evalt', 'r1 = {x,y|x*x<y & (x+1)*(x+1)>y} & r2 = %z.(z>20|z) & r21 = r2 <+ r1 & {x|21|->x : r21}=x21 & x21 = ((21*21)+1)..((22*22)-1)',
1762 '-p', 'CLPFD', 'TRUE'],'ensure symbolic treatment of override').
1763 cli_testcase(1094, [tickets, proz], ['../prob_examples/public_examples/Z/Tickets/Thompson1/System.fuzz', '-init', '-eval', 'map={}','-strict'], 'Checking CSP-M assertions (agent curry calls).').
1764 cli_testcase(1095, [b_test,cbc], ['../prob_examples/public_examples/B/BZTT/GSM_revue.mch', '-t', '-mc', 3000, '-cc', 1850, 53594, '-cbc_deadlock', '-strict', '-p', 'CLPFD', 'TRUE'], 'Checking old BZTT example.').
1765 cli_testcase(1096, [b_test,cbc,smt_test], ['../prob_examples/public_examples/B/BZTT/GSM_revue.mch', '-cbc', all, '-cbc_deadlock', '-strict', '-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE'], 'Checking old BZTT example.').
1766 cli_testcase(1097, [tickets,eventb_test], ['../prob_examples/public_examples/B/Tickets/PROB-292/MTool1__04.eventb', '-mc', 100, '-expcterr', invariant_violation, '-p', 'PROOF_INFO', 'TRUE'], 'Check that proof info not confused by event extending itself (PROB-292)').
1767 cli_testcase(1098, [tickets,tla,tlc], ['../prob_examples/public_examples/B/Tickets/Hansen4/Test.mch', '-state_trace', '../prob_examples/public_examples/B/Tickets/Hansen4/Test.tla.trace'], 'Check that state_trace works with constants').
1768 cli_testcase(1099, [b_test,card,infinite], [ '-p', 'TIME_OUT', 1500,
1769 '-evalt', 'f = /*@symbolic*/ {x,y|x:0..2**32 & x mod 2 =0 & y=x*x} & f(x) = 10000',
1770 '-evalt', 'f = /*@symbolic*/ {x,y|x:0..2**132 & x mod 2 =0 & y=x*x} & f(x) = 10000',
1771 '-evalt', 'f = /*@symbolic*/ {x,y|x:0..2**25 & x mod 2 =0 & y=x*x} & {r|f(r) = 10000}=res & card(res)=1 & #vv.(vv:res &vv=100)',
1772 '-p', 'CLPFD', 'TRUE'],'ensure detection of large set comprehensions'). % TO DO: see if we can it to work again without symbolic
1773 cli_testcase(1100, [b_test,card], [
1774 '-evalt', 'r = {(111,2222),(333,4444)} & s = (2000..2001)*{v|v>3000} & x : (r||s)',
1775 '-evalt', 'card(((1..100)*(50..60) || (2..30)*(20..22))) = 95700',
1776 '-evalt', 'card(((1..100)*(50..60) || (2..30)*(23..22)))=0',
1777 '-evalt', '(((1..10)*(50..60) || (2..30)*(23..24)))~ = (((50..60)*(1..10) || (23..24)*(2..30)))',
1778 '-evalt', 'card(((1..1000)*(50..60) || (2..30)*(20..22))) = 957000',
1779 '-evalt', 'card(((1..n)*(50..60) || (2..30)*(20..22))) = 957*n & n=10',
1780 '-p', 'CLPFD', 'TRUE' %, '-expcterr', 'eval_string_enum_warning'
1781 ],'ensure symbolic treatment of parallel product works').
1782
1783 cli_testcase(1101, [private,data_validation,infinite,union],[
1784 '../prob_examples/examples/B/Systerel/C578.EML.014/360_002.mch',
1785 '../prob_examples/examples/B/Systerel/C578.EML.014/380_002.mch',
1786 '../prob_examples/examples/B/Systerel/C578.EML.014/612_001.mch',
1787 '../prob_examples/examples/B/Systerel/C578.EML.014/019_100_corrected.mch',
1788 '../prob_examples/examples/B/Systerel/C578.EML.014/CF_TVD_8.mch',
1789 '../prob_examples/examples/B/Systerel/C578.EML.014/CF_CBTC_TER_1.mch',
1790 '../prob_examples/examples/B/Systerel/C578.EML.014/CF_ZMA_PRUD_1.mch',
1791 '../prob_examples/examples/B/Systerel/C578.EML.014/CF_ZMA_PRUD_7.mch',
1792 '-p', 'TIME_OUT', '11000', '-p', 'SYMBOLIC', 'TRUE', '-p', 'DOUBLE_EVALUATION', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', '0', '-p', 'CLPFD', 'TRUE', '-p', 'MEMO', 'TRUE', '-init', '-assertions',
1793 '-p', 'TRACE_INFO', 'FALSE', % changed to FALSE to reduce output
1794 '-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-strict'],
1795 'check data validation tasks with infinite sets').
1796 cli_testcase(1102, [private,data_validation,infinite],[
1797 '../prob_examples/examples/B/Systerel/C578.EML.014/019_100.mch',
1798 '-p', 'TIME_OUT', '9000', '-p', 'SYMBOLIC', 'TRUE', '-p', 'DOUBLE_EVALUATION', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', '0', '-p', 'CLPFD', 'TRUE', '-p', 'MEMO', 'TRUE', '-init', '-aa', 12,1,0,'-p', 'TRACE_INFO', 'TRUE', '-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-strict'],
1799 'check data validation tasks with infinite sets').
1800 cli_testcase(1103, [private,data_validation,infinite],[
1801 '../prob_examples/examples/B/Systerel/C578.EML.014/435_002.mch',
1802 '-p', 'TIME_OUT', '9000', '-p', 'SYMBOLIC', 'TRUE', '-p', 'DOUBLE_EVALUATION', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', '0', '-p', 'CLPFD', 'TRUE', '-p', 'MEMO', 'TRUE', '-init', '-aa', 0,1,0,'-p', 'TRACE_INFO', 'TRUE', '-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-strict'],
1803 'check data validation tasks with infinite sets').
1804 cli_testcase(1104, [b_test, let,quantified,union,card], [
1805 '-evalt', 'INTER(x , y,z ).(x=1..y & y=5&z=2|x) = {1,2,3,4,5}',
1806 '-evalt', 'UNION(x , y,z ).(x=1..y & y=5&z=2|x) = {1,2,3,4,5}',
1807 '-evalt', 'UNION(x , y ).(x=1..y & y=20|x)=1..20',
1808 '-evalt', 'UNION(beu).(beu=1|{2}) = {2}',
1809 '-evalt', 'UNION(xx).(xx<:55..60|xx) = 55..60',
1810 '-evalt', 'UNION(x , y ).(x=1..y & y=20&v<10|x)=r & v=20 & r={}',
1811 '-evalt', 'UNION(x , y ).(x=1..y & y=20&v<10|x)=r & v=5 & r=1..20',
1812 '-evalt', 'UNION(x).(x=1 & x>2|{1}) = {}',
1813 '-evalf', 'card(UNION(x).(x=1 & x>2|{1}))>0',
1814 '-evalt', 'UNION(x).(x=1 & (x>2 or x<3)|{x}) = {1}',
1815 '-evalt', 'UNION(x,y).(x=1 & (x>2 or x<y) & y:0..3|{x|->y}) = {(1|->2),(1|->3)}',
1816 '-evalt', 'UNION(x,y).(x=y & y=x+1 & x:1..100|{x|->y}) = {}',
1817 '-evalt', 'UNION(x,y).(x=1 & y:1..2|{x+y}) = {2,3}',
1818 '-evalt', 'INTER(x,y).(x=1 & y:1..2|{x+y}) = {}',
1819 '-evalt', 'INTER(x,y).(x=1 & y:1..2|{x+y,x+y+1})={3}',
1820 '-evalt', 'INTER(x,y,z).(x=1000 & z=x+1000 & y:1..2|{x+y+z,x+y+z+1}) = {3002}',
1821 '-evalf', '!(x,y).(x=1 & y:(x+1)..(x+19) => y+y<30)',
1822 '-evalt', '!(x,y).(x=1 & y:(x+1)..(x+19) => y+y<42)',
1823 '-evalt', '!x.(x=100 & x>200 => x>999)',
1824 '-evalt', '!x.(x=100 & x>50 => x>99)',
1825 '-evalf', '!x.(x=100 & x>50 => x>100)',
1826 '-evalt', '!(x,y,z,v).(x=10 & y=20 & z=x+y & v:x..z => v:NATURAL1)',
1827 '-evalt', 'f = {1|->2} & !e.(2:dom(f) & e=f(2) => e>100)',
1828 '-evalf', 'f = {1|->2} & !e.(1:dom(f) & e=f(1) => e>100)',
1829 '-evalf', 'f = {1|->2} & !e.(e=f(1) => e>100)',
1830 '-evalt', 'f = {1|->200} & !e.(e=f(1) => e>199)'
1831 ],'ensure UNION/INTER can be dealt with by typechecker, + LET introduction works correctly...').
1832 cli_testcase(1105,[private, data_validation,alstom,codespeed],[
1833 '../prob_examples/examples/B/Alstom/sgd_Jun11/vital_gradient_v3/vital_gradient_optimized.mch',
1834 '-p', 'CLPFD', 'TRUE', '-p', 'MAXINT', '2147483647', '-p', 'MININT', '-2147483648', '-p', 'TIME_OUT', '35000', '-t'],
1835 'check that trace can be replayed').
1836 cli_testcase(1106, [b_test,recursion,external,infinite], ['../prob_examples/public_examples/B/RecursiveFunctions/PrimitiveRecursiveFunctions.mch',
1837 '../prob_examples/public_examples/B/RecursiveFunctions/SumTLA.mch',
1838 '../prob_examples/public_examples/B/RecursiveFunctions/TransitiveClosureFunction.mch',
1839 '../prob_examples/public_examples/B/RecursiveFunctions/TransitiveClosureFunctionIFTE.mch',
1840 '-assertions', '-strict', '-p', 'SYMBOLIC', 'FALSE'], 'Test that other recursive functions work.').
1841 cli_testcase(1107, [ltl,csp_test,refinement], ['../prob_examples/public_examples/CSP/RefusalBasedRefinement/RefusalBasedRefinement_simple.csp', '-ltlassertions', '-strict'],'Check LTL formulas with the \'Av(-)\'-operator from File.').
1842 cli_testcase(1108, [b_test,sigma,card,forall], ['-p', 'CLPFD', 'TRUE',
1843 '-evalt', 'bool(!(x,y).(x:1..400000 & y:1..x => x>=y)) /= bool(!(x,y).(x:1..400000 & y:1..x => x>y))',
1844 '-evalt', 'bool(!x.(x:POW(1..100) & card(x)>1 => SIGMA(y).(y:x|y)>3)) = bool(!x.(x:POW(1..100) & card(x)>1 => SIGMA(y).(y:x|y)<200))',
1845 % we wrap into bool to avoid top-level rewriting of !
1846 '-evalt', '!(x,y).(x:1..400000 & y:1..x => x>=y)',
1847 '-evalf', '!(x,y).(x:1..400000 & y:1..x => x>y)',
1848 '-evalf', '!x.(x:POW(1..100) & card(x)>1 => SIGMA(y).(y:x|y)>3)',
1849 '-evalf', '!x.(x:POW(1..100) & card(x)>1 => SIGMA(y).(y:x|y)<200)',
1850 '-strict'], 'Check that forall can now deal with large domains').
1851 cli_testcase(1109, [tickets,infinite], ['../prob_examples/public_examples/B/Tickets/Valerio3/BV16_DEFINITION.mch', '-strict', '-init', '-p', 'SYMBOLIC', 'TRUE', '-p', 'CLPFD', 'TRUE',
1852 '-evalf', '!(vec).( vec : BIT_VECTOR => size (vec)<=16)',
1853 '-evalt', 'bool(!(vec).( vec : BIT_VECTOR => size (vec)<=16))=bool(!(vec).( vec : BIT_VECTOR => size (vec)<=2))'
1854 %,'-expcterr', 'eval_string_enum_warning'
1855 ], 'Check that ProB now detects this quantification to be false'). % previously it was not detected due to limited enumeration
1856 cli_testcase(1110, [ltl], ['../prob_examples/public_examples/B/Ivo/PruningActionsTest2.mch', '-ltlassertions', '-strict'], 'Checking independency of actions by means of LTL Formulas.').
1857 cli_testcase(1111, [tickets,quantified,union],['../prob_examples/public_examples/B/PerformanceTests/UNION_PerfTest.mch',
1858 '-p', 'SYMBOLIC', 'TRUE', '-assertions' ,'-p' ,'CLPFD', 'TRUE',
1859 '-p', 'TIME_OUT', 1000], 'Ensure symbolic ran closure can be expanded efficiently').
1860 cli_testcase(1112, [tickets,alstom],['../prob_examples/examples/B/Alstom/cbtc/params_cbtc.mch',
1861 '-init' ,'-p' ,'IGNORE_PRJ_TYPES', 'TRUE', '-p', 'TIME_OUT', '3500'], 'Ensure symbolic ran closure can be expanded efficiently').
1862 cli_testcase(1113, [b_test,card], ['-p', 'CLPFD', 'TRUE',
1863 '-evalt', 'card({x|#y.(y:111..112 & x = {{y*y}})}) = 2',
1864 '-evalt', 'card({x|#y.(y:111..112 & x = {{{{{y*y}}}}})}) = 2',
1865 '-evalt', 'card({x|#y.(y:POW(BOOL) & card(y)=1 & x = ({(y,TRUE)},TRUE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE))}) =2',
1866 '-evalt', '{x|#y.(y:POW(BOOL) & card(y)=1 & x = {(y,TRUE,FALSE,TRUE)})} = {{((({FALSE}|->TRUE)|->FALSE)|->TRUE)},{((({TRUE}|->TRUE)|->FALSE)|->TRUE)}}',
1867 '-evalt', '{x,y|#z.(z:{1024,2048,4096} & x=z+z & y={{z*z}})} = {(2048|->{{1048576}}),(4096|->{{4194304}}),(8192|->{{16777216}})}',
1868 '-evalt', '{x|#z.(z:1..2**20 & x=z & x+z<100)} = 1..49',
1869 '-strict'], 'Check closures with top-level existential quantifiers').
1870 cli_testcase(1114, [tickets,csp_test],['../prob_examples/public_examples/B/Tickets/315/ANN_Neuron.csp',
1871 '-t' , '-mc', 200, '-check_complete', '-cc', 26, 42], 'Ensure ticket remains fixed').
1872 cli_testcase(1115, [tickets,eventb_test],['../prob_examples/public_examples/EventBPrologPackages/Ticket_ThmGuard/M2_mch.eventb',
1873 '-t' , '-mc', 200, '-check_complete'], 'Ensure theorem in guards work').
1874 cli_testcase(1116, [dot,eventb_test,dot],['../prob_examples/public_examples/EventBPrologPackages/Tests/UnicodeIds_mch.eventb',
1875 '-mc', 200, '-nodead', '-check_complete', '-dot', 'state_space', '../prob_examples/public_examples/EventBPrologPackages/Tests/UnicodeIds_spdot.dot'], 'Ensure Unicode characters work in Dot export').
1876 cli_testcase(1117, [tickets],['../prob_examples/public_examples/B/Tickets/Srivastava1/Total_M1.mch',
1877 '-t' , '-strict'], 'Ensure that expensive arg in relations check not computed').
1878 cli_testcase(1118, [eventb_test, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/ClosureTest.eventb','-assertions','-strict','-cc',2,1], 'Check if the closure definition works').
1879 cli_testcase(1119, [csp_test,cspb], ['-expecterr','deadlock','../prob_examples/public_examples/CSPB/Tickets/Bauer/machine.mch','-csp-guide','../prob_examples/public_examples/CSPB/Tickets/Bauer/machine.csp','-mc',1000,'-his','../prob_examples/public_examples/CSPB/Tickets/Bauer/machine_his.txt','-his_option','show_states','-strict'], 'Check if the closure definition works').
1880 cli_testcase(1120, [tickets,csp_test],['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/TypeErrorInChannelInput.csp', '-mc', 10, '-expcterr', 'check_channel_output_value', '-expcterr', 'general_error_occurred'], 'Checking for raising type error in channel input.').
1881 cli_testcase(1121, [tickets,csp_test],['../prob_examples/public_examples/CSP/other/Ivo/ComplexDataTypes.csp', '-t'], 'Checking complex input/output values for channel.').
1882
1883 cli_testcase(1122, [private,data_validation,exists], ['../prob_examples/examples/B/Systerel/C578/2013/machines_14082013/410_002.mch', '-init' ,'-assertions', '-p', 'SYMBOLIC', 'TRUE'], 'Check that WD issue inside negate exists solved').
1884 cli_testcase(1123, [tickets,exists], ['../prob_examples/public_examples/B/ErrorMachines/IllegalFunCalls/FunCall_Exists_correct.mch', '-init' ,'-assertions'], 'Check that WD issue inside negate exists solved').
1885 cli_testcase(1124, [tickets,wd,exists], ['../prob_examples/public_examples/B/ErrorMachines/IllegalFunCalls/FunCall_Exists_error.mch', '-init' ,'-assertions', '-expcterr', 'well_definedness_error', '-expcterr', check_assertions], 'Check that WD issue inside negate exists solved').
1886 cli_testcase(1125, [b_test,data_validation,infinite,override], ['-p', 'SYMBOLIC', 'TRUE',
1887 '-evalt', 'r=INTEGER*{3333} & s= {(1,1)} & ov = r <+ s & r1 = ov(1) & r2 = ov(2) & r3 = ov[1..3] & r3={r1}\\/{r2} & r1000=ov(1000) & r1000>3332'],
1888 'Test that override works symbolically').
1889 cli_testcase(1126, [private,data_validation,infinite,override], ['../prob_examples/examples/B/Systerel/C578/2013/machines_14082013/PB_00611_005.mch',
1890 '../prob_examples/examples/B/Systerel/C578/2013/machines_14082013/PS_00611_006.mch',
1891 '-init' ,'-assertions', '-p', 'SYMBOLIC', 'TRUE'], 'Check symbolic override issues solved').
1892 cli_testcase(1127, [tickets], ['../prob_examples/public_examples/B/Tickets/PROB-306/OperationCallBug.mch', '-strict', '-init',
1893 '-expcterr', 'type_error', '-expcterr', 'load_main_file'], 'Check type checker for wrong number of arguments in operation call').
1894 cli_testcase(1128, [tickets], ['../prob_examples/public_examples/B/Tickets/PROB-306/OperationCallBug2.mch', '-strict', '-init',
1895 '-expcterr', 'type_error', '-expcterr', 'load_main_file'], 'Check type checker for wrong number of results in operation call').
1896 cli_testcase(1130, [private,data_validation], ['../prob_examples/examples/B/Systerel/C578/2013/machines_03092013/error/0050_001.mch',
1897 '-init' ,'-assertions', '-p', 'SYMBOLIC', 'TRUE', '-p', 'TIME_OUT', 3500], 'Check bug remains solved (unification in b_compute_expression2)').
1898 cli_testcase(1131, [private,data_validation],[
1899 '../prob_examples/examples/B/Systerel/C578/2013/machines_06092013/C_02_001.mch',
1900 '-p', 'TIME_OUT', '11000', '-p', 'SYMBOLIC', 'TRUE', '-p', 'DOUBLE_EVALUATION', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', '0', '-p', 'CLPFD', 'TRUE', '-p', 'MEMO', 'TRUE', '-init', '-assertions', '-p', 'TRACE_INFO', 'FALSE', '-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-strict'],
1901 'check memory consumption ok').
1902 cli_testcase(1132,[csp_test], ['../prob_examples/public_examples/CSP/CSPOZ/CurriedNATupleFunNested.csp', '-assertions', '-strict'], 'Nested NA-Tuples.').
1903
1904 cli_testcase(1133, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/demo/basin_olderog_bank.csp', '-mc', 1000, '-cc', 129, 673, '-strict'], '').
1905 cli_testcase(1134, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/AgentErrorsLetWithIn.csp', '-mc', 10, '-nodead', '-expcterr', 'general_error_occurred', '-expcterr', 'singleSetElement', '-strict'], 'Testing raising of singleSetElement error.').
1906 cli_testcase(1135, [csp_test], ['../prob_examples/public_examples/CSP/CSPOZ/CurriedNATupleFunNested.csp', '-assertions', '-t', '-strict'], 'Testing curry functions.').
1907 cli_testcase(1136, [csp_test], ['../prob_examples/public_examples/CSP/evans/KeyNETv2.csp', '-mc', '1000', '-nodead', '-cc', 24, 23, '-assertions', '-strict'], '').
1908 cli_testcase(1137, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/DIV.csp', '-mc', '10', '-cc', 2, 3, '-strict'], 'Testing normalising of DIV |~| DIV.').
1909 cli_testcase(1138, [por], ['../prob_examples/public_examples/B/Ivo/SleepSetsStudyCase.mch', '-mc', 1000, '-noinv', '-expcterr', 'deadlock', '-cc',7,7, '-p', por, 'ample_sets', '-strict'], 'Model checking with partial order reduction.').
1910 cli_testcase(1139, [por,ltl], ['../prob_examples/public_examples/B/Ivo/SleepSetsStudyCase.mch', '-ltlformulat', 'F {x=1 & y=1}', '-cc',10,12, '-p', por, ample_sets,'-strict'], 'LTL Model checking with partial order reduction.').
1911 cli_testcase(1140, [por], ['../prob_examples/public_examples/B/Ivo/SleepSetsStudyCase.mch', '-mc', 1000, '-nodead', '-cc',11,17, '-p', por, 'ample_sets', '-strict'], 'Model checking with partial order reduction (no state space reductions).').
1912 cli_testcase(1141, [por], ['../prob_examples/public_examples/B/Ivo/BenchmarksPOR/BPEL2B/Model_Machine_4_NoDeadlock_v2.eventb', '-mc', 10000, '-noinv', '-p', por, 'ample_sets', '-expcterr', deadlock,'-strict'], 'Model checking with partial order reduction (deadlock check).').
1913 cli_testcase(1142, [por], ['../prob_examples/public_examples/B/Ivo/BenchmarksPOR/BPEL2B/Model_Machine_4_NoDeadlock_v3.eventb', '-mc', 10000, '-noinv', '-p', por, 'ample_sets', '-expcterr', deadlock,'-strict'], 'Model checking with partial order reduction (deadlock check).').
1914 cli_testcase(1143, [por], ['../prob_examples/public_examples/B/Ivo/BenchmarksPOR/BPEL2B/Model_Machine_4_NoDeadlock_v4.eventb', '-mc', 10000, '-noinv', '-p', por, 'ample_sets', '-expcterr', deadlock,'-strict'], 'Model checking with partial order reduction (deadlock check).').
1915 cli_testcase(1144, [por], ['../prob_examples/public_examples/B/Ivo/BenchmarksPOR/BPEL2B/Model_Machine_4_NoDeadlock_v5.eventb', '-mc', 10000, '-check_complete_operation_coverage', '-p', por, 'ample_sets', '-min_max_coverage', '../prob_examples/public_examples/B/Ivo/BenchmarksPOR/BPEL2B/Model_Machine_4_NoDeadlock_v5_Coverage_POR.txt', '-strict', '-expcterr', 'model_check_incomplete'], 'Model checking with partial order reduction (min...max coverage check).').
1916 cli_testcase(1145, [b_test], ['-p', 'CLPFD', 'TRUE',
1917 '-evalt', '{} <: (1..100000000 \\/ {-1})'],
1918 'Check that we do not compute <: if first arg {}').
1919 cli_testcase(1146, [private,data_validation], ['../prob_examples/examples/B/Systerel/C578/2013/machines_06092013/T_032_002.mch',
1920 '-init' ,'-aa', 0,1,0, '-p', 'SYMBOLIC', 'TRUE', '-p', 'MEMO', 'TRUE', '-p', 'TIME_OUT', 11500, '-p', 'CLPFD', 'TRUE',
1921 '-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', 0 ], 'Check test eq_emtpy_set bug remains solved'). % increased time-out from 7500
1922 cli_testcase(1147, [por], ['../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Peterson/em_abs.mch', '-mc', 10000, '-p', por, 'ample_sets', '-min_max_coverage', '../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Peterson/em_abs_Coverage_POR.txt', '-strict'], 'Model checking with partial order reduction (min...max coverage check). Peterson\'s algorithm').
1923 cli_testcase(1148, [por], ['../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Peterson/peterson_R.ref', '-mc', 10000, '-p', por, 'ample_sets', '-check_complete_operation_coverage', '-min_max_coverage', '../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Peterson/peterson_R_Coverage_POR.txt', '-strict'], 'Model checking with partial order reduction (min...max coverage check). Peterson\'s algorithm').
1924 cli_testcase(1149, [por], ['../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Peterson/syspeterson.mch', '-mc', 10000, '-p', por, 'ample_sets', '-expcterr', invariant_violation, '-strict'], 'Model checking with partial order reduction (invariant violation is expected). Peterson\'s algorithm').
1925 cli_testcase(1150, [eventb_test, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/BoolOpsTest1.eventb', '-mc', 10, '-nodead', '-check_complete', '-cc', '5', '9'], 'Checking the BoolOps theory').
1926 cli_testcase(1151, [eventb_test, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/ListTest1.eventb', '-mc', 100, '-nodead', '-check_complete', '-cc', '86', '236'], 'Checking the List theory').
1927 cli_testcase(1152, [eventb_test, theories,symmetry_test], ['../prob_examples/public_examples/EventBPrologPackages/Theory/ClosureTest1.eventb', '-p', 'SYMMETRY_MODE', nauty, '-p', 'MAX_OPERATIONS', 100, '-mc', 1000, '-nodead', '-check_complete', '-cc', '756', '4371'], 'Checking the closure theory').
1928 cli_testcase(1153, [eventb_test, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/SumProductTest1.eventb', '-mc', 100, '-nodead', '-check_complete', '-cc', '86', '85'], 'Checking the SUM and PRODUCT theory').
1929 cli_testcase(1154, [b_test,union], ['-p', 'CLPFD', 'TRUE',
1930 '-evalt', 'x : 1..1000040 \\/ {10000061} & x mod 2 = 0',
1931 '-evalt', 'x : 1..10000040 \\/ {10000061} & x mod 2 = 0',
1932 '-evalt', 'x : 1..10000040 \\/ {10000061}'
1933 % does not work yet: ,'-evalt', ' x : {-33} \/ {0} \/ 1..10000040 \/ {10000061} \/ {-22}'
1934 ], 'Check union of AVL with large interval does not expand interval').
1935 cli_testcase(1155, [eventb_test, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/BinaryTreeTest1.eventb', '-mc', 100, '-nodead', '-strict', '-expcterr', 'model_check_incomplete'], 'Checking the BinaryTree theory').
1936 cli_testcase(1156, [eventb_test, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/SeqTest1.eventb', '-mc', 2000, '-nodead', '-strict'], 'Checking the Seq theory').
1937 cli_testcase(1157, [private,data_validation,infinite,override],[
1938 '../prob_examples/examples/B/Systerel/C578.EML.014/670_002.mch',
1939 '-p', 'TIME_OUT', '15000', '-p', 'SYMBOLIC', 'TRUE', '-p', 'DOUBLE_EVALUATION', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', '0', '-p', 'CLPFD', 'TRUE', '-p', 'MEMO', 'TRUE', '-init', '-assertions', '-p', 'TRACE_INFO', 'FALSE', '-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-strict'],
1940 'check override computed explicitly for A*B*C <+ {...} for reasonable sizes'). % increased TIME_OUT from 11000
1941 cli_testcase(1158, [b_test], ['-p', 'SYMBOLIC', 'TRUE','-p', 'CLPFD', 'TRUE',
1942 '-evalt', '95|->93 : dom({x,y,z| x>z & y<z})',
1943 '-evalf', '94|->93 : dom({x,y,z| x>z & y<z})' ],
1944 'check symbolic treatment of domain').
1945 cli_testcase(1159, [b_test,card], ['-p', 'CLPFD', 'TRUE',
1946 '-evalt', '{S1|S1 <: {"d","f","3","14","play"} & {"d"} /<<: S1 & card(S1):4..5} = {{"14","3","f","play"}}' ],
1947 'simple CBC check from old paper').
1948 cli_testcase(1160, [b_test,infinite], ['-p', 'SYMBOLIC', 'TRUE','-p', 'CLPFD', 'TRUE',
1949 '-evalt', 'f = %i.(i:1..100|i*i) & f[NATURAL1] = x & max(x)=10000',
1950 '-evalt', 'f = %i.(i:1..100|i*i) & f[{v|v<=20}] = x & max(x)=400',
1951 '-evalt', 'f = %i.(i:0..100|i*i) & f[NATURAL1] = x & min(x)=1'],
1952 'test that we can take image of infinite set').
1953 cli_testcase(1161, [private,data_validation], ['../prob_examples/examples/B/Systerel/C578/2013/machines_24092013/07_001.mch',
1954 '-init' ,'-assertions', '-p', 'SYMBOLIC', 'TRUE', '-p', 'MEMO', 'TRUE', '-p', 'TIME_OUT', 39500,
1955 '-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', 0 ], 'Check performance'). % increased time-out from 9500 (16th July 2014)
1956 cli_testcase(1162, [private,data_validation], [%'../prob_examples/examples/B/Systerel/C578/2013/machines_24092013/02_001_adapted.mch', % moved to test 1376
1957 '../prob_examples/examples/B/Systerel/C578/2013/machines_24092013/30_001_adapted.mch',
1958 '-init' ,'-assertions', '-p', 'SYMBOLIC', 'TRUE', '-p', 'MEMO', 'TRUE', '-p', 'CLPFD', 'TRUE', '-p', 'TIME_OUT', 35000,
1959 '-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', 0 ], 'Check performance').
1960 cli_testcase(1163, [b_test], ['-p', 'CLPFD', 'TRUE',
1961 '-evalf', '0..x <: 1..100000 & x>0',
1962 '-evalt', '0..101001 <: 0..x & x <1001000',
1963 '-evalt', '1..2**65 <: 1..2**66',
1964 '-evalf', '1..2**67 <: 1..2**66',
1965 '-evalt', '1..2**65 <: x..2**66 & x:0..10',
1966 '-evalf', '1..2**65 <: x..2**66 & x:2..100000',
1967 '-evalf', 'x:180..200 & y: 3000..4000 & x+y=z & x..z <: x..w & w<3500 & w<z',
1968 '-evalt', 'x:180..200 & y: 3000..4000 & x+y=z & x..z <: x..w & w<3500 & w<=z',
1969
1970 '-evalf', '0..x <<: 1..100000 & x>0',
1971 '-evalt', '0..101001 <<: 0..x & x <1001000',
1972 '-evalt', '1..2**65 <<: 1..2**66',
1973 '-evalf', '1..2**66 <<: 1..2**66',
1974 '-evalt', '2..2**66 <<: 1..2**66',
1975 '-evalt', '-10000..x <<: 1..2 & x>-(2**20)',
1976 '-evalf', 'x:180..200 & y: 3000..4000 & x+y=z & x..z <<: x..w & w<3500 & w<=z',
1977
1978 '-evalt', '{x|1..x /<: 1..10000 & x<10003} = {10001,10002}',
1979 '-evalt', '1000..x /<: 1..y & y..1010 /<: y..1009 & x..1010 /<: x..1009 & y>0',
1980
1981 '-evalt', '1..2**65 /<<: 1..2**65',
1982 '-evalf', '1..2**65 /<<: 1..2**66',
1983 '-evalf', '2..2**66 /<<: 1..2**66',
1984 '-evalf', 'x..y /<<: 1001..1002 & x:100..200 & y:0..10',
1985 '-evalt', '{x,y|x..y /<<: 1001..1002 & x:100..200 & y:0..100}={(100,100)}',
1986 '-evalt', '{x,y|x..y /<<: 1001..1002 & x:1001..1030 & y<1004} = {(1001|->1002),(1001|->1003),(1002|->1003),(1003|->1003)}',
1987 '-evalt', '{x,y|x..y /<<: 1001..1002 & x:1001..1030 & y<1005} = {(1001|->1002),(1001|->1003),(1001|->1004),(1002|->1003),(1002|->1004),(1003|->1003),(1003|->1004),(1004|->1004)}',
1988 '-evalt', '10..y /<<: 200..x & x>100 & y:1..5',
1989 '-evalt', '{x,y|10000..x /<<: 10000..y & y>10000 & y<150000 & x<10005} = {(10001|->10001),(10002|->10001),(10002|->10002),(10003|->10001),(10003|->10002),(10003|->10003),(10004|->10001),(10004|->10002),(10004|->10003),(10004|->10004)}'
1990
1991 ], 'Check interval treatment in subset').
1992 cli_testcase(1164, [csp_test], ['../prob_examples/public_examples/CSP/BPMN/intervention.csp', '-mc', '10', '-nodead', '-strict', '-expcterr', 'model_check_incomplete'], 'Testing the CSPM-Tool for parsing very long CSP expressions.').
1993 cli_testcase(1165, [b_test,sequences,strings], ['-p', 'CLPFD', 'TRUE', %'-expcterr', eval_string_enum_warning,
1994 '-evalt', 'mdp = 5 * 43 & (yy: mdp + 1 .. ( mdp + 43 ) & yy: dom(memp)) & memp:seq(STRING)',
1995 '-evalt', '16: dom(memp) & memp:seq(STRING)',
1996 '-evalt', 'memp:seq(STRING) & 16: dom(memp)',
1997 '-evalt', 'memp:seq(STRING) & mdp = 5 * 43 & (yy: mdp + 1 .. ( mdp + 43 ) & yy: dom(memp))',
1998 '-evalt', '{x} /\\ 0..2000 = {} & x>0'
1999 ], 'Check constraint propagation of in domain + in sequence + interval intersection').
2000 cli_testcase(1166, [b_test], ['-p', 'CLPFD', 'TRUE',
2001 '-evalt', 'x /\\ 1000..2000 = {1001}',
2002 '-evalt', 'x /\\ 1000..2000 = {y}',
2003 '-evalt', '1000..2000 /\\ x = {y}',
2004 '-evalt', '{x} /\\ 10000..999999 = r & r={y}',
2005 '-evalt', '{x} /\\ 10000..999999 = {y}',
2006 '-evalt', '10000..x = {y}',
2007 '-evalf', '10000..20000000 = {y}',
2008 '-evalf', '{x|x>2} = {y}',
2009 '-evalt', 'x:0..999999 & y:0..99999 & {x} /\\ 10000..999999 = {y}',
2010 '-evalt', '{x} /\\ {y} /= {} & x:1000..2000 & y>=0',
2011 '-evalt', '{x} /\\ {y} /= {} & x:1000000..20000000 & y>=0',
2012 '-evalt', 'a..b = {x} & x:100..1002',
2013 '-evalt', '{a,b,x|a..b = {x} & x:1000..1002} = {((1000|->1000)|->1000),((1001|->1001)|->1001),((1002|->1002)|->1002)}',
2014
2015 '-evalt', '{x|x>0} = NATURAL1',
2016 '-evalf', '{x|x>0} = NATURAL',
2017 '-evalt', '{x|x>0} /= NATURAL',
2018 '-evalt', '{x|x<110} /= NATURAL',
2019 '-evalt', '{x|x>0} <: NATURAL1',
2020 '-evalf', '{x|x>=0} <: NATURAL1',
2021 '-evalt', '{x|x>0} <: INTEGER',
2022 '-evalt', '{x|x>0} <: {x|x>-1}',
2023 '-evalt', '{x|x>0} <: {x|x>0}',
2024 '-evalf', '{x|x>0} <: {x|x>1}',
2025 '-evalf', 'NATURAL1 <: 0..10000',
2026 '-evalt', '{x|x>1} <<: {x|x>0}',
2027 '-evalf', '{x|x>0} <<: {x|x>0}',
2028 '-evalf', '{x|x>0} <<: NATURAL1',
2029 '-evalt', '{x|x>0} <<: NATURAL',
2030 '-evalt', '{x|x>0} <<: INTEGER',
2031 '-evalf', '{x|x>0} <<: {x|x>2}',
2032 '-evalt', '{x|x>0} <<: {x|x>-200}',
2033 '-evalf', 'NATURAL1 <<: 0..10000',
2034 '-evalf', '{x|x<20000} <<: 0..10000',
2035 '-evalf', '{x|x>0} /<: NATURAL1',
2036 '-evalt', '{x|x>=0} /<: NATURAL1',
2037 '-evalf', '{x|x>0} /<: INTEGER',
2038 '-evalf', '{x|x>0} /<: {x|x>-1}',
2039 '-evalf', '{x|x>0} /<: {x|x>0}',
2040 '-evalt', '{x|x>0} /<: {x|x>1}',
2041 '-evalt', 'NATURAL1 /<: 0..10000',
2042 '-evalt', '{x|x>=0} /<<: NATURAL',
2043 '-evalt', '{x|x>=0} /<<: NATURAL1',
2044 '-evalf', '{x|x>=0} /<<: INTEGER',
2045 '-evalt', 'NATURAL /<<: NATURAL1',
2046 '-evalf', '1..100 /<<: NATURAL1',
2047 '-evalt', '0..100 /<<: NATURAL1',
2048 '-evalt', '{x|x<20000} /<<: 0..10000',
2049 '-evalt', 'NATURAL1 /<<: 0..10000',
2050
2051 '-evalf', '0..B <: 1..B & B:1..1000000',
2052 '-evalf', '0..x <: 1..1000 & x>0',
2053 '-evalf', '0..B <<: 1..B & B:1..1000000',
2054 '-evalf', '0..x <<: 1..1000 & x>0',
2055 '-evalt', '{x,y} /<<: NATURAL1 & x:2..3 & y:0..5',
2056 '-evalf', '{x,y} /<<: NATURAL1 & x:2..3 & y:1..5',
2057 '-evalt', '{x,y} <<: NATURAL1 & x:2..3 & y:4..5',
2058 '-evalf', '{x,y} <<: NATURAL1 & x:-22..-3 & y:-4..0',
2059 '-evalt', '%(x,y).( x:1..4 & y : {-1, 0, 1} | x + y)[INTEGER*INTEGER] /\\ {x|x<=3} = 0..3',
2060 '-evalt', '{x,z|x:1..z & x:z..3} = {(1|->1),(2|->2),(3|->3)}' % just a check about interval propagation
2061 %,
2062 %'-evalt', 'x /\\ y /= {} & x<:1..10000 & y<:10000..20000',
2063 %'-evalt', 'x /\\ y /= {} & x = {y|y : 1..n & y mod 2 = 0} & y = {v|v:1..n & v mod 17 = 0} & n = 10000',
2064 %'-evalt', '{x|NATURAL1 /\\ 0..x /= {} & x< 20} = 1..19'
2065 ], 'Check constraint propagation of intersection with intervals').
2066 cli_testcase(1167, [laws,union], ['../prob_examples/public_examples/EventBPrologPackages/Laws/generalized_union_inter_ctx.eventb', '-mc', 1250, '-nodead', '-p', 'DEFAULT_SETSIZE', 3, '-p', 'MAX_INITIALISATIONS', 100, '-strict', '-p', 'CLPFD', 'TRUE', '-assertions', '-cbc_assertions'], 'Check laws about generalized union/inter').
2067 cli_testcase(1168, [b_test,smt_test], ['-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE',
2068 '-evalt', '{y,f|f = %x.(x:1..10|x+y) & f(5)=1005} = {(1000|->[1001,1002,1003,1004,1005,1006,1007,1008,1009,1010])}'
2069 ], 'Check constraint propagation for partially known functions').
2070 cli_testcase(1169, [b_test,cbc], ['-p', 'CLPFD', 'TRUE',
2071 '-p','MAX_INITIALISATIONS', 0, '-cbc_assertions',
2072 '../prob_examples/public_examples/B/CBC/RULE_r967_1.mch', '-expcterr', 'cbc_assertions'
2073 ], 'Check ProB finds counter example for rule').
2074 cli_testcase(1170, [b_test,cbc], ['-p', 'CLPFD', 'TRUE',
2075 '-p','MAX_INITIALISATIONS', 0, '-cbc_assertions_proof', '-p', 'DISPROVER_MODE', 'TRUE',
2076 '-expcterr', 'cbc_assertions_enumeration_warning',
2077 '../prob_examples/public_examples/B/CBC/RULE_InSetLeavesXY_32_1.mch',
2078 '../prob_examples/public_examples/B/CBC/RULE_r967_preuve_backward.mch'
2079 ], 'Check ProB finds counter example for rule').
2080 cli_testcase(1171, [b_test,cbc], ['-p', 'CLPFD', 'TRUE',
2081 '-p','MAX_INITIALISATIONS', 0, '-cbc_assertions_proof', '-p', 'DISPROVER_MODE', 'TRUE',
2082 '-expcterr', 'cbc_assertions_enumeration_warning',
2083 '../prob_examples/public_examples/EventBPrologPackages/Disprover/EnumWarningTests/DefSet_ShouldGenerateEnumWarning2.mch'
2084 ], 'Check ProB finds no counter example for rule and no proof').
2085 cli_testcase(1172, [b_test,cbc], ['-p', 'CLPFD', 'TRUE',
2086 '-p','MAX_INITIALISATIONS', 0, '-cbc_assertions_proof', '-p', 'DISPROVER_MODE', 'TRUE',
2087 '../prob_examples/public_examples/EventBPrologPackages/Disprover/EnumWarningTests/DefSet_NoEnumWarning1.mch'
2088 ], 'Check ProB finds no counter example for rule and no proof').
2089
2090 cli_testcase(1173, [b_test,cbc], ['-p', 'CLPFD', 'FALSE',
2091 '-p','MAX_INITIALISATIONS', 0, '-cbc_assertions_proof', '-p', 'DISPROVER_MODE', 'TRUE',
2092 '-expcterr', 'cbc_assertions_enumeration_warning',
2093 '../prob_examples/public_examples/EventBPrologPackages/Disprover/EnumWarningTests/DefSet_ShouldGenerateEnumWarning1.mch'
2094 ], 'Check ProB finds no counter example for rule and no proof').
2095 cli_testcase(1174, [b_test,cbc], ['-p', 'CLPFD', 'TRUE',
2096 '-p','MAX_INITIALISATIONS', 0, '-cbc_assertions_proof', '-p', 'DISPROVER_MODE', 'TRUE',
2097 '-expcterr', 'cbc_assertions_enumeration_warning',
2098 '../prob_examples/public_examples/EventBPrologPackages/Disprover/EnumWarningTests/DefSet_ShouldGenerateEnumWarning1.mch'
2099 ], 'Check ProB finds no counter example for rule and no proof').
2100 cli_testcase(1175, [b_test,card], ['-p', 'CLPFD', 'TRUE',
2101 '-evalf', 'n: INTEGER & {n} = r & r={n1} & (n1/=n)',
2102 '-evalf', 'n: POW(INTEGER) & {n} = r & r={n1} & (n1/=n)',
2103 '-evalf', 'n: BOOL & {n} = r & r={n1} & (n1/=n)',
2104 '-evalf', 'n>0 & {n} ={n1} & (n1/=n)',
2105 '-evalf', 'f:POW(NATURAL) & f2 = f \\/ {p2} & p1:f & p1/:f2 & p1/=p2',
2106 '-evalf', 'f:POW(NATURAL) & f2 = f \\/ {p2} & p1:f & p1/:f2',
2107 '-evalf', 'p1:dom(f) & f2 = {p2} <<| f & p1 /: dom(f2) & p1/=p2 & f:NATURAL <->NATURAL',
2108 '-evalt', 'p1:dom(f) & f2 = {p2} <<| f & p1 /: dom(f2) & p1=p2 & f:NATURAL <->NATURAL',
2109 '-evalf', 'x /= y & s={x,y,z} & x/=z & y/=z & x:NATURAL1 & card(s)<3',
2110 '-evalf', 'x:s & y:s & z:s & x /= y & x/=z & y/=z & x:NATURAL1 & card(s)<3',
2111 '-evalf', 'x /= y & x/=z & y/=z & s={x,y,z} & card(s)<3 & s<:STRING',
2112 '-evalf', 'f:NATURAL +-> INTEGER & f2 = f <+ {p2|->1} & p1:dom(f) & p1/:dom(f2) & p1/=p2',
2113 '-evalt', 'x /= "a" & (x /= "a" => y>1000000) & (y>1000000 => x = "b") & y<2000000',
2114 '-evalt', 'x /= "a" & (x /= "a" => y>100000 & y<200000) & (y>100000 => x = "b")',
2115 '-evalt', 'x /= "a" & ("a" /= x => y>100000 & y<200000) & (y>100000 => x = "b")',
2116 '-evalt', 'x /= 33 & (x /= 33 => y>1000000) & (y>1000000 => x = 2133) & y<2000000',
2117 '-evalt', 'x /= 1 & (1 /= x => y>100000 & y<200000) & (y>100000 => x = 2)',
2118 '-evalf', 'x /= 1 & (1 /= x => y>100000 & y<200000) & (y>100000 => x = 1)'
2119 ], 'Check that a few inconsistencies can be detected without enumeration').
2120 cli_testcase(1176, [por], ['../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Peterson/em_abs.mch', '-mc', 10000, '-noinv', '-p', por, 'ample_sets', '-strict'], 'Model checking with partial order reduction (Without Coverage). Peterson\'s algorithm').
2121 cli_testcase(1177, [por], ['../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Peterson/em_abs.mch', '-mc', 10000, '-check_complete_operation_coverage', '-p', por, 'ample_sets', '-strict'], 'Model checking with partial order reduction (Operations Coverage Check). Peterson\'s algorithm').
2122 cli_testcase(1178, [por], ['../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Peterson/peterson_R.ref', '-mc', 10000, '-check_complete_operation_coverage', '-p', por, 'ample_sets', '-strict'], 'Model checking with partial order reduction (min...max coverage check). Peterson\'s algorithm').
2123 cli_testcase(1179, [por], ['../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Peterson/syspeterson.mch', '-noinv', '-mc', 10000, '-p', por, 'ample_sets', '-strict'], 'Model checking with partial order reduction (min...max coverage check). Peterson\'s algorithm').
2124 cli_testcase(1180, [b_test,card], ['-p', 'CLPFD', 'TRUE',
2125 '-evalt', '{x|#y.(y>x & (y mod 1000 = 0 or y<x+20)) & x:1..4} = 1..4',
2126 '-evalt', '{x|#y.(y>x & (y mod 1000 = 0 or y<x+20)) & x:1..40} = 1..40',
2127 '-evalf', '{x|#y.(y>x & (y mod 1000 = 0 or y<x+20)) & x:1..40} = 1..4',
2128 '-evalf', '{x|#y.(y>x & (y mod 1000 = 0 or y<x+20)) & x:1..40} /= 1..40',
2129 '-evalt', '{x|#y.(y>x) & x:1..100} /= {}',
2130 '-evalf', '{x|#y.(y>x) & x:1..100} = {}',
2131 '-evalt', 'card({x|#y.(y>x) & x:1..100}) = 100',
2132 '-evalt', 'card({x,y| x>=60000 & x<=64999 & x mod 2 =1 & y=x+x}) = 2500',
2133 '-evalt', 'card({x,y| x>=60000 & x<=64999 & x mod 2 =1 & y=x+x}) = 2500',
2134 '-evalt', 'x = (1 .. 100000) - {4} & card(x) = 99999',
2135 '-evalt', '{x| x:1..100 & {y|y:x..x+10} = {z|z>=x & z<x+11 & #v.(v>x)}} = 1..100',
2136 '-evalt', '[0,0,0,0,0,0,0,0,0,1]:{x|x:seq(0..1) & 1:ran(x)}',
2137 '-evalf', '[0,0,0,0,0,0,0,0,0,0]:{x|x:seq(0..1) & 1:ran(x)}',
2138 '-evalt', '[0,0,1,1,0,1,0]:{x|x:seq(0..1) & card(x)>5}',
2139 '-evalt', '{x| x:1..10 or x:{2**20,2**21} or x = 2**27} = {1,2,3,4,5,6,7,8,9,10,1048576,2097152,134217728}'
2140 ],'Check enum warnings properly dealt with').
2141 cli_testcase(1181, [b_test,card,sequences], ['-p', 'CLPFD', 'TRUE', '-expcterr', 'eval_string',
2142 '-evalf', '{x|x:seq(0..1) & card(x)>5 & card(x)-50 /= 50} /= {x|x:seq(0..1) & card(x)>5 & card(x) /= 20}'
2143 ],'Check enum warnings generated').
2144 cli_testcase(1182, [tickets], ['../prob_examples/public_examples/B/Tickets/Hansen6/PerfectNumber_v2.mch', '-t'], 'Check proper working of ProB for perfect number set comprehension').
2145 cli_testcase(1183, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio3/POWER2.mch', '-init', '-strict', '-aa', '18', '0', '1'], 'Variation of test 274; check that enum warning generated').
2146 cli_testcase(1184, [eventb_test,cbc], ['../prob_examples/examples/EventBPrologPackages/Advance_WP2/SubstationMeter_2703_2013.eventb', '-strict', '-mc', 1000, '-p', 'CLPFD', 'TRUE', '-expcterr', virtual_time_out, '-expcterr', 'model_check_incomplete'], 'Test multi-level animation (like 1052 but without finite restriction on events).').
2147 cli_testcase(1185, [laws], ['../prob_examples/public_examples/EventBPrologPackages/Laws/LawsEventBSpecific.eventb', '-t', '-mc', '1000', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE', '-p', 'CLPFD', 'TRUE', '-expcterr', 'model_check_incomplete'], 'same as 290 (but no virtual time-out with CLPFD)').
2148 cli_testcase(1186, [laws], ['../prob_examples/public_examples/EventBPrologPackages/Laws/finiteTest_ctx.eventb',
2149 '-mc', '1000', '-p', 'MAX_INITIALISATIONS', 30, '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE', '-p', 'CLPFD', 'TRUE', '-cbc_assertions', '-assertions', '-p', 'PROOF_INFO', 'FALSE'], 'some checks with the finite operator').
2150 cli_testcase(1187, [b_test,sequences,card], ['-evalt', 'x:seq({1}) & 55:dom(x)', '-evalf', 'x:seq({1}) & 55:dom(x) & card(x)=10', '-evalt',
2151 'x:seq({1}) & 5:dom(x) & card(x)>6', '-p', 'DISPROVER_MODE', 'TRUE', % required to enable special card treatment
2152 '-p', 'CLPFD', 'FALSE', '-strict'
2153 %, '-expcterr', eval_string_enum_warning
2154 ], 'Ensure proper enumeration of sequences (CLPFD=FALSE).').
2155 cli_testcase(1188, [b_test,external], ['../prob_examples/public_examples/B/ExternalFunctions/Argv.mch', '-mc', '1000', '-nodead', '-strict', '-argv', 'one two three', '-cc', 5, 12 ], 'check the ARGV external function').
2156 cli_testcase(1189, [b_test,tickets,closure1], ['../prob_examples/public_examples/B/Tickets/Hansen7/ClosureTest2.mch', '-init', '-properties'], 'Check closure1 enumeration issue resolved').
2157 cli_testcase(1190, [b_test], ['../prob_examples/public_examples/B/Implementations/ReverseArray.mch', '-init', '-mc', 1000, '-p', 'MAX_INITIALISATIONS', 100 ], 'Check simple example with WHILE loop').
2158 cli_testcase(1191, [time_out_tests], ['../prob_examples/public_examples/B/PerformanceTests/SMTLIB/DTP_k2_n35_c175_s1.mch', '-strict', '-init', '-expcterr', 'setup_constants_fails'], 'Copy of 396 using CLPFD. This time, no time_out occurs.').
2159 cli_testcase(1192, [eventb_test,records], ['../prob_examples/public_examples/EventBPrologPackages/Records/SampleThreeRecordMachine_mch.eventb', '-t', '-strict', '-p', 'USE_RECORD_CONSTRUCTION', 'TRUE', '-t', '-cc', 4, 6], 'Check that record detection works with nested records').
2160 cli_testcase(1193, [eventb_test,records], ['../prob_examples/public_examples/EventBPrologPackages/Records/IntBoolMachine_mch.eventb', '-t', '-strict', '-p', 'USE_RECORD_CONSTRUCTION', 'TRUE', '-t', '-expcterr', virtual_time_out,
2161 '-evalt', 'make_BIBIRec((TRUE,55),(FALSE,66)) = ((TRUE,55),(FALSE,66))'], 'Check that record detection works with nested records').
2162 cli_testcase(1194, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/platoon/platoon1_prob_simplified_v3.eventb',
2163 % '../prob_examples/public_examples/EventBPrologPackages/platoon/platoon1_prob_simplified.eventb', % fixed power_of WD error
2164 '-t', '-strict', '-p', 'USE_RECORD_CONSTRUCTION', 'TRUE', '-p', 'MAX_OPERATIONS', 20, '-p', 'MAX_INITIALISATIONS', 40,
2165 '-expcterr', virtual_time_out,
2166 '-evalt', 'sqrt(0)=0',
2167 '-evalt', 'sqrt(10)=3',
2168 '-evalt', 'sqrt(10000)=100',
2169 '-evalt', 'dist(make(10|->20) |-> make(10|->20)) = 0',
2170 '-evalt', 'dist(make(10|->20) |-> make(10|->30)) = 10',
2171 '-evalt', 'dist(make(10|->20) |-> make(0|->20)) = 10', % WD error with platoon1_prob_simplified.eventb
2172 '-evalt', 'dist(make(0|->20) |-> make(10|->20)) = 10',
2173 '-evalt', 'dist(make(10|->20) |-> make(20|->20)) = 10',
2174 '-evalt', 'dist(make(10|->10) |-> make(20|->20)) = 14',
2175 '-evalt', 'dist(make(10|->10) |-> make(10010|->10010)) = 14142',
2176 '-evalt', 'xcoord(make(1024,2048)) = 1024',
2177 '-evalt', 'ycoord(make(1024,2048)) = 2048'
2178 ], 'Check that record detection + symbolic treatment work').
2179 cli_testcase(1195, [performance_tests,b_test,codespeed], ['../prob_examples/public_examples/B/Mathematical/GraphIso/CheckLargeGraphIsomorphismAsConstants_v2.mch',
2180 '-t', '-strict', '-p', 'CLPFD', 'TRUE', '-p', 'TIME_OUT', '5000'],
2181 'Test constraint solving for larger graph').
2182 cli_testcase(1196, [b_test], ['../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr.mch', '-t', '-strict',
2183 '-csvhist', 'card(session) |-> card(session_response) |-> card(user_hotel_bookings) |-> user_rental_bookings',
2184 '../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr.csv'],
2185 'Test evaluating expression over history and saving to CSV file').
2186 cli_testcase(1197, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Tests/PartitionTest_ctx.eventb', '-init', '-assertions', '-strict'], 'Test partition border cases').
2187 cli_testcase(1198, [b_test,infinite,total_function], [
2188 '-evalt', '(NATURAL * NATURAL)* {1024} : (NATURAL*NATURAL) --> NATURAL',
2189 '-evalt', 'NATURAL * {0} : NATURAL --> NATURAL',
2190 '-evalt', 'NATURAL * {0} : NATURAL +-> NATURAL',
2191 '-evalt', 'NATURAL1 * {0} : NATURAL +-> NATURAL',
2192 '-evalt', 'NATURAL1 * {0} : INTEGER +-> NATURAL',
2193 '-evalf', 'NATURAL * {0} : NATURAL --> NATURAL1',
2194 '-evalf', 'NATURAL * {0} : NATURAL +-> NATURAL1',
2195 '-evalf', 'NATURAL1 * {0} : NATURAL --> NATURAL',
2196 '-evalf', 'NATURAL * {0} : NATURAL1 --> NATURAL'
2197 ], 'Test cartesian product with singleton set recognised as total function').
2198 cli_testcase(1199, [eventb_test,tickets,infinite, theories], ['../prob_examples/public_examples/EventBPrologPackages/Tickets/Kanso_Symbolic/C_Cart_ctx.eventb',
2199 '../prob_examples/public_examples/EventBPrologPackages/Tickets/Kanso_Symbolic/C_bijNAT_ctx.eventb',
2200 '../prob_examples/public_examples/EventBPrologPackages/Tickets/Kanso_Symbolic/C_symbolic_ctx.eventb',
2201 '../prob_examples/public_examples/EventBPrologPackages/Theory/ConstraintSolving_Demo_ctx.eventb',
2202 '-init','-assertions', '-strict'], 'Checking that various infinite functions can be defined and checked').
2203 cli_testcase(1200, [b_test], ['../prob_examples/public_examples/B/Mathematical/MaxClique.mch',
2204 '-init','-assertions', '-strict'], 'Checking constraint solving capabilities').
2205 cli_testcase(1201, [eventb_test, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/SeqTest2_ctx.eventb', '-init', '-assertions', '-strict'], 'Test Theory Plugin support').
2206 cli_testcase(1202, [eventb_test,recursion,infinite], ['../prob_examples/public_examples/EventBPrologPackages/Tickets/Kanso_ModularExp/ExpModFunctionCtxt_ctx.eventb',
2207 '../prob_examples/public_examples/EventBPrologPackages/Tickets/Kanso_ModularExp/ModularExponenation.mch', '-init', '-assertions', '-strict'], 'Test Recursive Function support').
2208 cli_testcase(1203, [b_test,queens], ['../prob_examples/public_examples/B/Puzzles/PeaceableQueens/JustQueens_8_8.mch', '-init', '-strict'], 'A constraint solving example').
2209 cli_testcase(1204, [eventb_test, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/NaturalTest.eventb', '-mc', 10, '-nodead', '-cc', 8, 7, '-strict'], 'Checking the operators of the inductive theory of natural numbers').
2210 cli_testcase(1205, [eventb_test, theories, recursion, infinite], ['../prob_examples/public_examples/EventBPrologPackages/Theory/RecOpTypeTest.eventb', '-assertions', '-strict'], 'Checking a reference to a theory\'s type parameter in a recursive operator definition').
2211 cli_testcase(1206, [tickets], ['../prob_examples/public_examples/B/Tickets/PROB-320/Hierarchical_temp.mch', '-t',
2212 '-mc', 1000, '-noinv', '-bf',
2213 '-expcterr', 'precondition_error'], 'Check precondition error raised and error message generation works. (Ticket PROB-320)').
2214 cli_testcase(1207, [tickets], ['-p', 'TIME_OUT', 7000, '-p', 'CLPFD', 'TRUE',
2215 '-evalf', '61*(x*x)+1 = y*y & x:1..1500000 & y>0'], 'Check that no instantiation error or other problem occurs').
2216 cli_testcase(1208, [typechecker_test,unit], ['-typecheckertest','../prob_examples/public_examples/B/Typecheckertests/including.mch', '-strict'], 'Typechecker test when including other machines').
2217 cli_testcase(1209, [typechecker_test,unit], ['-typecheckertest','../prob_examples/public_examples/B/Typecheckertests/definitions.mch', '-strict'], 'Typechecker test when using definitions').
2218 cli_testcase(1210, [typechecker_test,unit,parser,refinement], ['-typecheckertest','../prob_examples/public_examples/B/Typecheckertests/refi.ref', '-strict'], 'Typechecker test when using refinement').
2219 cli_testcase(1211, [csp_test], ['../prob_examples/public_examples/CSP/Tickets/Ivo/ListPattern.csp', '-t', '-strict'], 'Testing compiling of list patterns given as function parameters.').
2220 cli_testcase(1212, [csp_test], ['../prob_examples/public_examples/CSP/ucsexamples/chapter15/cache.csp', '-assertions', '-strict'], 'Testing compiling of list patterns given as function parameters.').
2221 cli_testcase(1213, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/EulerWay.mch', '-init'], 'Test that this puzzle can be solved quickly; used to take very long; solved in svn commit r12434').
2222 cli_testcase(1214, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/OverridingBuiltinFunctions.csp', '-assertions', '-strict'], 'Testing if we can override built-in functions.').
2223 cli_testcase(1215, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/OverridingBuiltinFunctionsLets.csp', '-assertions', '-strict'], 'Testing if we can override built-in functions.').
2224 cli_testcase(1216, [b_test,cbc,union,card], [
2225 '-evalt', 'z:10001..10002 & {x,y} \\/ t = {z}',
2226 '-evalt', 'z:10001..10002 & {x} \\/ {y} = {z}',
2227 '-evalf', 'z:10001..10002 & {x,y} \\/ t = {z} & y<10001',
2228 '-evalf', 'z:10001..10002 & {x,y} \\/ t = {z} & t<:9000..10000 & t/= {}',
2229 '-evalf', 'z:10001..10002 & {x,y} \\/ t = {z} & t:POW1(9000..10000)',
2230 '-evalt', 'z:10001..10002 & {x} \\/ {y,v} = {z}',
2231 '-evalt', 'z:10001..10002 & {x,v} \\/ {y} = {z}',
2232 '-evalt', 'z:10001..10002 & {x,v} \\/ t = {z} & {a} \\/ {b} = t',
2233 '-evalt', 'union({{x},{y},{z}}) = {3333}', % works by ast_cleanup translating to union
2234 '-evalt', 'union({{x}}) = {3333}', % ditto
2235 '-evalt', 'union({{x},{y},{z},{w}}) = {v} & v:200001..300001 & w:300001..400001', % ditto
2236 '-evalt', 'union({S,V,W}) = 1..10 & S/\\V = {} & S/\\W ={} & V /\\ W = {} & card(S) < card(V) & card(V) < card(W)' % ditto + partition detection
2237 % TO DO: z:10001..10002 & {x,w} \\/ {y,v} = {z}
2238 ], 'Testing propagation in union from result to arguments.').
2239 cli_testcase(1217, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Disprover/ProofTests/TestPrj_Nat_ctx.eventb', '-cbc_assertions',
2240 '-p', 'PROOF_INFO', 'FALSE', '-strict'], 'Testing if prj1|->prj2 theorems can be proven').
2241 cli_testcase(1218, [b_test,sequences], [
2242 '-evalf', 'p:perm(5..20) & p(10)=21'
2243 ], 'Testing propagation for permutation sequence.').
2244 cli_testcase(1219, [puzzles_test,queens], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/NQueens40_perm.mch', '-init', '-properties', '-strict'], '').
2245 cli_testcase(1220, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/AssertionsLet.csp', '-csp_assertion', 'c?x -> c.x -> STOP [T= c?x:{1..3} -> c.x -> STOP', '-assertions', '-cc', 38, 41, '-strict'], '').
2246 cli_testcase(1221, [ltl], ['../prob_examples/public_examples/CSP/Tickets/PROB-319/toy3.csp', '-ltllimit', 10000, '-ltlfile','../prob_examples/public_examples/CSP/Tickets/PROB-319/toyprop3c.ltl','-expcterr', ltl_counterexample, '-strict'], 'Regression test for ticket PROB-319: Unable to find a counter-example in the SCC').
2247 cli_testcase(1222, [private,cbc], ['-p', 'CLPFD', 'TRUE', '../prob_examples/examples/B/ClearSy/alloc_large.mch', '-init', '-p', 'TIME_OUT', '18500'],
2248 'Test that ProB finds isomorphism for large graph'). % increased time out from 9500
2249 cli_testcase(1223, [b_test,card], [
2250 '-evalf', 'z:11..10002 & z2:10003..520004 & z3: -1000..10 & z4:-22222..-2000 &a: {z,z2} & a:{z3,z4}',
2251 '-evalt', 'z:11..10002 & z2:10003..520004 & z3: -1000..11 & z4:-22222..-2000 &a: {z2,z} & a:{z3,z4}',
2252 '-evalf', 'x <: 1..7 & y <: 1..7 & (x<:y <=> y<:x) & x/\\y = {3} & x\\/y = 1..7 & card(x) = card(y)+1',
2253 '-evalt', 'y:1..1000001 & f:100001..100005 --> 1..9000 & x:dom(f) & x:2..100003 & (x>5000 => y:100001..100002)',
2254 '-evalf', 'f: 1..10 --> 100..200 & x:dom(f~) & x>200',
2255 '-evalf', 'f: 10..200 --> 1..200000 & x|->y : f & (x>200 or x<10)',
2256 '-evalf', 'f: (BOOL*BOOL) --> 100..200000 & b|->x : f & (x>200000 or x<100)',
2257 '-evalf', 'f: 10001..10110 --> NATURAL & !x.(x:dom(f) => f(x):dom(f)) & g:20010..20020 --> BOOL & !x.(x:dom(f) => f(x):dom(g))',
2258 '-evalt', 'f : 1001..2001 --> 1900..3333 & x|->y : f & y<x',
2259 '-evalf', 'f : 1001..2001 --> 1900..3333 & x|->y : f & y+101<x',
2260 '-evalf', 'x:1..400 & y:1..400 & f: 2..390 --> 391..399 & x|->y :f & y|->x :f',
2261 '-evalt', 'r: 1001..1005 <-> 1000..1099 & x|->y : r & v|->w : r & x+y = v+w+103 & card(r) = 3',
2262 '-evalt', 'card({r,x,y,v,w|r: 1001..1005 <-> 1000..1099 & x|->y : r & v|->w : r & x+y = v+w+103 & card(r) = 2}) = 1',
2263 '-evalt', '{r,x,y,v,w|r: 1001..1005 <-> 1000..1099 & x|->y : r & v|->w : r & x+y = v+w+103 & card(r) = 2} = {(((({(1001|->1000),(1005|->1099)}|->1005)|->1099)|->1001)|->1000)}',
2264 '-evalt', 'card({r,x,y,v,w|r: 1001..1005 <-> 1000..1099 & x|->y : r & v|->w : r & x+y = v+w+103 & card(r) = 3}) = 498',
2265 '-evalt', 'card({r,x,y,v,w|r: 1001..1005 +-> 1000..1099 & x|->y : r & v|->w : r & x+y = v+w+103 & card(r) = 3}) = 300',
2266 '-evalt', 's = {(1,rec(a:1)), (2,rec(a:2))} & (1,rec(a:x)) : s',
2267 '-evalt', 'a = {rec(x:1,y:22),rec(x:2,y:44)} & {v,w|rec(x:v,y:w):a} = {(1,22),(2,44)}',
2268 '-evalt', 'a = {rec(x:(1,33),y:22),rec(x:(2,34),y:44),rec(x:(3,34),y:45)} & {v1,w|rec(x:(v1,34),y:w):a} = {(2|->44),(3|->45)}',
2269 '-evalf', 'a = {rec(x:(1,33),y:22),rec(x:(2,34),y:44),rec(x:(3,34),y:45)} & rec(x:(v1,v2),y:w):a & v1+v2+w <56',
2270 '-evalt', 'a = {rec(x:(1,33),y:22),rec(x:(2,34),y:44),rec(x:(3,34),y:45)} & rec(x:(v1,v2),y:w):a & v1+v2+w <57',
2271 '-evalt', 'ran({vv,ww,x|x=rec(x:ww,y:vv) & vv:1..n & ww:33..34})=r1 & n=50 & rec(x:a,y:b):r1 & rec(x:a+1,y:b):r1 & b>a',
2272 '-evalt', 'a = {rec(x:(1,33),y:22,z:TRUE),rec(x:(2,34),y:44,z:TRUE),rec(x:(3,34),y:45,z:TRUE)} & rec(x:(v1,v2),y:w,z:bb):a & v1+v2+w <57',
2273 '-evalf', 'a = {rec(x:(1,33),y:22,z:FALSE),rec(x:(2,34),y:44,z:TRUE),rec(x:(3,34),y:45,z:TRUE)} & rec(x:(v1,v2),y:w,z:TRUE):a & v1+v2+w <57'
2274 ], 'Testing propagation for membership.').
2275 cli_testcase(1224, [typechecker_test,tickets], ['-init','../prob_examples/public_examples/EventBPrologPackages/Tickets/PROB-323/PROB-323.eventb','-strict'], 'This machine should not throw a type error.').
2276 cli_testcase(1225, [eventb_test,laws, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/ListLaws_ctx.eventb',
2277 '../prob_examples/public_examples/EventBPrologPackages/Theory/PairLaws_ctx.eventb',
2278 '-assertions','-strict'], 'Various checks for sets involving freetypes (Lists Theory)').
2279 cli_testcase(1226, [b_test,finite], [
2280 '-evalu', 's=({x|x mod 2 = 0 & x>200}) & s:FIN(s)'
2281 , '-expcterr', eval_string_enum_warning
2282 ], 'Check that finite warning produced').
2283 cli_testcase(1227, [eventb_test,laws, proz,theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/ListLawsMC_mch.eventb','-mc',500, '-bf', '-strict',
2284 '-expcterr', 'virtual_time_out', '-expcterr', 'model_check_incomplete'], 'Various checks for sets involving freetypes (Lists Theory)').
2285 cli_testcase(1228, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Disprover/EnumWarningTests/MammarLaleau_Failures_ReadDoors_inv8_selected.mch', '-cbc_assertions',
2286 '-p', 'PROOF_INFO', 'FALSE', '-strict'], 'Check no enum warning occurs when using bool with integer inside').
2287 cli_testcase(1229, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Tickets/PROB-322/ExpressionTest.eventb','-init','-strict'], 'Checking usage of typeof-Operator').
2288 cli_testcase(1230, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Disprover/EnumWarningTests/MammarLaleau_Cylinders_LockGearCylinder_inv4_selected.mch',
2289 %'../prob_examples/public_examples/EventBPrologPackages/Disprover/EnumWarningTests/MammarLaleau_Doors_Make_GearExtended_inv2_all.mch',
2290 '-cbc_assertions',
2291 '-p', 'PROOF_INFO', 'FALSE' ,'-p', 'DISPROVER_MODE', 'TRUE', '-strict'], 'Check no time-out occurs').
2292 cli_testcase(1231, [b_test,fairness,ltl], ['../prob_examples/public_examples/B/LTL/Fairness/TestingFairness.mch', '-ltlassertions', '-strict'], 'Test fairness implementation.').
2293 cli_testcase(1232, [b_test,fairness,ltl], ['../prob_examples/public_examples/B/LTL/Fairness/MutualExclusion.mch', '-ltlassertions', '-strict'], 'Test fairness implementation.').
2294 cli_testcase(1233, [b_test,fairness,ltl], ['../prob_examples/public_examples/B/LTL/Fairness/WeakFairnessTest.mch', '-ltlassertions', '-strict'], 'Test fairness implementation.').
2295 cli_testcase(1234, [csp_test,fairness,ltl], ['../prob_examples/public_examples/CSP/LTL/phils.csp', '-ltlassertions', '-strict'], 'Test fairness implementation.').
2296 cli_testcase(1235, [csp_test,fairness,ltl], ['../prob_examples/public_examples/CSP/LTL/FairnessUnderscoreArgs.csp', '-ltlassertions', '-strict'], 'Test fairness.').
2297 cli_testcase(1236, [b_test,fairness,ltl], ['../prob_examples/public_examples/B/LTL/Fairness/RecursiveSCCs.mch', '-ltlformula', 'SF(C) => GF {addr=4 or addr =5}', '-expcterr', ltl, '-strict'], 'Test fairness implementation for finding the right counter example.').
2298 cli_testcase(1237, [b_test,fairness,ltl], ['../prob_examples/public_examples/B/LTL/Fairness/RecursiveSCCs.mch', '-ltlformula', 'SF(E) => GF {addr=4 or addr =5}', '-expcterr', ltl, '-strict'], 'Test fairness implementation for finding the right counter example.').
2299 cli_testcase(1238, [b_test,fairness,ltl], ['../prob_examples/public_examples/B/LTL/Fairness/RecursiveSCCs.mch', '-ltlformula', 'SF(D) => GF {addr=4 or addr =5}', '-expcterr', ltl, '-strict'], 'Test fairness implementation for finding the right counter example.').
2300 cli_testcase(1239, [b_test,fairness,ltl], ['../prob_examples/public_examples/B/LTL/Fairness/RecursiveSCCs.mch', '-ltlformula', 'SF(C) & SF(E) => GF {addr=4 or addr =5}', '-expcterr', ltl, '-strict'], 'Test fairness implementation for finding the right counter example.').
2301 cli_testcase(1240, [b_test,fairness,ltl], ['../prob_examples/public_examples/B/LTL/Fairness/RecursiveSCCs.mch', '-ltlformula', '(SF(C) & SF(E)) or (SF(F) & SF(E)) => GF {addr = 4 or addr = 5}', '-expcterr', ltl, '-strict'], 'Test fairness implementation for finding the right counter example.').
2302 cli_testcase(1241, [b_test,fairness,ltl], ['../prob_examples/public_examples/B/LTL/Fairness/RecursiveSCCs.mch', '-ltlformula', '(SF(C) & SF(E)) or (SF(F) & SF(E)) => GF {addr = 4 or addr = 5}', '-expcterr', ltl, '-strict'], 'Test fairness implementation for finding the right counter example.').
2303 cli_testcase(1242, [csp_test,fairness,ltl], ['../prob_examples/public_examples/CSP/LTL/rabp_scc_issue.csp', '-ltlassertions', '-strict'], 'Test fairness.').
2304 cli_testcase(1243, [csp_test,fairness,ltl], ['../prob_examples/public_examples/CSP/LTL/rabp_scc_issue.csp', '-ltlformula', 'SEF => G ([left.0] => F [right.0])', '-strict'], 'Test general fairness.').
2305 cli_testcase(1244, [b_test, ltl], ['../prob_examples/public_examples/B/LTL/Fairness/TestingFairness.mch',
2306 '-ltlformulat', true, '-ltlformulat', 'G{1=1}',
2307 '-ctlformulat', 'AG{1=1}', '-ctlformulaf', 'EF{1=2}',
2308 %'-ltlformulaf', false, % does not work !
2309 '-ltlformulaf', 'G{1=2}', '-strict'], 'Testing the trivial LTL formula true + other trivial ones.').
2310 cli_testcase(1245, [b_test, ltl], ['../prob_examples/public_examples/B/LTL/Fairness/TestingFairness.mch', '-ltlformulat', false, '-expcterr', 'ltl', '-strict'], 'Testing the trivial LTL formula false.').
2311 cli_testcase(1246, [cbc], [
2312 '-evalf', 'x/0 = 1 & x:1..20',
2313 '-evalf', 'x:-2..2 & 10/x =1',
2314 '-evalt', 'x:-2..2 & 10/x = 5',
2315 '-p', 'DISPROVER_MODE', 'TRUE'], 'Testing no WD error generated in disprover mode.').
2316 cli_testcase(1247, [cbc], [
2317 '-evalt', 'i>200 & (i mod 37 = 7)',
2318 '-evalt', 'i>200 & (i mod 37 = 1)',
2319 '-evalt', 'i>20 & (i mod 2 = 0)',
2320 '-evalf', 'i>200 & (i mod 37 = 7) & i < 229',
2321 '-evalt', '{i|i>200 & (i mod 50 = 10) & i<1000} = {210,260,310,360,410,460,510,560,610,660,710,760,810,860,910,960}',
2322 '-evalt', '{i|i>200 & (i mod 50 = 10) & i<1000 & i mod 100 /= 10} = {260,360,460,560,660,760,860,960}',
2323 '-evalt', 'x > 0 & x mod 30 =0 & x mod 19 = 0',
2324 '-evalt', 'x > 0 & x mod 50 =0 & x mod 61 = 0 & x mod 23 = 0',
2325 '-evalf', 'x > 0 & x mod 50 =0 & x mod 61 = 0 & x mod 23 = 0 & x<70150'
2326 ], 'Testing improved constraint propagation for modulo.').
2327 cli_testcase(1248, [tickets], ['../prob_examples/public_examples/B/Tickets/Disprover_InstantiationError/GraphColour_PO.mch', '-init', '-p', 'TIME_OUT', 300, '-p', 'DISPROVER_MODE', 'TRUE',
2328 '-expcterr', setup_constants_fails, '-opterr', time_out, '-strict'], 'Check that no instantiation error occurs'). % time_out may not occur on fast machines
2329 cli_testcase(1249, [cbc,slot], ['../prob_examples/public_examples/B/PerformanceTests/SlotToolSolver_Inconsistency.mch',
2330 '-init', '-p', 'TIME_OUT', 2500, '-expcterr', setup_constants_fails,
2331 '-opterr', 'setup_constants_inconsistent', '-strict'
2332 %,'-expcterr', det_value_not_stored_for_constant % changed from warning to message 18/02/2018
2333 ], 'Check that inconsistency detected quickly').
2334 cli_testcase(1250, [cbc], [
2335 '-evalf', 'f:0..100 --> POW(1..100) & f(20) = {99} & !x.(x:dom(f) => !y.(y:f(x) => y /= 99))',
2336 '-evalt', 'f:0..100 --> POW(1..100) & f(20) = {98} & !x.(x:dom(f) => !y.(y:f(x) => y /= 99))',
2337 '-evalf', 'f:0..100 --> POW(1..100) & f(20) = {99} & !x.(x:dom(f) => !y.(y:f(x) & y>20 => y /= 99))'
2338 ], 'Check universal quantification inconsistency detected').
2339 cli_testcase(1251, [cbc,chr], ['../prob_examples/examples/RodinModels/Pacemaker/PO_M4_AATR_Decrease_Interval_inv2_INV.mch', '-init', '-p', 'TIME_OUT', 500, '-p', 'DISPROVER_MODE', 'TRUE', '-expcterr', %'setup_constants_fails'
2340 'setup_constants_inconsistent' % with changes from May 15th 2026 we now get PARTIAL_SETUP_CONSTANTS solutions
2341 ], 'Check that inconsistency detected quickly (with CHR)').
2342 cli_testcase(1252, [cbc,wd], ['../prob_examples/examples/RodinModels/Pacemaker/PO_M4_AATR_Decrease_Interval_inv2_INV.mch', '-init', '-p', 'TIME_OUT', 300, '-p', 'DISPROVER_MODE', 'FALSE', '-expcterr', setup_constants_fails,
2343 '-opterr', 'setup_constants_unknown',
2344 '-opterr', time_out,
2345 '-opterr', virtual_time_out,
2346 '-expcterr', well_definedness_error, '-strict'], 'Check that division by zero detected.').
2347 cli_testcase(1253, [tickets,union], ['../prob_examples/public_examples/B/Tickets/LambdaUnionEnumWarning/Seq1UnionFunction.mch',
2348 '-init', '-assertions', '-strict'], 'Check that symbolic function not expanded in rel. composition').
2349 cli_testcase(1254, [cbc, tickets, chr], ['-p', 'CHR', 'TRUE',
2350 '-evalf', 'x> a & x: 33..a',
2351 '-evalt', 'x>=a & x>=33 & x<=a',
2352 '-evalf', 'x>a & x>=33 & x<=a'
2353 ], 'Check CHR detects inconsistencies').
2354 cli_testcase(1255, [cbc], ['-p', 'DISPROVER_MODE', 'TRUE',
2355 '-evalf', 'z>0 & z mod z = 100 & x:{1,2,3} & not(x>0)'], 'Check no enum warning').
2356 cli_testcase(1256, [tickets,card], [
2357 '../prob_examples/public_examples/EventBPrologPackages/Tickets/Cansell_RingLead/ring_ctx.eventb',
2358 '-init'], 'Check no infinite loop when computing minimum cardinality').
2359 cli_testcase(1257, [b_test,csp_test,ltl,fairness,cspb],['../prob_examples/public_examples/CSPB/Williams/ME.mch', '-csp-guide', '../prob_examples/public_examples/CSPB/Williams/ME.csp', '-ltlassertions', '-strict'],'Check ltl assertions with imposed fairness constraints in (ME.mch|| ME.csp).').
2360 cli_testcase(1258, [eventb_test,ltl],['../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Concurrent/fact_m_v3_mch.eventb', '-ltlformulat', 'F ([found0])', '-strict'],'Check an ltl formula on an Event-B model.').
2361 cli_testcase(1259, [b_test,csp_test,ltl,fairness,cspb],['../prob_examples/public_examples/CSPB/Williams/pris.mch', '-csp-guide', '../prob_examples/public_examples/CSPB/Williams/pris.csp', '-ltlformulat', 'SF(In.p1) & SF(In.p2) & SF(In.p3) => F[Done]', '-strict'],'Check an LTL formula with imposed fairness constraints in (pris.mch|| pris.csp).').
2362 cli_testcase(1260, [b_test,proz,theories,infinite],['../prob_examples/public_examples/B/NewSyntax/FreetypeIntList.mch',
2363 '../prob_examples/public_examples/B/NewSyntax/FreeTypeAndRecursion.mch',
2364 '-p','MAXINT',10,'-t','-strict'],
2365 'Check rudimental freetype functionally').
2366 cli_testcase(1261, [cbc], [
2367 '-evalt', '(x:{y|y:NATURAL & y mod 100 = 1} <=> v=0) & v=0 & x>1'
2368 ], 'Test reification of closures').
2369 cli_testcase(1262, [b_test,union],['../prob_examples/public_examples/B/Tickets/Hansen8/EnumerateFunctionTests.mch','-mc', 1000, '-cc', 4,10,'-strict'],'Check union with full relations does not time out').
2370 cli_testcase(1263, [b_test,tickets,card],['../prob_examples/public_examples/EventBPrologPackages/Tickets/CardTruthBody/DPLL_Backtrack_mch_not_symbolic.eventb', '-t', '-mc', 100, '-strict'],'Check function unit_resolve detected as symbolic without symbolic annotation').
2371 cli_testcase(1264, [b_test,infinite], ['../prob_examples/public_examples/B/Mathematical/FormaleSprachen.mch',
2372 '-init','-assertions', '-strict'], 'Checking various operations work on infinite sets (e.g., complement set).').
2373 cli_testcase(1265, [tickets,card], ['../prob_examples/public_examples/EventBPrologPackages/Tickets/MinCardInference/RegularGrammar_Ex1_ctx.eventb', '-init',
2374 '-evalt', 'card(Symbols)=4',
2375 '-evalt', 'card(NonTerminals)=2',
2376 '-evalt', 'card(Terminals)=2'], 'Check that minimum cardinality inference works').
2377 cli_testcase(1266, [b_test],['../prob_examples/public_examples/B/Tickets/Hansen9/SimpleCSGGrammar2_SlowCLPFD.mch','-t','-strict','-p','CLPFD','TRUE'],'Check no time-out').
2378 cli_testcase(1267, [cbc,sequences], [
2379 '-evalt', '{n|[11,22,3,4,5,6,7] /|\\ n = [11,22]} = {2}'
2380 , '-evalt', '{l|[2222]^l /|\\ 7 = l} = {[2222,2222,2222,2222,2222,2222,2222]}'
2381 , '-evalt', '{x,n|[1111,x,33,44] /|\\ n = [1111,2222] & n:0..4} = {(2222,2)}'
2382 , '-evalt', '{x,y,n|[1111,x,3333,4444,y,y] /|\\ n = [1111,2222,3333,4444,5555] & n:0..6} = {((2222|->5555)|->5)}'
2383 %,'-evalt', '{n,x,y|[11,22,3,4,5,6,7] /|\ n = [x,y]} = {((2|->11)|->22)}' % does not work yet TO DO
2384 ],
2385 'test sequence constraint solving').
2386 cli_testcase(1268, [b_test,recursion,external,infinite], ['../prob_examples/public_examples/B/RecursiveFunctions/Factorial_TLAStyle.mch', '-init', '-assertions', '-strict', '-p', 'SYMBOLIC', 'FALSE'], 'Test that other recursive function works also with TLA style if-then-else.').
2387 cli_testcase(1269, [tickets,card], [
2388 '-evalt', 'm={{1,2},{1,3}} & {k1,k2|k1:m & 1:k1 & k2:m & 1:k2 & k1/=k2} =r & card(r)=2',
2389 '-evalt', 'm={{1,2},{1,3},{2,3}} & {k1,k2|k1:m & 1:k1 & k2:m & 1:k2 & k1/=k2} =r & card(r)=2',
2390 '-evalt', 'm={{1,2},{1,3}} & {k1,k2|k1:m & 1:k1 & k2:m-{k1} & 1:k2} =r & card(r)=2',
2391 '-evalt', 'm={{1,2},{1,3},{2,3}} & {k1,k2|k1:m & 1:k1 & k2:m-{k1} & 1:k2} =r & card(r)=2'
2392 ], 'ensure bug in not_equal_object for sets remains fixed').
2393 cli_testcase(1270, [laws], ['../prob_examples/public_examples/B/Laws/SetLawsPow2.mch', '-mc', '200', '-bf', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'TRUE', '-expcterr', 'model_check_incomplete'], 'More laws about sets of sets').
2394 cli_testcase(1271, [b_test],['../prob_examples/public_examples/B/Tickets/Hansen10/PrettyPrintBug.mch','-mc', 200, '-t', '-his', '../prob_examples/public_examples/B/Tickets/Hansen10/PrettyPrintBug_his.txt','-strict'],'Check no time-out').
2395 cli_testcase(1272, [cbc,card], [
2396 '-evalf', 'card({x|x:1..10 & x*x<i}) = 0 & i>1',
2397 '-evalt', 'card({x|x>1 & x<2**e & x mod 2 = 0}) = 0',
2398 '-evalt', 'card({b|b:1..8 & b mod n = 1})=c & n:2..4',
2399 '-evalt', 'f: 1..n --> 0..1000 & f(1)=0 & card({i|i:1..n & f(i)>0}) = n/2 & n=100',
2400 '-evalt', 'n=20 & f:1..n --> BOOL & card({x|x:1..n & f(x)=TRUE})=n/2 & !y.(y:1..(n-1) => ( f(y)=TRUE => f(y+1)=TRUE))',
2401 '-evalt', 'n=100 & f:1..n --> BOOL & card({x|x:dom(f) & f(x)=TRUE})=50'
2402 ], 'ensure proper reification of card').
2403 cli_testcase(1273, [cbc,card], [
2404 '-evalf', '{10,22} <: {x|x>10 & x mod 2 = 0}',
2405 '-evalt', '{100,22} <: {x|x>10 & x mod 2 = 0}',
2406 '-evalf', '{11,22} <: {x|x>10 & x mod 2 = 0}',
2407 '-evalt', 'card({S|S <<: 12..15 & (12:S => 15:S & 14 /:S) & (13:S <=> 12:S) & S/={}})=4',
2408 '-evalt', 'card({S|S <<: 12..14 & (12:S => 15:S & 14 /:S) & (13:S <=> 12:S) & S/={}}) =1',
2409 '-evalt', 'card({S|S <<: 12..19 & (12:S => 15:S & 14 /:S) & (13:S <=> 12:S) & S/={}})=79',
2410 '-evalt', 'card({S|S <<: 11..18 & (12:S => 15:S & 14 /:S) & (15:S <=> 12:S) & S/={}})=95',
2411 '-evalt', 'card({S|S <: 11..18 & (12:S => 15:S & 14 /:S) & (15:S <=> 12:S) & S/={}})=95',
2412 '-evalt', 'card({S|S <: 12..15 & (12:S => 15:S) & 14 /:S }) = 6',
2413 '-evalt', 'card({S|S <<: 12..15 & (12:S => 15:S) & 14 /:S }) = 6',
2414 '-evalt', '({S|S <: 12..15 & (12:S => 15:S) & 14 /:S }) = {{},{12,15},{13},{12,13,15},{13,15},{15}}'
2415 ], 'ensure no expansion in subset and proper computation of all solutions').
2416 cli_testcase(1274, [tickets],['../prob_examples/public_examples/B/Tickets/Hansen11/RecNatFunLoop.mch', '-init', '-assertions', '-strict', '-vv'],'Check no infinite recursion').
2417 cli_testcase(1275, [tickets,typechecker_test,let],['../prob_examples/public_examples/B/ErrorMachines/TestScopeLHSAssignmentLET.mch', '-init', '-strict', '-expcterr', type_error, '-expcterr', load_main_file],'LET introduces a duplicate variable').
2418 cli_testcase(1276, [tickets,cbc],['../prob_examples/public_examples/B/Compilers/LLParsing.mch', '-t', '-strict'],'Check no enumeration warning due to existential quantifiers').
2419 cli_testcase(1277, [tickets,typechecker_test],['../prob_examples/public_examples/B/Tickets/PROB-333/InvalidAssignmentBecomesSuch.mch', '-init', '-strict', '-expcterr', type_error, '-expcterr', load_main_file],'A becomes such assignment is not allowed to write to an read-only identifier').
2420 cli_testcase(1278, [tickets,typechecker_test],['../prob_examples/public_examples/B/Tickets/PROB-333/InvalidAssignmentElementOf.mch', '-init', '-strict', '-expcterr', type_error, '-expcterr', load_main_file],'An element of assignment is not allowed to write to an read-only identifier').
2421 cli_testcase(1279, [tickets,typechecker_test],['../prob_examples/public_examples/B/Tickets/PROB-333/InvalidAssignmentOpCall.mch', '-init', '-strict', '-expcterr', type_error, '-expcterr', load_main_file],'An operation call assignment is not allowed to write to an read-only identifier').
2422 cli_testcase(1280, [tickets,typechecker_test],['../prob_examples/public_examples/B/Tickets/PROB-333/InvalidAssignmentToAnyVar.mch', '-init', '-strict', '-expcterr', type_error, '-expcterr', load_main_file],'Assignment to variables introduced by ANY are not allowed').
2423 cli_testcase(1281, [tickets,typechecker_test,let],['../prob_examples/public_examples/B/Tickets/PROB-333/InvalidAssignmentToLetVar.mch', '-init', '-strict', '-expcterr', type_error, '-expcterr', load_main_file],'Assignment to variables introduced by LET are not allowed').
2424 cli_testcase(1282, [tickets,let,card],['../prob_examples/public_examples/B/Tickets/PROB-333/M1.mch'
2425 , '-init', '-strict', '-assertions'
2426 , '-evalt', '#(b).(b:NAT)'
2427 , '-evalt', '#(a).(a:NAT)'
2428 , '-evalt', '!(a).(a:ID => card(ID-{a}) = 1)'
2429 , '-evalt', '!(ab).(ab:ID => card(ID-{ab}) = 1)'
2430 , '-evalt', ' #aa.(not(myTRUE))'
2431 , '-evalt', '{aa|myTRUE} = {aa}'
2432 , '-expcterrpos', definition_variable_capture, 6, 10
2433 , '-expcterrpos', definition_variable_capture, 7, 5
2434 , '-expcterrpos', definition_variable_capture, 1, 10
2435 , '-expcterrpos', definition_variable_capture, 1, 4 % from -evalt's above
2436 ],'Assignment to variables introduced by LET are not allowed').
2437 cli_testcase(1283, [b_test,wd], ['../prob_examples/public_examples/B/ErrorMachines/NestedFunUpdate_Error.mch', '-nodead', '-mc', 10, '-strict',
2438 '-expcterr', 'well_definedness_error'], 'Ensure we find error in assignment.').
2439 cli_testcase(1284, [eventb_test,tickets], ['../prob_examples/public_examples/EventBPrologPackages/Tickets/SlowLambdaFunctions/TestParIf2_v2_mch.eventb',
2440 '-p', 'MAX_OPERATIONS', 40,
2441 '-p', 'TIME_OUT', 1000,
2442 '-mc', 1000, '-expcterr', 'model_check_incomplete', '-cc', 193, 4369,
2443 '-strict'], 'Ensure performance acceptable for nested function applications.').
2444 cli_testcase(1285, [cbc], ['../prob_examples/public_examples/B/Tickets/PartialFunCBCPerformance/Prove_simpler_ctx.eventb',
2445 '../prob_examples/public_examples/B/Tickets/PartialFunCBCPerformance/ProveCommutativityAxioms_ctx.eventb',
2446 '-p', 'TIME_OUT', 1000, '-p', 'MAX_INITIALISATIONS', 90,
2447 '-init', '-mc', 1000, '-nodead', '-strict'
2448 ], 'Ensure we find solution to initalisation.').
2449 cli_testcase(1286, [eventb_test,choose, theories],['../prob_examples/public_examples/EventBPrologPackages/Theory/TestHilbert.eventb','-assertions','-strict'], 'Test if the tagged CHOOSE operator in a theory works.').
2450 cli_testcase(1287, [eventb_test, recursion, infinite, theories],['../prob_examples/public_examples/EventBPrologPackages/Theory/RecursiveSetFunctions_ctx.eventb','-assertions', '-init', '-strict',
2451 '-evalt', 'sumset(1..1000) = 500500'], 'Test that recursive functions with COND work and that we can use Theory operators in evalt.').
2452 cli_testcase(1288, [tickets,smt_test,chr,siemens],['../prob_examples/examples/B/Siemens/RuleValidation/v7_4_trad_pour_m_leuschel-2012-05-04/OrderXY_78_1.mch',
2453 '-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE', '-p', 'CHR', 'TRUE', '-p', 'DISPROVER_MODE', 'TRUE', '-p', 'TIME_OUT', 100,
2454 '-expcterr', cbc_assertions_time_out,
2455 '-cbc_assertions','-strict'], 'Test Siemens Proof Rule.').
2456 cli_testcase(1289, [tickets,records],['../prob_examples/public_examples/B/Tickets/Hansen12/RecordCallResidue.mch', '-init', '-assertions', '-strict'],'Check no call residue for records.').
2457 cli_testcase(1290, [tickets,infinite],['../prob_examples/public_examples/B/Tickets/Hansen13/VirtualTimeout.mch', '-init', '-mc', 100, '-strict', '-expcterr', 'time_out_for_invariant',
2458 '-expcterr', 'model_check_incomplete', '-p', 'TRY_FIND_ABORT', 'TRUE' % prevents merging invariants
2459 ],'Check virtual time-out in invariant handled.').
2460 cli_testcase(1291, [tickets,infinite,override],['../prob_examples/public_examples/B/Tickets/Hansen13/OverrideSymbolicTest.mch', '-t', '-strict'],'Check override substitution works symbolically.').
2461 cli_testcase(1292, [b_test,case],['../prob_examples/examples/B/Satpathy/Teletext104/Teletext104_deterministic.mch', '-t', '-strict'],'Check this relatively large machine works.').
2462 cli_testcase(1293, [b_test,tla],['../prob_examples/public_examples/TLA/Tests/TLC_Regression_Tests/test1.tla', '-mc', 100, '-strict'], 'TLC regression test: equality.').
2463 cli_testcase(1294, [b_test,tla],['../prob_examples/public_examples/TLA/Tests/TLC_Regression_Tests/test2.tla', '-mc', 100, '-strict'], 'TLC regression test: functions.').
2464 %cli_testcase(1295, [b_test,tla],['../prob_examples/public_examples/TLA/Tests/TLC_Regression_Tests/test3.tla', '-mc', 100, '-strict'], 'TLC regression test: function application.'). virtual timeout PROB-367
2465 cli_testcase(1296, [b_test,tla],['../prob_examples/public_examples/TLA/Tests/TLC_Regression_Tests/test4.tla', '-mc', 100, '-strict'], 'TLC regression test: sets.').
2466 cli_testcase(1297, [b_test,tla],['../prob_examples/public_examples/TLA/Tests/TLC_Regression_Tests/test5.tla', '-mc', 100, '-strict'], 'TLC regression test: Cartesian Product.').
2467 cli_testcase(1298, [b_test,tla],['../prob_examples/public_examples/TLA/Tests/TLC_Regression_Tests/test6.tla', '-mc', 100, '-strict'], 'TLC regression test: Propositional Logic.').
2468 cli_testcase(1299, [b_test,tla,choose],['../prob_examples/public_examples/TLA/Tests/TLC_Regression_Tests/test7.tla',
2469 '-expcterrpos', 'bmachine_static_checks', 34, 9, % forall rhs does not use ids
2470 '-mc', 100, '-strict'], 'TLC regression test: Choose operator.').
2471 cli_testcase(1300, [cbc], [
2472 '-evalf', '[1,2,3,3,3,4] : seq({1, 2, 3}) - seq({1, 2})',
2473 '-evalt', '[1,2,3,3,3,4] /: seq({1, 2, 3}) - seq({1, 2})',
2474 '-evalf', '[1,2,2,2,2,1] : seq({1, 2, 3}) - seq({1, 2})',
2475 '-evalt', '[1,2,2,2,2,1] /: seq({1, 2, 3}) - seq({1, 2})',
2476 '-evalt', '[1,2,3,3,3,2] : seq({1, 2, 3}) - seq({1, 2})',
2477 '-evalf', '[1,2,3,3,3,2] /: seq({1, 2, 3}) - seq({1, 2})',
2478 '-evalt', '[1,2,2,2,2,1,v] : seq({1, 2, 3}) - seq({1, 2}) & v>1',
2479 '-evalt', '{x | x : NATURAL - {x|x>10}} = 0..10',
2480 '-evalt', '{x | x : NATURAL - NATURAL1} = 0..0',
2481 '-evalt', 'x /: NATURAL - {x|x>10} & x>0 & x<100',
2482 '-evalt', '11..99 = {x|x /: NATURAL - {x|x>10} & x>0 & x<100}',
2483 '-evalt', 'x : NATURAL1 /\\ {x|x>20 & x mod 2 = 0}',
2484 '-evalt', 'x /: NATURAL1 /\\ {x|x>20 & x mod 2 = 0}',
2485 '-evalt', '-11 /: NATURAL1 /\\ {x|x>20 & x mod 2 = 0}',
2486 '-evalt', '1024 : NATURAL1 /\\ {x|x>20 & x mod 2 = 0}',
2487 '-evalf', '1024 /: NATURAL1 /\\ {x|x>20 & x mod 2 = 0}',
2488 '-evalt', '1025 /: NATURAL1 /\\ {x|x>20 & x mod 2 = 0}',
2489 '-evalf', '1025 : NATURAL1 /\\ {x|x>20 & x mod 2 = 0}',
2490 '-evalt', '[1,2] : seq({1, 2, 3}) /\\ seq({0, 1, 2})',
2491 '-evalt', '[1,2,3] /: seq({1, 2, 3}) /\\ seq({0, 1, 2})',
2492 '-evalt', '[1,2,3,4] /: seq({1, 2, 3}) /\\ seq({0, 1, 2})',
2493 '-evalt', '[1,2,2,2,1,2] : seq({1, 2, 3}) /\\ seq({0, 1, 2})',
2494 '-evalt', 'seq({1, 2, 3}) /\\ seq({0, 1, 2}) = sq & [1,2,2,2,1] : sq',
2495 '-evalt', 'seq({1, 2, 3}) \\/ seq({0, 1, 2}) = sq & [1,2,3,3,2] : sq',
2496 '-evalf', 'seq({1, 2, 3}) \\/ seq({0, 1, 2}) = sq & [1,2,3,3,2] /: sq',
2497 '-evalt', 'seq({1, 2, 3}) \\/ seq({0, 1, 2}) = sq & [1,2,3,3,2,0] /: sq',
2498 '-evalf', 'seq({1, 2, 3}) \\/ seq({0, 1, 2}) = sq & [1,2,3,3,2,0] : sq',
2499 '-evalt', '{200,201,301,400} - {x|x>0 & x mod 100 = 0} = {201,301}',
2500 '-evalt', '{200,201,301,400} /\\ {x|x>0 & x mod 100 = 0} = {200,400}',
2501 '-evalt', '500 : ( {x|x>0 & x mod 100 = 0} - {200,400})',
2502 '-evalt', '400 /: ( {x|x>0 & x mod 100 = 0} - {200,400})',
2503 '-evalf', '400 : ( {x|x>0 & x mod 100 = 0} - {200,400})',
2504 '-evalt', 'abs = id(NATURAL) \\/ %x.(x<0|-x) & abs(2001)=2001 & abs(-2002)=2002', % added 23.3.2015
2505 '-evalt', 'f = id(NATURAL) /\\ %x.(x<100|-x) & f={0|->0}', % added 23.3.2015
2506 '-evalt', 'abs = %x.(x<0|-x) \\/ id(NATURAL) & abs(2001)=2001 & abs(-2002)=2002', % added 23.3.2015
2507 '-evalt', '0: NATURAL - {1} - {2}', % added 14.5.2018
2508 '-evalt', '3: NATURAL - {1} - {2}', % added 14.5.2018
2509 '-evalf', '1: NATURAL - {1} - {2}', % added 14.5.2018
2510 '-evalf', '2: NATURAL - {1} - {2}', % added 14.5.2018
2511 '-evalt', '33: NATURAL - {1} - {2}', % added 14.5.2018
2512 '-evalf', '0: NATURAL1 - {11} - {22}', % added 14.5.2018
2513 '-evalf', '11: NATURAL1 - {11} - {22}', % added 14.5.2018
2514 '-evalf', '22: NATURAL1 - {11} - {22}', % added 14.5.2018
2515 '-evalt', '1: NATURAL1 - {11} - {22}', % added 14.5.2018
2516 '-evalt', '23: NATURAL1 - {11} - {22}', % added 14.5.2018
2517 '-evalf', '{} = NATURAL1 - {11} - {22}' % added 14.5.2018
2518 ], 'ensure symbolic treatment of set difference and intersection membership').
2519 cli_testcase(1301, [tickets,infinite,strings,card], [
2520 '-evalt', 'NATURAL1 /: {NATURAL,INTEGER,NATURAL,1..2,{}}',
2521 '-evalf', 'NATURAL1 : {NATURAL,INTEGER,NATURAL,1..2,{}}',
2522 '-evalt', 'NATURAL1 : {NATURAL,INTEGER,NATURAL1,1..2,{}}',
2523 '-evalt', '1..2 : {NATURAL,INTEGER,NATURAL1,1..2,{},1..3,{2}}',
2524 '-evalt', '{} : {NATURAL,INTEGER,NATURAL1,1..2,{},1..3,{2}}',
2525 '-evalt', '{NATURAL} <: {NATURAL,INTEGER,NATURAL1,1..2,{},1..3,{2}}',
2526 '-evalt', '{NATURAL} <<: {NATURAL,INTEGER,NATURAL1,1..2,{},1..3,{2}}',
2527 '-evalt', '{NATURAL,{},INTEGER} <<: {NATURAL,INTEGER,NATURAL1,1..2,{},1..3,{2}}',
2528 '-evalt', '{NATURAL,{},INTEGER,{1,2}} <<: {NATURAL,INTEGER,NATURAL1,1..2,{},1..3,{2}}',
2529 '-evalf', '{NATURAL,{},INTEGER,{1,3}} <<: {NATURAL,INTEGER,NATURAL1,1..2,{},1..3,{2}}',
2530 '-evalt', '7=card({NATURAL,INTEGER,NATURAL1,1..2,{},1..3,{2}})',
2531 '-evalt', '5=card({NATURAL1,INTEGER,NATURAL1,1..2,{},1..3,{1,2}})',
2532 '-evalt', '{NATURAL1,INTEGER,x} = r & {}:r',
2533 '-evalt', '{STRING,{},{"hallo"}} = s & card(s)=3 & {}:s & STRING:s',
2534 '-evalt', 'r = { {1..2},{NATURAL}, {INTEGER}, {{}}, {NATURAL1}, {NATURAL1,NATURAL} } & {x} : r & x=NATURAL',
2535 '-evalt', 'r = { {1..2},{NATURAL}, {INTEGER}, {{}}, {NATURAL1}, {NATURAL1,NATURAL} } & {x,y} : r & x=NATURAL & y=NATURAL1',
2536 '-evalf', 'r = { {1..2},{NATURAL}, {INTEGER}, {{}}, {NATURAL1}, {NATURAL1,INTEGER} } & {x,y} : r & x=NATURAL & y=NATURAL1',
2537 '-evalt', '{x|x>10 & x*x = 100} : {NATURAL,{},1..3,{2},INTEGER}',
2538 '-evalt', '{x|x>4 & x*x = 100} : {NATURAL,{},1..3,{10},INTEGER}',
2539 '-evalt', '{3,2,1} : {NATURAL1,{},1..3,{2},INTEGER}'
2540 ], 'test putting infinite global sets into AVL sets').
2541 cli_testcase(1302,[private,data_validation,alstom,while],['../prob_examples/examples/B/Alstom/Ticket_July2_2014/Rule_TMS_Signal_0107.mch','-strict', '-t', '-pref_group', integer, int32, '-p', 'TIME_OUT', 15000 ], 'Ticket related to variables only read in while loop').
2542 cli_testcase(1303,[private,data_validation,alstom,while],['../prob_examples/examples/B/Alstom/Ticket_July2_2014/Rule_DB_SIGAREA_0030.mch','-strict', '-t', '-pref_group', integer, int32, '-p', 'TIME_OUT', 15000,
2543 '-mc', 100, '-bf',
2544 '-expcterr', 'invariant_violation' , '-expcterr', bmachine_static_checks, '-expcterrpos', type_error, 719, 48], 'Ticket related to local variables modified in while loop which are also constants of another machine (length)').
2545 cli_testcase(1304, [eventb_test,laws, proz, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/ListLawsMC_inf_mch.eventb','-t', '-strict',
2546 '-expcterr', 'virtual_time_out'], 'Various checks for sets involving freetypes (Lists Theory; PROB-325) that no wd-error occurs').
2547 cli_testcase(1305, [cbc], ['../prob_examples/public_examples/B/Puzzles/Euler_Project/Euler_Problem_009.mch', '-init', '-strict', '-p', 'CLPFD', 'TRUE', '-properties'], 'Test that this puzzle now solved also when encoded as machine').
2548 cli_testcase(1306, [b_test],['../prob_examples/public_examples/B/Tickets/Hansen15/PostCorrespondence_MC.mch','-mc', 50, '-t', '-strict', '-p', 'TIME_OUT', 3500, '-expcterr', 'model_check_incomplete'],'Check no call residue').
2549 cli_testcase(1307,[private,b_test,alstom,data_validation],['../prob_examples/examples/B/Alstom/Ticket_July9_2014/Rule_TMS_Overlap_0062.mch','-strict', '-expcterr', type_error, '-expcterr', load_main_file], 'Ticket related to operation defined multiple times + raising of error messages').
2550 cli_testcase(1308, [b_test,kodkod,tickets], ['../prob_examples/public_examples/B/Tickets/PROB-331/HadamardMatrixRel_ForKodkod.mch', '-init', '-strict', '-p','TIME_OUT',3000, '-p', 'SOLVER_FOR_PROPERTIES', 'kodkod', '-p', 'KODKOD_ONLY_FULL', 'FALSE'], 'Check that Kodkod finds solution. (PROB-331)').
2551 cli_testcase(1309,[proz,recursion],['../prob_examples/public_examples/Z/Tickets/PROB-343/RecursiveDatatype.fuzz','-p','DEFAULT_SETSIZE','2','-p','TIME_OUT','1000','-mc',1000,'-nodead','-cc',4,3,'-strict'],'Z Freetypes: Checking simple recursive definition').
2552 cli_testcase(1310, [tickets], [
2553 '../prob_examples/public_examples/B/Tickets/PROB-335/RecordDetectionBugSimple.mch', % used to generate a virtual time-out (fixed July 13th 2014)
2554 '../prob_examples/public_examples/B/Tickets/PROB-335/ExtremaFinding.mch', '-mc', 100, '-p', 'MAX_INITIALISATIONS', 20, '-nodead',
2555 '-init', '-assertions', '-strict'], 'Check that Record Detection does not mess up. (PROB-335)').
2556 cli_testcase(1311, [cbc], ['-evalt', 'a : NATURAL & b : NATURAL & c : NATURAL & a < b & b < c & a**2 + b ** 2 = c ** 2 & a + b + c = 1000 & result=PI(x).(x:{a,b,c}|x)'], 'Test that Euler Puzzle 9 can be solved using Eval console').
2557 cli_testcase(1312, [cbc], ['../prob_examples/public_examples/B/Puzzles/Euler_Project/Euler_Problem_004.mch', '-init', '-strict', '-p', 'CLPFD', 'TRUE', '-properties', '-assertions','-p', 'TIME_OUT', 10000 ], 'Test that this puzzle can be solved'). % temporariliy set an increased time-out (Sept. 2014) TO DO: remove again !!
2558 cli_testcase(1313, [tickets,infinite],
2559 ['-evalt', 'x=prj1(INTEGER,INTEGER) & y=prj1(INTEGER,INTEGER) & x=y',
2560 '-evalt', 'x=prj1(INTEGER,POW(NATURAL*INTEGER)) & y=prj1(INTEGER,POW(NATURAL*INTEGER)) & x=y',
2561 '-evalt', 'prj1(NATURAL1,NATURAL1)(222,333)=222',
2562 '-evalt', 'prj2(NATURAL1,NATURAL1)(222,333)=333',
2563 '-evalt', 'dom(prj1(NATURAL,NATURAL1)) = NATURAL*NATURAL1',
2564 '-evalt', 'dom(prj2(NATURAL1,NATURAL1)) = NATURAL1*NATURAL1'
2565 ], 'Check that no infinite expansion occurs when comparing two prj1 functions + other prj1/prj2 tests (PROB-346)').
2566 cli_testcase(1314, [cbc,card], [
2567 '-evalt', ' s = [x,y,z] & rev(s) = {1|->v,v|->w,w|->v} & v>w',
2568 '-evalt', '{s,x,y,z,v,w|s = [x,y,z] & rev(s) = {1|->v,v|->w,w|->v} & v>w} = {((((([2,3,3]|->2)|->3)|->3)|->3)|->2)}',
2569 '-evalt', 'rev({x|->y}) = {v|->w} & w:NATURAL',
2570 '-evalt', 'card({s,x,y,z,v,w|s = [x,y,z] & rev(s) = {1|->v,v|->w,w|->v} }) = 2',
2571 '-evalt', '{s,x,y,z,v,w|s = [x,y,z] & rev(s) = {1|->v,v|->w,w|->v} } = {((((([2,3,2]|->2)|->3)|->2)|->2)|->3),((((([2,3,3]|->2)|->3)|->3)|->3)|->2)}',
2572 '-evalt' , '{v,w,x,y,z|{1|->v,v|->w,w|->v} = [x,y,z]} = {((((2|->3)|->2)|->3)|->2),((((3|->2)|->3)|->3)|->2)}',
2573 '-evalt' , '{v,w,x,y|{1|->v,v|->w,w|->v} = [x,y,x]} = {(((2|->3)|->2)|->3)}',
2574 '-evalt', 'min({1+10,x}) = max({1+10,x})',
2575 '-evalt', '{x|min({1+10,x}) = max({1+10,x})} = {11}'
2576 ], 'Testing constraint propagation for reverse and unification with set extensions.').
2577 cli_testcase(1315, [cbc], [
2578 '-evalf', 'x:INTEGER & x>y & x=y',
2579 '-evalf', 'x+1 > y+1 & x=y',
2580 '-evalf', 'x+1 < y+1 & x=y',
2581 % require CHR: '-evalf', 'x<y & y<z & x=z', or '-evalf', 'x+1 < y & x=y'
2582 '-evalt', '!(x,y).(x:INTEGER & x>y => x/=y)'
2583 ], 'Check simple inconsistencies with <, > detected now').
2584 cli_testcase(1316, [cbc], ['../prob_examples/public_examples/B/Puzzles/Euler_Project/Euler_Problem_067.mch', '-init', '-strict', '-p', 'CLPFD', 'TRUE', '-assertions','-p', 'TIME_OUT', 5000 %increased time-out for cobra
2585 ], 'Test challenging puzzle').
2586 cli_testcase(1317, [csp_test,ltl], ['../prob_examples/public_examples/CSP/other/Ivo/Underscore_LTL.csp', '-ltlassertions', '-strict'], 'Checking underscore arguments in LTL formulas.').
2587 cli_testcase(1318, [b_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/Demo/scheduler.mch', '-mc', '100', '-cc', '36', '156', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'COMPRESSION' , 'TRUE'], 'Test COMPRESSION for spec using sets').
2588 cli_testcase(1319, [b_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/Demo/scheduler.mch',
2589 '-mc', '100', '-bf', '-cc', '36', '156', '-p', 'DEFAULT_SETSIZE', '3', '-save_state',
2590 '../prob_examples/public_examples/B/Demo/scheduler_bf_states.P'], 'Test -save_state works').
2591 cli_testcase(1320, [cbc], [
2592 '-evalt', 's = {y|y>2 & y mod 33 /= 1} & r={x|x:30..100 & x /:s} & r={34,67,100}'], 'check b_not_test_closure_enum works').
2593 cli_testcase(1321, [cbc,wd], [
2594 '-evalnwd', '{} : (1..(10/0) +-> {22})',
2595 '-expcterr', well_definedness_error], 'check WD error detected for binary_in_definitely_true').
2596 cli_testcase(1322, [cbc,wd], [
2597 '-evalnwd', '{} : POW(1..(10/0))',
2598 '-expcterr', well_definedness_error], 'check WD error detected for unary_in_definitely_true').
2599 cli_testcase(1323, [eventb_test,tickets,theories], ['../prob_examples/public_examples/EventBPrologPackages/Tickets/testSUM_Theory_agg_op_ctx.eventb',
2600 '-init', '-assertions',
2601 '-strict'], 'Ensure no variable clash with agg_op1/2.').
2602 cli_testcase(1324, [b_test], [
2603 '-eval', 'a & b', % <-- error
2604 '-evalt', 'a=5',
2605 % '-p', 'BOOL_AS_PREDICATE', 'TRUE' % no longer exists, hence we now get an error:
2606 '-expcterr' ,parse_machine_predicate_error
2607 ], 'Extended formula syntax (is no longer supported).').
2608 cli_testcase(1325, [b_test,refinement,card], ['../prob_examples/public_examples/B/FeatureChecks/Refinement/RefDefSetAsEnumSet.mch',
2609 '-init', '-assertions',
2610 '-strict'], 'Ensure enumerated set declaration in refinement using all-diff with card detected.').
2611 cli_testcase(1326, [b_test,cse, cse_test, strings], ['-p', 'CSE', 'TRUE', '-p', 'TIME_OUT', 150,
2612 '-evalf', 'x:1..500000 & y:1..500000 & (x+y)**2 = 4+(x+y)**2',
2613 '-evalf', '(x*y*z) = (y*x*z)+10',
2614 '-evalf', '(x*y*z) = (y*z*x)+10',
2615 '-evalf', '(x*(z*y)) = ((y*x)*z)+10',
2616 '-evalf', '(x*y*z*z*x) = (z*x*y*x*z)+10',
2617 '-evalf', '(x*y*(z*z)*x) = (z*(x*y)*x*z)+10',
2618 '-evalf', '(x\\/y\\/v\\/x) /= (v\\/x\\/y) & x<:BOOL', % CSE does not fully detect LHS and RHS identical (because of idempotence)
2619 '-evalf', '(x\\/y\\/v\\/x) /= (v\\/x\\/x\\/y) & x<:BOOL',
2620 '-evalf', '(x\\/y\\/v\\/x) /= (v\\/x\\/x\\/y) & x<:STRING',
2621 '-evalf', '(x\\/y\\/v\\/x) <<: (v\\/x\\/x\\/y) & x<:STRING',
2622 '-evalf', '(x\\/y\\/v\\/x) /<: (v\\/x\\/x\\/y) & x<:STRING',
2623 '-evalt', '(x\\/y\\/v\\/x) <: (v\\/x\\/x\\/y) & x<:BOOL',
2624 '-evalt', '(x\\/y\\/v\\/x) /<<: (v\\/x\\/x\\/y) & x<:BOOL',
2625 '-evalt', '(x*y*(z*z)*x) = (z*(x*y)*x*z*x)-36 & x:0..2 & y:0..2 & z:0..3',
2626 '-evalt', '#x.((x>10+10) & (x>10+10 => b=TRUE) & x:1..200)',
2627 '-evalt', '{0|->1,4|->2}(x*2+x*2) > 1',
2628 '-evalt', '{0|->x*x, 1|->(x*x)+1}(v) = 9 & v:0..1 & x:0..10', % had WD error v:0..10
2629 '-evalt', '{xx,yy| xx:1..100 & yy>xx & yy<110 & xx|->yy:{yy,xx|xx:20..22 & yy:{xx-2,xx-3}}} = {(17|->20),(18|->20),(18|->21),(19|->21),(19|->22),(20|->22)}',
2630 '-evalt', '{xx,yy| xx:1..(90+5*2) & yy>xx & yy<100+(5*2) & xx|->yy:{yy,xx|xx:(10+5*2)..22 & yy:{xx-2,xx-3}}} = {(17|->20),(18|->20),(18|->21),(19|->21),(19|->22),(20|->22)}',
2631 '-evalt', '{xx,yy| xx:1..(90+5*2) & yy>xx & yy<100+(5*2) & xx-2 > 15 & xx-2 < 18 & xx|->yy:{yy,xx|xx:(10+5*2)..22 & yy:{xx-2,xx-3}}} = {(18|->20),(18|->21),(19|->21),(19|->22)}'
2632 ], 'Ensure CSE works').
2633 cli_testcase(1327, [tickets,cse], ['-p', 'CSE', 'TRUE', '-p', 'TIME_OUT', '150s',
2634 '-expcterr', set_eclipse_preference
2635 ], 'Ensure error in set preference discovered').
2636 cli_testcase(1328, [cbc_refinement,refinement], ['../prob_examples/examples/RodinModels/Seiter_RefinementChecking/auth_0_mch.eventb', '-cbc_refinement'], '').
2637 cli_testcase(1329, [cbc_refinement,refinement], ['../prob_examples/examples/RodinModels/Seiter_RefinementChecking/auth_1_mch.eventb', '-cbc_refinement'], '').
2638 cli_testcase(1330, [cbc_refinement,refinement], ['../prob_examples/examples/RodinModels/Seiter_RefinementChecking/auth_2_mch.eventb', '-cbc_refinement', '-expcterr', cbc_refinement], '').
2639 cli_testcase(1331, [tickets, slot], ['../prob_examples/public_examples/B/Tickets/PROB-356/SlotSolver.mch',
2640 '-init', '-p', 'TIME_OUT', '25000', '-eval', 'CHECK(ges, ger, 1)'
2641 ], 'Ensure no access record errors (PROB-356)').
2642 cli_testcase(1332, [tickets, slot], ['../prob_examples/public_examples/B/Tickets/PROB-355/SlotSolver.mch',
2643 '-init', '-p', 'TIME_OUT', '20000', '-eval', 's1 : COURSES & CHECK(s1, soz, 1)'
2644 ], 'Ensure no infinite loop (PROB-355)').
2645 cli_testcase(1333, [cbc_deadlock,cache], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch',
2646 '-p', 'MAX_INITIALISATIONS', 5, '-cbc_deadlock', '-strict', '-mc', '100', '-cache', '../prob_examples/public_examples/cache/', '-expcterr', 'model_check_incomplete'], 'Check that test 315 works with cache'). % TO DO: is much slower than without cache
2647 cli_testcase(1334, [b_test,cruise,cse_test,codespeed,hash], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-strict', '-model_check', '-p', 'CSE', 'TRUE', '--hash64', 753243318772366897, '-p', 'MAX_INITIALISATIONS', 5, '-cc', '1361', '25696'], 'Check CSE for Cruise Controller'). % the hash is only valid on 64-bit systems ( conditional skip added); % 17.9.2021: adapted hash from 203058745203935766 for sorted order of variables, adapted hash on 8.12.2015 for new variable order
2648 cli_testcase(1335, [b_test,hash], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-strict', '-mc', '20', '--hash64', 1095242179479036905, '-expcterr', 'hash', '-expcterr', 'model_check_incomplete'], 'Check that --hash option works').
2649 cli_testcase(1336, [tickets,slot,codespeed], ['../prob_examples/public_examples/B/Tickets/SLOT-24_no_print/SlotSolver.mch',
2650 '-init', '-evalt', 'CHECK(ges, ger, 1)', '-evalf', 'CHECK(rom, jap, 1)', '-main_assertions'
2651 ], 'Ensure no access record errors (SLOT-24)').
2652 cli_testcase(1337, [parser,tickets], ['../prob_examples/public_examples/B/Tickets/PARSERLIB-32/TestDefOrder.mch',
2653 '-mc', 100
2654 ], 'Ensure that definition order for predicate-definitions does not matter (PARSERLIB-32)').
2655 cli_testcase(1338, [private, tickets, recursion,slot, unsat_core], ['../prob_examples/examples/B/SlotTool/SlotTool_19092014/SlotSolver.mch',
2656 '-init', '-assertions'
2657 ], 'Ensure complicated unsat core computations keep on working (SLOT-24)').
2658 %cli_testcase(1339, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/GenericUsageOfSquare.mch', '-plugin', 'units', '-strict', '-pp', '../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/GenericUsageOfSquare_internal.mch'], 'Check that operations calls and definitions are parametrical regarding units').
2659 cli_testcase(1340, [b_test,fairness,ltl], ['../prob_examples/public_examples/B/LTL/Fairness/RecursiveSCCs.mch', '-ltlformula', 'SF(C) & WF(D) => GF {addr=4 or addr =5}', '-expcterr', ltl, '-strict'], 'Test fairness implementation for finding the right counter example.').
2660 cli_testcase(1341, [b_test,cbc,cbc_tests], ['../prob_examples/public_examples/B/Demo/Bakery0.mch', '-bf', '-mc', 100, '--all_paths', '../prob_examples/public_examples/B/Demo/Bakery0_all_paths.xml', '-strict'], 'XML all path export.').
2661 cli_testcase(1342, [b_test,fairness,ltl], ['../prob_examples/public_examples/B/LTL/Fairness/M_Events_with_Args.mch', '-ltlformula', 'SF(Evt) => F (not(e(Evt1)) & not(e(Evt2)))', '-expcterr', ltl, '-strict'], 'Test fairness implementation for finding the right counter example.').
2662 cli_testcase(1343, [csp_test,assertions], ['../prob_examples/public_examples/CSP/other/Ivo/AlsoPatterns.csp', '-assertions', '-strict'], 'Testing enumerating of also patterns on channel data types.').
2663 cli_testcase(1344, [csp_test,assertions], ['../prob_examples/public_examples/CSP/other/Ivo/AParallel.csp', '-assertions', '-strict'], 'Testing pattern matching for alphabetised parallel operators.').
2664 cli_testcase(1345, [csp_test,assertions], ['../prob_examples/public_examples/CSP/other/Ivo/AParallel1.csp', '-assertions', '-strict'], 'Testing pattern matching for alphabetised parallel operators.').
2665 cli_testcase(1346, [csp_test,assertions], ['../prob_examples/public_examples/CSP/other/Andreas_Hense/P2P/p2p_v3.csp', '-assertions', '-strict'], 'Testing assertions in the CSP specification (for this specification ProB performs better than FDR2).').
2666 cli_testcase(1347, [csp_test], ['../prob_examples/public_examples/CSP/other/Andreas_Hense/ATM/ATM_v5.csp', '-t', '-strict'], '').
2667 cli_testcase(1348, [csp_test,assertions,records], ['../prob_examples/public_examples/CSP/other/Ivo/EnumeratingDataTypes.csp', '-assertions', '-strict'], 'Enumerating partial data type records.').
2668 cli_testcase(1349, [b_test,ltl], ['../prob_examples/public_examples/B/Ivo/Threads.mch', '-ltlassertions',
2669 '-ltlformula', 'GF deadlock(Step1_p1,Step1_p2)',
2670 '-ltlformula', 'G deterministic(Step1_p1,Sync)',
2671 '-ltlformula', 'G(e(Step1_p2) or controller(Step1_p1,Sync))',
2672 '-strict'], 'Covering the new APs (deadlock(...),deterministic(...), and controller(...)) of the LTL interpreter.').
2673 cli_testcase(1350, [cbc,tickets,cbc_tests], ['../prob_examples/examples/EventBPrologPackages/Savary/R08_ByteArray_mch.eventb', '-cbc_sequence', 'aload_R07' ], 'Check cbc sequence on example with partially enumerated sets').
2674 cli_testcase(1351, [tickets,data_validation], ['../prob_examples/examples/B/ClearSy/GeneralElectric_DV/Ticket_CLPFD_Overflow/Machine_Bug3.mch', '-init', '-p', 'MAXINT', '2147483647', '-p', 'MININT', '-2147483648', '-p', 'TIME_OUT', '3500',
2675 '-expcterrpos', type_error, 716, 48,
2676 '-expecterr', 'bmachine_construction',
2677 '-expcterrpos', 'bmachine_static_checks', 716, 0 % added this 15.12.2015 as we now also generate warning for length
2678 ], 'Check abs DEFINITION error message works (and VAR hides constant)').
2679 cli_testcase(1352, [tickets,while,data_validation], ['../prob_examples/examples/B/ClearSy/GeneralElectric_DV/Ticket_CLPFD_Overflow/Machine_Bug3_renamed.mch',
2680 '-t', '-p', 'MAXINT', '2147483647', '-p', 'MININT', '-2147483648', '-p', 'TIME_OUT', '3500' ], 'Check no error in compiling While loop').
2681 cli_testcase(1353, [b_test], [
2682 '-evalt', '{x|x>99988844111111222200 & x<99988844111111222300 & x mod 20 = 1} = res & 2000 /: res & 99988844111111222201 : res',
2683 '-eval', '{x|x>99988844111111222200 & x<99988844111111222300 & x mod 20 = 1}'
2684 , '-evalt', '{x|x>ll & x<99988844111111222300 & x mod 20 = 9} = res & (ll=99988844111111222200 or ll = 99988844111111222201) & 99988844111111222209 : res'
2685 , '-evalt', '{x|x>ll & x<99988844111111222300 & x mod 20 = 2} = res & 2000 /: res & 99988844111111222202 : res & (ll=99988844111111222200 or ll = 99988844111111222201)'
2686 ], 'Check CLPFD Overflow is caught').
2687 cli_testcase(1354, [ltl], ['../prob_examples/public_examples/B/Ivo/HDCP/HDCP0_mch_mch.eventb','-ltllimit', 10000,'-ltlfile','../prob_examples/public_examples/B/Ivo/HDCP/HDCP0.ltl', '-strict'], 'Regression test for checking LTL formulas.').
2688 cli_testcase(1355, [ltl], ['../prob_examples/public_examples/B/Ivo/HDCP/HDCP1_mch_mch.eventb','-ltllimit', 10000,'-ltlfile','../prob_examples/public_examples/B/Ivo/HDCP/HDCP1.ltl', '-strict'], 'Regression test for checking LTL formulas.').
2689 cli_testcase(1356, [cbc,cbc_tests], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-cbc_tests', 4, '1=1', '../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_cbc_tests.xml', '-expcterr', 'cbc_tests'], 'Check that full coverage cannot be achieved').
2690 cli_testcase(1357, [cbc,cbc_tests,enabling], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-cbc_tests', 5, '1=1', '../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_cbc_tests.xml', '-feasibility_analysis'], 'Check that full coverage can be achieved').
2691 cli_testcase(1358, [cbc,enabling], ['../prob_examples/examples/EventBPrologPackages/Savary/R08_ByteArray_enum_partition.eventb',
2692 '-p', 'TIME_OUT', 3000,
2693 '-feasibility_analysis_csv', 1500,
2694 '../prob_examples/examples/EventBPrologPackages/Savary/R08_ByteArray_enum_partition_feasibility.csv'], 'Check feasibility analysis works').
2695 cli_testcase(1359, [cbc,tickets], ['../prob_examples/public_examples/EventBPrologPackages/Tickets/SeqTest/SeqTest_ctx.eventb', '../prob_examples/public_examples/EventBPrologPackages/Tickets/SeqTest/SeqTest3_ctx.eventb',
2696 '../prob_examples/public_examples/EventBPrologPackages/Tickets/SeqTest/SortRecFunction_ctx.eventb',
2697 '-p', 'MAXINT', '3', '-t' ,'-assertions'], 'Check no enumeration warning').
2698 cli_testcase(1360, [cbc,enabling], ['../prob_examples/public_examples/B/CBC/FeasibilityOperationCheck.mch',
2699 '-opterr', 'clpfd_overflow',
2700 '-feasibility_analysis_csv', 750,'../prob_examples/public_examples/B/CBC/FeasibilityOperationCheck_feasibility.csv'], 'Check feasibility analysis works').
2701 cli_testcase(1361, [ctl,tickets], ['../prob_examples/public_examples/B/LTL/MammarFrappier/FlightSystem_corrected_3_3.mch',
2702 '-expcterrpos', 'bmachine_static_checks', 65, 4, % forall rhs does not use ids
2703 '-ctlformula', 'AG({Customers1|->Flights1 /: tickets} => EF({Customers1|->Flights1 : tickets}))',
2704 '-ltllimit', 100, '-expcterr', 'ctl_incomplete', '-expcterr', 'state_space',
2705 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'], 'Check that incomplete CTL model check detected').
2706 cli_testcase(1362, [ctl,tickets], ['../prob_examples/public_examples/B/LTL/MammarFrappier/FlightSystem_corrected_3_3.mch',
2707 '-expcterrpos', 'bmachine_static_checks', 65, 4, % forall rhs does not use ids
2708 '-ctlformulat', 'AG({Customers1|->Flights1 /: tickets} => EF({Customers1|->Flights1 : tickets}))',
2709 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-cc', 2199, 15212], 'Check that CTL model check works without ltllimit').
2710 cli_testcase(1363, [ctl], ['../prob_examples/public_examples/B/Simple/UpCounter.mch',
2711 '-p', 'MAXINT', 20,
2712 '-ctlformulaf', 'AG({c<mx})', '-his', '../prob_examples/public_examples/B/Simple/UpCounter_his.txt', '-his_option','show_states'
2713 ], 'Check that CTL model check works without ltllimit').
2714 cli_testcase(1364, [ctl], ['../prob_examples/public_examples/B/Demo/scheduler.mch',
2715 '-p', 'DEFAULT_SETSIZE', '3',
2716 '-ctlformulaf', 'AG {active={} or ready = {} or waiting ={}}', '-bf', '-mc', 9999, '-his', '../prob_examples/public_examples/B/Demo/scheduler_his.txt', '-his_option','show_states'
2717 ], 'Check that CTL model check generates correct counter example').
2718 cli_testcase(1365, [ctl], ['../prob_examples/public_examples/B/Demo/scheduler.mch',
2719 '-ctlformulat', 'AG({card(ready)>1} => EF {card(active)>0})',
2720 '-ctlformulat', 'AG EF {active = {}}',
2721 '-ctlformulat', 'EG {active = {}}',
2722 '-p', 'DEFAULT_SETSIZE', '3'
2723 ], 'Check CTL formulas').
2724 cli_testcase(1366, [cbc, cbc_tests,bmc], ['../prob_examples/public_examples/B/SymbolicModelChecking/TimingExampleSimpler_v2.mch', '-bmc', 50, '-his', '../prob_examples/public_examples/B/SymbolicModelChecking/TimingExampleSimpler_v2_his.txt', '-his_option','show_states',
2725 '-expcterr', 'invariant_violation'], 'Check BMC works').
2726 cli_testcase(1367, [cbc,tickets,bmc], ['../prob_examples/public_examples/B/Tickets/OpCallModifiesInfo/OpCallModifiesInfo.mch', '-bmc', 5,
2727 '-expcterr', 'invariant_violation'], 'Check Modifies Info correct for operation calls').
2728 cli_testcase(1368, [cbc,tickets], ['../prob_examples/public_examples/B/Tickets/ComponentPartitioning/ManyPartialFunctions.mch', '-init',
2729 '-p', 'DEFAULT_SETSIZE', 5], 'Check component partition works with equality inlining').
2730 cli_testcase(1369, [b_test,tla,tlc],['../prob_examples/public_examples/B/Simple/UpCounter.mch', '-mc_with_tlc'], 'TLC regression test').
2731 cli_testcase(1370, [cbc,cbc_tests], ['../prob_examples/public_examples/B/TestCaseGeneration/Aymerick/CBC_M_mch.eventb', '-cbc_tests', 4, '', '', '-expcterr', 'cbc_tests'], 'Check that full coverage cannot be achieved and no exceptions').
2732 cli_testcase(1371, [cbc,cbc_tests], ['../prob_examples/public_examples/B/TestCaseGeneration/Aymerick/CBC_M_mch.eventb', '-cbc_tests', 4, '', '', '-cbc_cover_match', 'c'], 'Check that cbc_cover_match option works').
2733 cli_testcase(1372, [b_test], ['../prob_examples/public_examples/B/Mathematical/FormaleSprachen.mch',
2734 '-p', 'SMT', 'TRUE',
2735 '-init','-assertions', '-strict'], 'Test 1264 but with SMT mode.').
2736 cli_testcase(1373, [private,codespeed,data_validation], ['../prob_examples/examples/B/Alstom/vesg_Aug11/gradient_train_altitude.mch',
2737 '-animate', 5, '-p', 'TIME_OUT', 300000000, '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647, '-p', 'CLPFD', 'FALSE'], 'Test Alstom example').
2738 cli_testcase(1374, [tickets,card], [
2739 '-evalf', 'n:0..4 & m=6 & not(((((card((1 .. n <-> 5 .. m) \\/ {{0 |-> 0}}) = 1 + card(1 .. n <-> 5 .. m) & card((1 .. n +-> 5 .. m) \\/ {{0 |-> 0}}) = 1 + card(1 .. n +-> 5 .. m)) & card((1 .. n --> 5 .. m) \\/ {{0 |-> 0}}) = 1 + card(1 .. n --> 5 .. m)) & card((1 .. n >+> 5 .. m) \\/ {{0 |-> 0}}) = 1 + card(1 .. n >+> 5 .. m)) & card((1 .. n >-> 5 .. m) \\/ {{0 |-> 0}}) = 1 + card(1 .. n >-> 5 .. m)) & card((1 .. n -->> 5 .. m) \\/ {{0 |-> 0}}) = 1 + card(1 .. n -->> 5 .. m))'],
2740 'Test that no choice points due to add_element').
2741 cli_testcase(1375, [cbc, cbc_tests, tickets,bmc], ['../prob_examples/public_examples/B/SymbolicModelChecking/Counters/VerySimpleCounterWrong.mch', '-bmc', 6,
2742 '-expcterr', 'invariant_violation'], 'Check BMC works').
2743 cli_testcase(1376, [private,data_validation], ['../prob_examples/examples/B/Systerel/C578/2013/machines_24092013/02_001_adapted.mch',
2744 '-init' ,'-assertions', '-p', 'SYMBOLIC', 'TRUE', '-p', 'MEMO', 'TRUE', '-p', 'CLPFD', 'TRUE', '-p', 'TIME_OUT', 155000,
2745 '-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', 0 ], 'Check performance (previously part of 1162)').
2746 cli_testcase(1377, [private,data_validation,cse_test], ['../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_TMS_Overlap_0017_2_ori.mch', '-animate_all', '-strict', '-cc', 49, 48, '-p', 'TIME_OUT', 35000, '-p', 'CLPFD', 'FALSE', '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647,
2747 '-p', 'MAX_OPERATIONS', 1, '-his', '../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_TMS_Overlap_0017_2_ori.his', '-sptxt', '../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_TMS_Overlap_0017_2_ori.sptxt', '-expcterr', invariant_violation, '-p', 'CSE', 'TRUE'], 'Rule Test 4 of Alstom compilation project with CSE'). % Signal_Overlap_SDDBs is non-deterministic: hence MAX_OPERATIONS 1
2748 cli_testcase(1378, [private,data_validation,cse_test], ['../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_DB_SIGAREA_0024_ori.mch', '-animate_all', '-strict', '-cc', 40, 39, '-p', 'TIME_OUT', 35000, '-p', 'CLPFD', 'FALSE', '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647, '-his', '../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_DB_SIGAREA_0024_ori.his', '-p', 'CSE', 'TRUE'], 'Rule Test 5 of Alstom compilation project with CSE').
2749 cli_testcase(1379, [private,data_validation,cse_test], ['../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_DB_Route_0001ori.mch', '-animate_all', '-strict', '-cc', 97, 96, '-p', 'TIME_OUT', 28000, '-p', 'CLPFD', 'FALSE', '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647, '-his', '../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_DB_Route_0001ori.his', '-p', 'CSE', 'TRUE'], 'Rule Test 1 of Alstom compilation project (test 981) with CSE').
2750 cli_testcase(1380, [private,data_validation,alstom,cse_test], ['../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_TMS_ESA_TRIGGER_0009_ori.mch', '-strict', '-cc', 112, 111, '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647, '-t', '-p', 'CSE', 'TRUE'], 'Rule Test 2 of Alstom compilation project with CSE').
2751 cli_testcase(1381, [tickets,cse_test], ['../prob_examples/public_examples/B/Tickets/CSE/BoolValue.mch',
2752 '../prob_examples/public_examples/B/Tickets/CSE/ExplicitComputations_Reduced.mch',
2753 '-init', '-p', 'CSE', 'TRUE'], 'Check sharing of predicates works').
2754 cli_testcase(1382, [cbc, disprover], ['../prob_examples/examples/B/Alstom/DisproverProject/prob13265_hyp_removed.mch',
2755 '-cbc_assertions', '-p', 'MAX_INITIALISATIONS', 0], 'Check partitioning for cbc_assertions works').
2756 cli_testcase(1383, [tickets, external,data_validation], ['../prob_examples/examples/B/Alstom/Ticket_Dec08_2014/Segment_refAdhesionLevel_GER5.mch',
2757 '-t', '-sptxt', '../prob_examples/examples/B/Alstom/Ticket_Dec08_2014/Segment_refAdhesionLevel_GER5_sptxt.txt'], 'Check join works in conjunction with perm with paritally instantiated lists').
2758 cli_testcase(1384, [cbc,sigma,card], [
2759 '-evalt', '{y|SIGMA(x).(x:1..10 & x mod 5 = 0|x+y) = 215} = {100}',
2760 '-evalt', '{y|PI(x).(x:1..10 & x mod 5 = 0|x+y) = 66} = {-16,1}',
2761 '-evalt', 'SIGMA(x).(x:{y} \\/ {z}|x) = 10 & y>z & z>0',
2762 '-evalt', '{y,z|SIGMA(x).(x:{y} \\/ {z}|x+3) = 10 & y>z & z>0} = {(3,1)}',
2763 '-evalt', 'SIGMA(i).(i:1..1000|i)=500500',
2764 '-evalt', 'SIGMA(i).(i:0..1000|i)=500500',
2765 '-evalt', 'SIGMA(i).(i:-2..1000|i)=500497',
2766 '-evalt', 'SIGMA(i).(i:-3..1000|i)=500494',
2767 '-evalt', 'SIGMA(i).(i:-2..-3|i)=0',
2768 '-evalt', '{y,m|PI(x).(x:1..3|x+y) = m & m:25..100} = {(2,60)}',
2769 '-evalt', 'x = [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o] & SIGMA(i).(i:dom(x)|x(i))=124 & !j.(j:2..size(x) => x(j-1)<x(j)) & a>0',
2770 '-evalf', 's:seq(NATURAL1) & size(s)=220 & SIGMA(i).(i:1..size(s)|s(i)) = 200',
2771 '-evalf', 'x = SIGMA(i).(i:1..n|i) & x<0',
2772 '-evalt', 'x = SIGMA(i).(i:1..n|i) & n>1 & x = 5050',
2773 '-evalt', '{n|5050 = SIGMA(i).(i:1..n|i)} = {100}',
2774 '-evalf', 'x = SIGMA(i).(i:1..n|i) & n>100 & x < 5151',
2775 '-evalt', '{x,n|x = SIGMA(i).(i:-3..n|i) & n>1 & x < 5150 & x>5100} = {(5145,101)}',
2776 '-evalf', 's = [x,10,y] & PI(i).(i:dom(s)|s(i)) = r & x>0 & y>0 & r<10',
2777 '-evalt', 's<:11..15 & card(s)<3 & SIGMA(x).(x:s|x)=23'
2778 ], 'Check constraint propagation of SIGMA / PI work better now').
2779 cli_testcase(1385, [cbc,sigma], ['../prob_examples/public_examples/B/Puzzles/Minesweeper.mch',
2780 '../prob_examples/public_examples/B/Puzzles/Minesweeper_v2.mch',
2781 %'../prob_examples/public_examples/B/Puzzles/Minesweeper_v3.mch', still time-out
2782 '../prob_examples/public_examples/B/Puzzles/Minesweeper_v4.mch',
2783 '-init', '-cbc_assertions'], 'Check this version with SIGMA can be solved efficiently').
2784 cli_testcase(1386, [cbc,atelierb], ['../prob_examples/examples/B/Alstom/DisproverProject/FalsePO1.mch',
2785 '-cbc_assertions', '-expecterr', 'cbc_assertions', '-cbc_result_file', '../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt'], 'Test Atelier-B Disprover interface').
2786 cli_testcase(1387, [cbc,atelierb,chr], ['../prob_examples/examples/B/Alstom/DisproverProject/TimeOutPO1.mch',
2787 '-p', 'CHR', 'TRUE', '-p', 'DISPROVER_MODE', 'TRUE',
2788 '-cbc_assertions',
2789 '-cbc_result_file', '../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt'], 'Test Atelier-B Disprover interface').
2790 cli_testcase(1388, [cbc,atelierb,chr], ['../prob_examples/examples/B/Alstom/DisproverProject/TruePO1.mch',
2791 '-p', 'CHR', 'TRUE', '-p', 'DISPROVER_MODE', 'TRUE',
2792 '-cbc_assertions',
2793 '-cbc_result_file', '../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt'], 'Test Atelier-B Disprover interface').
2794 cli_testcase(1389, [cbc,atelierb,chr], ['../prob_examples/examples/B/Alstom/DisproverProject/DeferredSetPO1.mch',
2795 '-p', 'CHR', 'TRUE', '-p', 'DISPROVER_MODE', 'TRUE',
2796 '-cbc_assertions',
2797 '-cbc_result_file', '../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt'], 'Test Atelier-B Disprover interface').
2798 /* does not work yet:
2799 cli_testcase(1382, [private, tickets, recursion,slot,cse, unsat_core], ['../prob_examples/examples/B/SlotTool/SlotTool_19092014/SlotSolver.mch',
2800 '-init', '-assertions', '-p', 'CSE', 'TRUE'
2801 ], 'Ensure complicated unsat core computations keep on working with CSE TRUE (SLOT-24)').
2802 */
2803 cli_testcase(1390, [tickets,infinite], [
2804 '-evalf', '({1}*INTEGER)=f & res = f[{1}] & res=MININT..MAXINT', %'-expcterr', eval_string_enum_warning]
2805 '-evalf', '({1}*NATURAL1)=f & res = f[{1}] & res=MININT..MAXINT',
2806 '-evalt', '({1}*INT)=f & res = f[{1}] & res=MININT..MAXINT',
2807 '-evalt', '({1}*INTEGER)=f & res = f[{1}] & not(res:FIN(res))',
2808 '-evalt', '({1}*NATURAL)=f & res = f[{1}] & res = NATURAL'],
2809 'Check that we do not report first formula as true'). % we used to report unknown until "image for infinite cartesian product" improvement in Aug 2025
2810 cli_testcase(1391, [tickets,proz], ['../prob_examples/public_examples/Z/Daniel/Praxis/network2.fuzz',
2811 '../prob_examples/public_examples/Z/Daniel/scheduler.fuzz',
2812 '../prob_examples/public_examples/Z/Daniel/SudokuSETS9.fuzz',
2813 '../prob_examples/public_examples/Z/Daniel/watergate.fuzz',
2814 '-t'],
2815 'Ensure no pending co-routines for instantiation of freetype value (network2)').
2816 cli_testcase(1392, [cbc,sigma], [
2817 '-evalt', 'r = {s1,s2| SIGMA(i).(i:s1|i) = SIGMA(j).(j:s2|j)} & {x,y}|->{10}:r & {6}|->{x}:r',
2818 '-evalt', 'r = {s1,s2| SIGMA(i).(i:s1|i) = SIGMA(j).(j:s2|j)} & {x,y|{x,y}|->{10}:r & {6}|->{x}:r} = {(6,4)}',
2819 '-evalf', '{x,y}=s & {v,w,z}=r & s<:r & r<:11..14 & SIGMA(i).(i:s|i) > SIGMA(j).(j:r|j)' % already worked before
2820 ], 'Check that we can find a solution : choice point enumerated before enumerating y').
2821 cli_testcase(1393, [tickets,slot,codespeed], ['../prob_examples/public_examples/B/Tickets/SLOT-PERFORMANCE3_no_print/WiWiSolver.mch',
2822 '-init', % '-v', % generates non-ground closure warnings
2823 '-evalt', '{x,s,y| x:MAJORS & s : 1..6 & y = bool(CHECK_P_WP_SEMESTER(x, s))} = {((bwl_bachelor|->1)|->TRUE),((bwl_bachelor|->2)|->TRUE),((bwl_bachelor|->3)|->FALSE),((bwl_bachelor|->4)|->FALSE),((bwl_bachelor|->5)|->FALSE),((bwl_bachelor|->6)|->TRUE),((bwl_master|->1)|->FALSE),((bwl_master|->2)|->FALSE),((bwl_master|->3)|->FALSE),((bwl_master|->4)|->TRUE),((bwl_master|->5)|->TRUE),((bwl_master|->6)|->TRUE),((vwl_bachelor|->1)|->TRUE),((vwl_bachelor|->2)|->TRUE),((vwl_bachelor|->3)|->FALSE),((vwl_bachelor|->4)|->FALSE),((vwl_bachelor|->5)|->TRUE),((vwl_bachelor|->6)|->TRUE),((vwl_master|->1)|->FALSE),((vwl_master|->2)|->TRUE),((vwl_master|->3)|->FALSE),((vwl_master|->4)|->TRUE),((vwl_master|->5)|->TRUE),((vwl_master|->6)|->TRUE),((wichem_bachelor|->1)|->TRUE),((wichem_bachelor|->2)|->TRUE),((wichem_bachelor|->3)|->TRUE),((wichem_bachelor|->4)|->TRUE),((wichem_bachelor|->5)|->FALSE),((wichem_bachelor|->6)|->FALSE),((wichem_master|->1)|->TRUE),((wichem_master|->2)|->FALSE),((wichem_master|->3)|->TRUE),((wichem_master|->4)|->TRUE),((wichem_master|->5)|->TRUE),((wichem_master|->6)|->TRUE)}'
2824 ], 'Ensure no time-out due to total-function setup too late').
2825 cli_testcase(1394, [tickets,alstom,private,codespeed,union,data_validation], ['../prob_examples/examples/B/Alstom/ixl/lausanne.mch', '-t',
2826 '-p', 'TIME_OUT', 5000], 'Ensure no time-out due to rel_compose calling union without WF').
2827 cli_testcase(1395, [cbc, symmetry_test], ['../prob_examples/public_examples/B/SymmetryReduction/DefSetWithConstantsTest2.mch', '-init',
2828 '-expecterr', 'setup_constants_fails', '-p', 'TIME_OUT', '9000'], 'Ensure static symmetry reduction works').
2829 cli_testcase(1396, [cbc, symmetry_test], ['../prob_examples/public_examples/B/SymmetryReduction/DefSetWithConstantsTest3.mch', '-mc', 9999, '-nodead',
2830 '-cc', 19, 18 ], 'Ensure static symmetry reduction works').
2831 cli_testcase(1397, [cbc, forall], ['../prob_examples/public_examples/B/Puzzles/HandshakeSimple_TotFun.mch', '-mc', 1000, '-nodead', '-assertions', '-expcterr', 'model_check_incomplete' ], 'Ensure forall quantifier also uses contrapositive').
2832 cli_testcase(1398, [cbc, symmetry_test,cbc_tests], ['../prob_examples/public_examples/B/SymmetryReduction/DefSetWithConstantsTest2.mch', '-cbc_sequence', '',
2833 '-expecterr', 'cbc_sequence_no_solution_found'], 'Ensure static symmetry reduction works').
2834
2835 cli_testcase(1399, [cbc], [
2836 '-evalf', 'v0 = (x0 - x2) & v1 = (x1 - x2) & v2 = (x0 - x1) & v0 <= 1 & v0 >= 0 & v1 <= 1 & v1 >= 0 & not(x0 = x1) & not(v2 = 1) & not(v2 = -1) & v2+v1=v0'
2837 ], 'Check that we can detect inconsistency without enum warning'). % requires propagate_zero in clpfd_interface; variation of toroidal queens 2 with v2+v1=v0 added for CLPFD
2838 cli_testcase(1400, [cbc,disprover,chr], [
2839 '-evalf', 'v0 = (x0 - x2) & v1 = (x1 - x2) & v2 = (x0 - x1) & v0 <= 1 & v0 >= 0 & v1 <= 1 & v1 >= 0 & not(x0 = x1) & not(v2 = 1) & not(v2 = -1)',
2840 '-evalf' , 'not(v2=1) & v0 = (x0 - x2) & v1+x2 = (x1) & v2+x1 = (x0) & v0:0..1 & v1:0..1 & not(x0 = x1) & not(v2 = -1)',
2841 '-p', 'CHR', 'TRUE'
2842 ], 'Check that we can detect inconsistency without enum warning'). % requires propagate_zero in clpfd_interface + IDL CHR rules; derived from toroidal queens 2 SMT benchmark
2843
2844 cli_testcase(1401, [tickets,csp_test,cspb,sequences], ['../prob_examples/public_examples/CSPB/Tickets/PROB-369/BufferSpec2.fuzz', '-csp-guide', '../prob_examples/public_examples/CSPB/Tickets/PROB-369/BufferSpec2.csp', '-mc', '100', '-strict', '-t',
2845 '-evalt', '-2 mod 3 = 1'], 'Check synchronisation with sequence type works and z minor mode set for modulo (PROB-368, PROB-369, PROB-371)').
2846 cli_testcase(1402, [cbc,atelierb,chr,disprover,private], ['../prob_examples/examples/B/Alstom/DisproverProject/TruePO1_Taut.mch',
2847 '-p', 'CHR', 'TRUE', '-p', 'DISPROVER_MODE', 'TRUE',
2848 '-cbc_assertions_tautology_proof',
2849 '-cbc_result_file', '../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt'], 'Test Atelier-B Disprover interface').
2850 cli_testcase(1403, [cbc,smt,chr], [
2851 %'../prob_examples/public_examples/SMT/QF_IDL/queens_bench/n_queen/queen3-1.smt2', % Virtual Timeout
2852 '../prob_examples/public_examples/SMT/QF_IDL/queens_bench/n_queen/queen8-1.smt2',
2853 '../prob_examples/public_examples/SMT/QF_IDL/queens_bench/n_queen/queen10-1.smt2',
2854 '../prob_examples/public_examples/SMT/QF_IDL/queens_bench/n_queen/queen20-1.smt2',
2855 '../prob_examples/public_examples/SMT/QF_IDL/queens_bench/toroidal_bench/toroidal_queen2-1.smt2',
2856 '../prob_examples/public_examples/SMT/QF_IDL/queens_bench/toroidal_bench/toroidal_queen3-1.smt2',
2857 '../prob_examples/public_examples/SMT/QF_IDL/queens_bench/toroidal_bench/toroidal_queen5-1.smt2',
2858 '../prob_examples/public_examples/SMT/QF_IDL/queens_bench/super_queen/super_queen10-1.smt2',
2859 '../prob_examples/public_examples/SMT/QF_IDL/queens_bench/super_queen/super_queen20-1.smt2',
2860 '../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER1-1-ninc.smt2',
2861 '../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER1-2-ninc.smt2',
2862 '../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER2-1-ninc.smt2',
2863 '../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER2-2-ninc.smt2',
2864 '../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER2-3-ninc.smt2',
2865 '../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER3-1-ninc.smt2',
2866 '../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER3-2-ninc.smt2',
2867 '../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER3-3-ninc.smt2',
2868 '../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER3-4-ninc.smt2',
2869 '../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER4-1-ninc.smt2',
2870 '../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER4-2-ninc.smt2',
2871 '../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER5-2-ninc.smt2',
2872 '../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER12-2-ninc.smt2',
2873 '-p', 'CHR', 'TRUE', '-p', 'SMT', 'TRUE'], 'Test SMT interface and solving').
2874 %
2875
2876 cli_testcase(1404, [ltl], ['../prob_examples/public_examples/EventBPrologPackages/ABZ_Landing_Gear/Ref4_ControllerHandle_mch.eventb', '-mc', 99999, '-cc' , 8629, 41811,
2877 '-ltlformula', 'G (deterministic(con_stop_stimulate_extend_gear_valve,con_stimulate_extend_gear_valve,con_stop_stimulate_retract_gear_valve,con_stimulate_retract_gear_valve,con_stop_stimulate_close_door_valve,con_stimulate_close_door_valve,con_stop_stimulate_open_door_valve,con_stimulate_open_door_valve))'
2878 ], 'Check LTL pattern deterministic').
2879 cli_testcase(1405, [dot], ['../prob_examples/public_examples/B/Simple/VerySimpleDFA.mch', '-bf', '-mc', 1000, '-strict', '-dotexpr', transition_diagram, 's',
2880 '../prob_examples/public_examples/B/Simple/VerySimpleDFA_transition_diagram.dot',
2881 '-p', 'DOT_LOOPS', 'FALSE' % added 7/11/2023
2882 ],'Check Transition Diagram for Expression.').
2883 cli_testcase(1406, [b_test,cbc,atelierb,disprover], ['-cbc_assertions_tautology_proof', '-p', 'DISPROVER_MODE', 'TRUE', '-p', 'ALLOW_UNTYPED_IDENTIFIERS', 'TRUE',
2884 '-expcterr', 'cbc_assertions_enumeration_warning',
2885 '../prob_examples/examples/B/Alstom/DisproverProject/TypingIssues/prob17066_not_provable.mch'
2886 ], 'Check ProB finds no counter example for rule and no proof').
2887 cli_testcase(1407, [b_test,cbc,atelierb,disprover], ['-cbc_assertions_tautology_proof', '-p', 'DISPROVER_MODE', 'TRUE', '-p', 'ALLOW_UNTYPED_IDENTIFIERS', 'TRUE',
2888 '../prob_examples/examples/B/Alstom/DisproverProject/TypingIssues/prob17066_provable.mch'
2889 ], 'Check ProB finds no counter example for rule and no proof').
2890
2891 cli_testcase(1408, [cbc,sigma], [
2892 '-evalt', 'x+y+z+v=40 & x<y & y<z & z<v &x>0 & all = {x,y,z,v} & gen = {a1,a2,a3,r| a1\\/a2\\/a3=all & a1/\\a2={} & a2/\\a3={} & a1/\\a3={} & r=SIGMA(t1).(t1:a1|t1)-SIGMA(t2).(t2:a2|t2)} & 1..40 <: ran(gen)', % Stones Puzzle
2893 '-evalt' , 'all = {1,2,4} & gen = {a1,a2,r| a1\\/a2=all & a1/\\a2={} & r=SIGMA(t1).(t1:a1|t1)+SIGMA(t2).(t2:a2|t2)}'
2894 ], 'Check that partition propagates well (no enum warning)').
2895
2896 cli_testcase(1409, [cbc,disprover,private], [
2897 '../prob_examples/public_examples/ProofObligations/GearDoor1_mch.pl',
2898 '../prob_examples/public_examples/ProofObligations/GearsDoorsHandle3_mch.pl',
2899 '../prob_examples/examples/ProofObligations/ABZ14_Mery/M2_mch.pl',
2900 '../prob_examples/examples/ProofObligations/ABZ14_Mery/M20_mch.pl',
2901 '../prob_examples/examples/ProofObligations/ABZ14_Mery/M3_mch.pl',
2902 '../prob_examples/examples/ProofObligations/ABZ14_Mery/M30_mch.pl',
2903 '../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel3/m1_true.pl',
2904 '../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel3/m2_mch.pl',
2905 '-p', 'DOUBLE_EVALUATION', 'FALSE'
2906 %,'../prob_examples/examples/ProofObligations/ABZ14_Mery/M4_mch.pl'
2907 ],'Check Disprover can prove all POs').
2908 cli_testcase(1410, [cbc,disprover,private], [
2909 '../prob_examples/examples/ProofObligations/Abrial_Ch4_Brp/brp_1_true.pl',
2910 '../prob_examples/examples/ProofObligations/Abrial_Ch4_Brp/brp_3_true.pl',
2911 '-p', 'DOUBLE_EVALUATION', 'FALSE'
2912 ],'Check Disprover can prove all POs; this test also checks register predicate works better').
2913 cli_testcase(1411, [cbc,disprover], [
2914 '../prob_examples/public_examples/ProofObligations/DisproverDefSetTest2_ctx.pl',
2915 '../prob_examples/public_examples/ProofObligations/DisproverDefSetTest3_ctx.pl',
2916 '../prob_examples/public_examples/ProofObligations/DisproverDefSetTest4_ctx.pl',
2917 '-check_disprover_result', 0,0,2,
2918 '-p', 'DOUBLE_EVALUATION', 'FALSE'
2919 ],'Check Disprover cannot prove po').
2920 cli_testcase(1412, [cbc,random,sigma], [
2921 '-p', 'RANDOMISE_ENUMERATION_ORDER', 'TRUE',
2922 '-evalt', 'x:1..20 --> 1..100 & SIGMA(v).(v:1..20|x(v)) = 20*50'
2923 % without random we get x = [100,100,100,100,100,100,100,100,100,90,1,1,1,1,1,1,1,1,1,1]
2924 % with it: e.g., x = [46,29,99,5,2,61,100,49,46,23,8,61,37,100,99,29,98,8,5,95]
2925 ],'Check random enumeration').
2926 cli_testcase(1413, [cbc,chr,disprover], [
2927 '-p', 'CHR', 'TRUE',
2928 '-evalf', 'xx>0 & xx+1 <= p & xx=p'
2929 %'-evalf', 'xx>0 & xx+2 <= p & xx=p' % does not work yet
2930 ],'Check CHR propagation').
2931 cli_testcase(1414, [b_test,cbc,atelierb,disprover,private], ['-cbc_assertions_tautology_proof', '-p', 'DISPROVER_MODE', 'TRUE',
2932 '-p', 'CHR', 'TRUE', '-p', 'CSE', 'TRUE',
2933 %'../prob_examples/examples/B/Alstom/DisproverProject/ProvableByPP/prob9313.mch', % does not work yet
2934 '../prob_examples/examples/B/Alstom/DisproverProject/ProvableByPP/prob9313_1.mch'
2935 ], 'Check ProB finds proof').
2936 cli_testcase(1415, [cbc,random], [
2937 '-p', 'RANDOMISE_ENUMERATION_ORDER', 'TRUE',
2938 '../prob_examples/public_examples/B/FeatureChecks/RandomEnumeration.mch',
2939 '-init', '-assertions'
2940 ],'Check random enumeration').
2941 cli_testcase(1416, [b_test], ['../prob_examples/public_examples/B/ErrorMachines/ImplicationPriority.mch','-expcterr',bmachine_static_checks, '-init'], 'Test warning thrown for strange PROPERTIES clause.').
2942 cli_testcase(1417, [cbc,card], ['../prob_examples/public_examples/B/PerformanceTests/SetMultipleSolutions.mch', '-mc', 100, '-nodead'], 'Test no max-reached warning (improvement to cardinality_as_int1 which avoids unordered enumeration).').
2943 cli_testcase(1418, [cbc,sigma,card], [
2944 '-evalf', 'card(s)=5 & card(r)=3 & SIGMA(x).(x:r|x)=SIGMA(y).(y:s|y) & s<:0..16 & r<:s',
2945 '-evalt', 'card(x)=10 & !y.(y:x & y<50 => y+1:x) & x<:1..50',
2946 '-evalt', '{x|card(x)=10 & !y.(y:x & y<50 => y+1:x) & x<:1..50} = {41..50}',
2947 '-evalt', '{x|card(x)=50 & !y.(y:x & y<50 => y+1:x) & x<:1..50} = {1..50}',
2948 '-evalt', '{x|card(x)=150 & !y.(y:x & y<50 => y+1:x) & x<:1..50} = {}',
2949 '-evalt', 'card(x)=10 & !(y,z).(y|->z:x & y<50 => y+1|->z:x) & x<:(1..50)*{TRUE}',
2950 '-evalt', 'card(x)=10 & !(y).(y:x & y\'f1<50 => rec(f1:y\'f1+1):x) & x<:struct(f1:1..50)',
2951 '-evalt', 'card(x)=10 & !(y,z).(y|->z:x & y<50 => y+1|->z:x) & x<:(1..50)*{"A","B"}'
2952 % slow:'-evalt', 'card(x)=10 & !(y).(y:x & y\'f1<50 => rec(f1:y\'f1+1,f2:y\'f2):x) & x<:struct(f1:1..50,f2:BOOL)'
2953 % also slow: card(x)=10 & !(y).(y:x & prj1(INTEGER,BOOL)(y)<50 => (prj1(INTEGER,BOOL)(y)+1,TRUE):x) & x<:(1..50)*BOOL
2954 % fast: card(x)=10 & !(y).(y:x & prj1(INTEGER,BOOL)(y)<50 => (prj1(INTEGER,BOOL)(y)+1,prj2(INTEGER,BOOL)(y)):x) & x<:(1..50)*BOOL
2955 % slow card(x)=4 & !(y).(y:x & y'f2<50 => rec(f2:y'f2+1,f1:y'f1):x) & x<:struct(f2:1..50,f1:BOOL)
2956 % slow : card(x)=10 & !(y,z).(z|->y:x => ( y<50 => z|->y+1:x)) & x<:BOOL*(1..50)
2957 ], 'Test this is solved quickly using new ordered_value check for card.').
2958 cli_testcase(1419, [cbc,card], [ '-p', 'SMT', 'TRUE',
2959 '-evalt', 'card(x)=1 & !(y).(y:x & y\'f1<50 => rec(f1:y\'f1+1,f2:y\'f2):x) & x<:struct(f1:1..50,f2:BOOL)',
2960 '-evalt', 'card(x)=10 & !(y).(y:x & y\'f1<50 => rec(f1:y\'f1+1,f2:y\'f2):x) & x<:struct(f1:1..50,f2:{TRUE})',
2961 '-evalt', 'card(x)=1 & !(y).(y:x & prj1(INTEGER,BOOL)(y)<50 => (prj1(INTEGER,BOOL)(y)+1,TRUE):x) & x<:(1..50)*BOOL'
2962 ], 'Test this is solved quickly using new ordered_value check for card & avoid bug in expand all quantifier.').
2963 cli_testcase(1420, [tickets,sigma], [
2964 '-evalt', 'Z={((((1|->1)|->-59843)|->-57163)),((((2|->1)|->-57163)|->-56910))} & r=SIGMA(a,b,c,d).((a,b,c,d):Z|d-c)'
2965 ], 'Test issue with Sigma/Pi for multiple variables').
2966 cli_testcase(1421, [symbolic_model_checker], ['../prob_examples/public_examples/B/SymbolicModelChecking/Counters/InfiniteAndFiniteCounterCorrect.mch', '-symbolic_model_check', 'ic3'], 'Contains Finite and Infinite Counter').
2967 cli_testcase(1422, [symbolic_model_checker], ['../prob_examples/public_examples/B/SymbolicModelChecking/Counters/InfiniteAndFiniteCounterWrong.mch', '-symbolic_model_check', 'ic3', '-expcterr', 'invariant_violation'], 'Contains Finite and Infinite Counter + Invariant Violation').
2968 cli_testcase(1423, [symbolic_model_checker], ['../prob_examples/public_examples/B/SymbolicModelChecking/Counters/InfiniteCounter.mch', '-symbolic_model_check', 'ic3'], 'Contains Infinite Counter').
2969 cli_testcase(1424, [symbolic_model_checker], ['../prob_examples/public_examples/B/SymbolicModelChecking/Counters/VerySimpleCounter.mch', '-symbolic_model_check', 'ic3'], 'Simple Counter').
2970 cli_testcase(1425, [symbolic_model_checker], ['../prob_examples/public_examples/B/SymbolicModelChecking/Counters/VerySimpleCounterWrong.mch', '-symbolic_model_check', 'ic3', '-expcterr', 'invariant_violation'], 'Simple Counter + Invariant Violation').
2971 cli_testcase(1426, [symbolic_model_checker], ['../prob_examples/public_examples/B/SymbolicModelChecking/Counters/VerySimpleCounterWrongLargeBranching.mch', '-symbolic_model_check', 'ic3', '-expcterr', 'invariant_violation'],'Simple Counter with large branching factor').
2972 cli_testcase(1427, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/InitTriesToAssignConstant.mch', '-t', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], 'Check that we detect when we assign a constant in the INITIALISATION').
2973 cli_testcase(1428, [symbolic_model_checker], ['../prob_examples/public_examples/B/SymbolicModelChecking/Bakery0.mch', '-symbolic_model_check', 'ic3'], 'Bakery Model without Invariant Violation').
2974 cli_testcase(1429, [symbolic_model_checker], ['../prob_examples/public_examples/B/SymbolicModelChecking/Bakery0Wrong.mch', '-symbolic_model_check', 'ic3', '-expcterr', 'invariant_violation'], 'Bakery Model with Invariant Violation').
2975 cli_testcase(1430, [laws], ['../prob_examples/public_examples/B/Laws/SetLawsNatural.mch', '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Mathematical Laws about Sets with Natural sets mixed').
2976 cli_testcase(1431, [symbolic_model_checker], ['../prob_examples/public_examples/B/SymbolicModelChecking/TimingExampleSimpler_v2_VariablesEvenMoreLimited.mch', '-symbolic_model_check', 'ic3', '-expcterr', 'invariant_violation'], 'Invariant Violation, Variables limited to finite sets').
2977 cli_testcase(1432, [symbolic_model_checker], ['../prob_examples/public_examples/B/SymbolicModelChecking/TimingExampleSimpler_v3_VariablesLimited.mch', '-symbolic_model_check', 'ic3'], 'No Invariant Violation, Variables limited to finite sets').
2978 cli_testcase(1433, [symbolic_model_checker], ['../prob_examples/public_examples/B/SymbolicModelChecking/TimingExampleSimpler_v2.mch', '-symbolic_model_check', 'ic3', '-expcterr', 'model_check_incomplete'], 'Negative Test: Currently the solvers are too weak for this test.').
2979 cli_testcase(1434, [symbolic_model_checker], ['../prob_examples/public_examples/B/SymbolicModelChecking/TimingExampleSimpler_v3.mch', '-symbolic_model_check', 'ic3', '-expcterr', 'model_check_incomplete'], 'Negative Test: Currently the solvers are too weak for this test.').
2980 cli_testcase(1435, [cbc, symmetry_test,card], ['../prob_examples/public_examples/B/CBC/GraphMining_RunningExample_Unsat.mch', '-init', '-expcterr', 'setup_constants_fails',
2981 '-opterr', 'setup_constants_inconsistent'], 'Test odered set symmetry breaking works with card(S)>Nr constraint.').
2982 cli_testcase(1436, [cbc,disprover,private], [
2983 '../prob_examples/public_examples/ProofObligations/GearDoor1_mch.pl',
2984 '../prob_examples/public_examples/ProofObligations/GearsDoorsHandle3_mch.pl',
2985 '../prob_examples/examples/ProofObligations/ABZ14_Mery/M2_mch.pl',
2986 '../prob_examples/examples/ProofObligations/ABZ14_Mery/M20_mch.pl',
2987 '../prob_examples/examples/ProofObligations/ABZ14_Mery/M3_mch.pl',
2988 '../prob_examples/examples/ProofObligations/ABZ14_Mery/M30_mch.pl',
2989 '../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel3/m1_true.pl',
2990 '../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel3/m2_mch.pl',
2991 '../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel2/m0_mch.pl',
2992 '../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel2/m1_mch.pl',
2993 '../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel2/m2_mch.pl',
2994 '../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel1/LPN0_mch.pl',
2995 '../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel1/LPN1_mch.pl',
2996 '../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel1/LPN2_mch.pl',
2997 '-p', 'DOUBLE_EVALUATION', 'TRUE'
2998 %,'../prob_examples/examples/ProofObligations/ABZ14_Mery/M4_mch.pl'
2999 ],'Test 1409 with double check').
3000 cli_testcase(1437, [cbc,disprover,private], [
3001 '../prob_examples/examples/ProofObligations/Abrial_Ch4_Brp/brp_1_true.pl',
3002 '../prob_examples/examples/ProofObligations/Abrial_Ch4_Brp/brp_3_true.pl',
3003 '-p', 'DOUBLE_EVALUATION', 'TRUE'
3004 ],'Test 1410 with double check').
3005 cli_testcase(1438, [cbc,disprover], [
3006 '../prob_examples/public_examples/ProofObligations/DisproverDefSetTest2_ctx.pl',
3007 '../prob_examples/public_examples/ProofObligations/DisproverDefSetTest3_ctx.pl',
3008 '../prob_examples/public_examples/ProofObligations/DisproverDefSetTest4_ctx.pl',
3009 '-check_disprover_result', 0,0,2,
3010 '-p', 'DOUBLE_EVALUATION', 'TRUE'
3011 ],'Test 1411 with double check').
3012 cli_testcase(1439, [cbc], ['../prob_examples/public_examples/B/Tickets/LambdaInverse/LambdaInverseBehaviour.mch', '-init', '-sptxt', '../prob_examples/public_examples/B/Tickets/LambdaInverse/LambdaInverseBehaviour.sptxt'], 'Test no lambda closure in result state.').
3013 cli_testcase(1440, [cbc,disprover], [
3014 '../prob_examples/public_examples/ProofObligations/InconsistenHyp_ctx.pl',
3015 '-p', 'DOUBLE_EVALUATION', 'TRUE', '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3016 '-expcterr', 'disprover_inconsistent_hypotheses'
3017 ],'Test 1411 with double check').
3018 cli_testcase(1441, [disprover,s21], [
3019 '../prob_examples/public_examples/ProofObligations/S21/train_0_mch.pl',
3020 '-timeout', 500, % sets disprover_timeout
3021 '-opterr', 'disprover_inconsistent_hypotheses', % with larger time_out or faster machine we can find those
3022 '-check_disprover_result', '>10',0,'<25' % on faster machine we can get 12,0,23
3023 % [inv6/WD,inv7/WD,inv8/WD,INITIALISATION/inv3/INV,INITIALISATION/inv5/INV,INITIALISATION/inv4/INV,INITIALISATION/inv6/INV,INITIALISATION/inv7/INV,INITIALISATION/inv8/INV,FRONT_MOVE_1/grd2/WD,FRONT_MOVE_1/act1/WD]
3024 ],'S21 proof obligations').
3025 cli_testcase(1442, [disprover,s21], [
3026 '../prob_examples/public_examples/ProofObligations/S21/train_1_mch.pl',
3027 '-check_disprover_result', '>15',0,'<28', % changed 8th January 2018 to 16,0,27, was 15,0,28, after improved propagation for function application; see test 1885; changed to >15,0,<28 for faster Gitlab Win64 runners
3028 '-opterr', 'disprover_inconsistent_hypotheses' % with larger time_out or faster machine we can find those
3029 ],'S21 proof obligations').
3030 cli_testcase(1443, [disprover,s21], [
3031 '../prob_examples/public_examples/ProofObligations/S21/train_2_mch.pl',
3032 '-timeout', 500, % sets disprover_timeout
3033 '-opterr', 'disprover_inconsistent_hypotheses', % with larger time_out or faster machine we can find those
3034 '-check_disprover_result', '>=0',0,'=<6'
3035 ],'S21 proof obligations').
3036 cli_testcase(1444, [disprover,s21], [
3037 '../prob_examples/public_examples/ProofObligations/S21/train_3_mch.pl',
3038 '-check_disprover_result', 11,0,0,
3039 '-expcterr', 'disprover_inconsistent_hypotheses'
3040 ],'S21 proof obligations').
3041 cli_testcase(1445, [disprover,s21], [
3042 '../prob_examples/public_examples/ProofObligations/S21/train_4_mch.pl',
3043 '-check_disprover_result', 1,0,0,
3044 '-expcterr', 'disprover_inconsistent_hypotheses'
3045 ],'S21 proof obligations').
3046 cli_testcase(1446, [disprover,s21], [
3047 '../prob_examples/public_examples/ProofObligations/S21/train_5_mch.pl',
3048 '-check_disprover_result', 79,0,0,
3049 '-expcterr', 'disprover_inconsistent_hypotheses'
3050 ],'S21 proof obligations').
3051 cli_testcase(1447, [disprover,s21], [
3052 '../prob_examples/public_examples/ProofObligations/S21/train_ctx0_ctx.pl',
3053 % '-check_disprover_result', 1,10,6,
3054 '-check_disprover_result', 5,10,2,
3055 % proven: [axm10/WD]
3056 % disproven: [axm2/THM,axm3/THM,axm4/THM,axm5/THM,axm6/THM,axm7/THM,axm8/THM,axm11/THM,axm10/THM,axm9/THM]
3057 '-timeout', 2000 % timeout per PO
3058 ],'S21 proof obligations').
3059 cli_testcase(1448, [disprover,s21], [
3060 '../prob_examples/public_examples/ProofObligations/S21/train_ctx1_ctx.pl',
3061 '-check_disprover_result', 1,0,2
3062 ],'S21 proof obligations, axm2/WD can be proven'). /* was skipped: PO 'axm2/WD' no longer provable due to change of cardinality3 block declaration; was fixed by merging kernel_cardinality */
3063 cli_testcase(1449, [disprover,s21], [
3064 '../prob_examples/public_examples/ProofObligations/S21/train_ctx2_ctx.pl',
3065 '-check_disprover_result', 7,0,0,
3066 '-expcterr', 'disprover_inconsistent_hypotheses'
3067 ],'S21 proof obligations').
3068 cli_testcase(1450, [disprover,s21], [
3069 '../prob_examples/public_examples/ProofObligations/S21/train_ctx5_ctx.pl',
3070 '-check_disprover_result', 0,0,0
3071 ],'S21 proof obligations').
3072 cli_testcase(1451, [cbc,atelierb,chr,unsat_core], ['../prob_examples/examples/B/Alstom/DisproverProject/TrueContradiction.mch',
3073 '-p', 'CHR', 'TRUE', '-p', 'DISPROVER_MODE', 'TRUE',
3074 '-cbc_assertions', '-cbc_option', contradiction_check, '-cbc_option', tautology_check , '-cbc_option', unsat_core,
3075 '-cbc_result_file', '../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt',
3076 '-strict', '-expcterr', contradiction_in_hypotheses], 'Test Atelier-B Disprover interface').
3077 cli_testcase(1452, [disprover,exists], [
3078 '../prob_examples/public_examples/ProofObligations/Mammar_Laleau_ABZ/Cylinders_mch.pl',
3079 '-timeout', 2500, % sets disprover_timeout
3080 '-check_disprover_result', 37,0,0,
3081 '-expcterr',bmachine_static_checks % the body of an existential quantifier is indeed accidentally an implication
3082 ],'ABZ Mammar Laleau - requires exists expansion').
3083 cli_testcase(1453, [disprover], [
3084 '../prob_examples/public_examples/ProofObligations/Mammar_Laleau_ABZ/Gears_mch.pl',
3085 %'../prob_examples/public_examples/ProofObligations/Mammar_Laleau_ABZ/Doors_mch.pl',
3086 '../prob_examples/public_examples/ProofObligations/Mammar_Laleau_ABZ/GearsIntermediateStates_mch.pl',
3087 '../prob_examples/public_examples/ProofObligations/Mammar_Laleau_ABZ/Failures_mch.pl', % requires good reification of partial_function test
3088 '-opterr',bmachine_static_checks % the body of an existential quantifier is indeed accidentally an implication
3089 % #x.(P(x)) => Q is actually parsed (#x. P(x) => Q) in Rodin !!
3090 ],'ABZ Mammar Laleau POs should all be proven, test closure reification').
3091 cli_testcase(1454, [disprover,cbc], ['-p','SMT','TRUE',
3092 '-evalf', 'not(handler_ind : dom({FALSE |-> d,TRUE |-> c}) &{FALSE |-> a,TRUE |-> b} : BOOL +-> INTEGER) & handler_ind : BOOL & d:INTEGER', % other small test
3093 '-evalf', 'not(handler_ind : dom({FALSE |-> d,TRUE |-> c}) &{FALSE |-> a,TRUE |-> b} : BOOL --> INTEGER) & handler_ind : BOOL & d:INTEGER', % other small test
3094 '-evalf', 'not(f<+{po |-> {TRUE |-> currentTime + 12,FALSE |-> 16}(po)} : BOOL --> NATURAL) & f : BOOL --> NATURAL&po=TRUE & currentTime:NATURAL', % this checks not_total_function improvement
3095 '-evalf', 'not(f <+ {po |-> {TRUE |-> currentTime + 12,FALSE |-> 16}(po)} : BOOL +-> NATURAL) & f : BOOL +-> NATURAL & currentTime>0', % this checks not_partial_function improvement
3096 '-evalf', 'not(BOOL * {currentTime + 4} : BOOL --> NATURAL) & currentTime >0' % this checks not_subset improvement for not_total_function
3097 ],'Check reification of x:NATURAL and choice point in not_total_function and not_partial_function').
3098 cli_testcase(1455, [cbc,atelierb,disprover], ['-p', 'CHR', 'TRUE', '-p', 'DISPROVER_MODE', 'TRUE',
3099 '-evalf', 'not(#(i0).(i0 : INTEGER & ((tdc <+ {i |-> TRUE}) <+ {i0 |-> TRUE} = {1,2,3} * {TRUE} & door_closing = TRUE => door_closed = FALSE))) & (door_closing = TRUE => (door_open = FALSE & door_closed = FALSE))',
3100 '-opterr',bmachine_static_checks
3101 ], 'Test splitting of existential quantifier').
3102 % some laws also checked in CHR+DISPROVER mode:
3103 cli_testcase(1456, [laws,rel_fnc,cbc,disprover], ['../prob_examples/public_examples/B/Laws/ExplicitComputations.mch', '-t', '-mc', '100000', '-nodead', '-cs', '-strict', '-p', 'CLPFD', 'TRUE', '-p', 'TIME_OUT', '9000',
3104 '-p', 'DISPROVER_MODE', 'TRUE'], 'Many explicit computations which check that all operators work as expected on various concrete data (CLPFD+DISPROVER mode).').
3105 cli_testcase(1457, [laws,chr], ['../prob_examples/public_examples/B/Laws/BoolLaws.mch', '-mc', '100000', '-nodead', '-cs', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE',
3106 '-p', 'DISPROVER_MODE', 'TRUE', '-p', 'CHR', 'TRUE'], 'Various laws about BOOL datatype and boolean connectives.').
3107 cli_testcase(1458, [laws,chr], ['../prob_examples/public_examples/B/Laws/ArithmeticLaws.mch', '-mc', '100000', '-cs', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE',
3108 '-p', 'DISPROVER_MODE', 'TRUE', '-p', 'CHR', 'TRUE'], 'Various arithmetic laws.').
3109 cli_testcase(1459, [laws,chr], ['../prob_examples/public_examples/B/Laws/NatRangeLaws.mch', '-mc', '100000', '-cs', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE',
3110 '-p', 'DISPROVER_MODE', 'TRUE', '-p', 'CHR', 'TRUE'], 'Laws about intervals etc.').
3111 cli_testcase(1460, [laws,rel_fnc,chr], ['../prob_examples/public_examples/B/Laws/RelLaws.mch', '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE',
3112 '-p', 'DISPROVER_MODE', 'TRUE', '-p', 'CHR', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Use model checking to check a variety of laws on relations.').
3113 cli_testcase(1461, [laws,chr], ['../prob_examples/public_examples/B/Laws/SetLaws.mch', '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'FALSE',
3114 '-p', 'DISPROVER_MODE', 'TRUE', '-p', 'CHR', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Mathematical Laws about Sets').
3115 cli_testcase(1462, [cbc,atelierb,disprover], ['-p', 'CHR', 'TRUE', '-p', 'DISPROVER_MODE', 'TRUE',
3116 '-evalf', 'not(!(i0).(i0 : {1,2,3} => (three_door_open <+ {i |-> FALSE})(i0) = FALSE or three_door_closed(i0) = FALSE)) & three_door_open : {1,2,3} --> BOOL & three_door_closed : {1,2,3} --> BOOL & ( door_open = TRUE => three_door_open = {1,2,3} * {TRUE}) & ( door_closed = TRUE => three_door_closed = {1,2,3} * {TRUE}) & !(i).(i : {1,2,3} => three_door_open(i) = FALSE or three_door_closed(i) = FALSE) & (door_open = FALSE or door_closed = FALSE)',
3117 '-evalf', 'not( (gears_rtr = TRUE <=> three_gears_rtr <+ {i |-> TRUE} = {1,2,3} * {TRUE} )) & ( gears_rtr = TRUE <=> three_gears_rtr = {1,2,3} * {TRUE}) & i : {1,2,3} & three_gears_ext(i) = FALSE & three_gears_rtr(i) = FALSE & (three_gears_rtr <+ {i |-> TRUE}) /= {1,2,3} * {TRUE} '
3118 ], 'Test improved treatment of function overwrite').
3119 cli_testcase(1463, [disprover], [
3120 '../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel2/m6_mch.pl',
3121 '-timeout', 600, % sets disprover_timeout
3122 '-check_disprover_result', '>101',0,'<2' % on a fast machine we can get 103 true and 0 unknown, otherwise 102 and 1
3123 ],'Requires function overwrite + better sharing of negated preds').
3124 cli_testcase(1464, [cbc,cse, cse_test,sigma], [ '-p', 'CSE', 'TRUE',
3125 '-evalf', 'x+y >100 & x+y <99',
3126 '-evalt', '(x+y)+(x+y)=(x+y) & x:INTEGER',
3127 '-evalt', '((x+y)+z)*(x+y)+((x+z)+y) + (x+z) = 0',
3128 '-evalt', '!x.(x:NATURAL &x+z<10 => x+z<11) & z=2',
3129 '-evalt', 'SIGMA(x).(x:NATURAL &x+z<4 | x+z)=5 & z=2',
3130 '-evalt', 'PI(x).(x:NATURAL &x+z<4 | x+z)=6 & z=2',
3131 '-evalt', '(z>1 => #x.(x:NATURAL &x+z<10 & x+z<11)) & z=2',
3132 '-evalt', '%(x).(x:NATURAL1 &x+z<4 | x+z)=[3] & z=2',
3133 '-evalt', '{x,r | x:NATURAL1 &x+z<4 & r= x+z}=[3] & z=2',
3134 '-evalt', '{v|v+(x+x) : 0..10 & v:0..5 & v+(x+x) < 3}={0} & x+x : 0..4',
3135 '-evalt', 'f:BOOL +-> 0..10 & (f/={} => f(TRUE)>5) & (FALSE:dom(f)=> f(TRUE)>5)',
3136 '-evalt', 'f:BOOL +-> 0..10 & (f/={} => f(TRUE)>5) <=> b=TRUE & (FALSE:dom(f)=> f(TRUE)>5) <=> b=FALSE',
3137 '-evalt', 'f:1..3+->1..3 & (x:dom(f) => #r.(r=f(x) & r>2 & r<10))<=>b=TRUE & x:3..4 & f={}',
3138 '-evalt', 'f:BOOL +-> 0..10 & (f/={} => (f(TRUE)>5 <=> c=TRUE)) <=> b=TRUE & (FALSE:dom(f)=> (f(TRUE)>5<=>c=FALSE)) <=> b=FALSE & c=FALSE',
3139 '-evalf', 'a: 1..6 --> {0,1,5} & b: 1..3 --> {30,210,21} & SIGMA(i).(i:1..0|a(i))+SIGMA(j).(j:1..3|b(i))=20 & r=b(i)'
3140 ], 'Some simple CSE tests').
3141
3142 cli_testcase(1465,[cse, cse_test,private],['-p', 'CSE', 'TRUE', '-p', 'MAXINT', 127, '-p', 'MININT', -128,
3143
3144 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-MemoryLoad_SP_55.prob',
3145 '-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-TransmitMemoryDumpOk21_SP_6.prob'
3146 % ,'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-TransData_SP_13.prob' %% does not work yet
3147 ], 'Test from 1003').
3148 cli_testcase(1466,[cse,tickets], ['-p', 'CSE', 'TRUE',
3149 '../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel3/m3_act0_inv2_as_b.mch',
3150 '-init'
3151 ], 'Test WD issue does not prevent from finding solution').
3152
3153 cli_testcase(1467, [disprover,private], [
3154 '../prob_examples/examples/ProofObligations/Pacemaker_1_15March2011/M0_AOO_mch.pl',
3155 '-check_disprover_result', 27,0,1
3156 ],'Pacemaker proof obligations').
3157 cli_testcase(1468, [por,enabling], ['../prob_examples/public_examples/B/Ivo/DepEnabling.mch', '-mc', '1000000', '-noinv', '-p', 'por', ample_sets, '-expcterr', deadlock, '-strict'], 'Testing whether the deadlock state is found when model checking with POR.').
3158 cli_testcase(1469, [por,enabling], ['../prob_examples/public_examples/B/Ivo/DepEnabling.mch', '-mc', '1000000', '-noinv', '-p', 'por', ample_sets, '-expcterr', deadlock, '-strict'], 'Testing whether the deadlock state is found when model checking with POR.').
3159 cli_testcase(1470, [csp_test,fairness,ltl], ['../prob_examples/public_examples/CSP/LTL/mbuff.csp', '-ltlformula', 'SF(snd_mess.t1.d1) & SF(mess.t1.d1) & SF(rcv_mess.t1.d1) & SF(right.t1.d1) => G ([left.t1.d1] => F [right.t1.d1])', '-check_complete', '-cc', '1406', '4063', '-strict'], 'Test fairness implementation.').
3160 cli_testcase(1471, [csp_test,fairness,ltl], ['../prob_examples/public_examples/CSP/LTL/mbuff.csp', '-ltlformula', 'SEF => G ([left.t1.d1] => F [right.t1.d1])', '-check_complete', '-cc', '1406', '4063', '-strict'], 'Test fairness implementation.').
3161 cli_testcase(1472, [csp_test,fairness,ltl], ['../prob_examples/public_examples/CSP/LTL/peterson.csp', '-ltlformula', 'WF(p2enter) & WF(p2critical) & WF(p2leave) & WF(p2resetflag2) & WF(p2set1turn) & WF(p1set2turn) & WF(p1gettrueflag2) & WF(p2gettrueflag2) & WF(p2gettrueflag1) & WF(p1get1turn) & WF(p2get2turn) & WF(p1enter) => G ([p1setflag1] => F [p1enter])', '-check_complete', '-cc', 57, 113, '-strict'], 'Test fairness implementation.').
3162 cli_testcase(1473, [csp_test,fairness,ltl], ['../prob_examples/public_examples/CSP/LTL/peterson.csp', '-ltlformula', 'WEF => G ([p1setflag1] => F [p1enter])', '-check_complete', '-cc', 57, 113, '-strict'], 'Test fairness implementation (skipped until next ProB parser release).').
3163 cli_testcase(1474, [csp_test,fairness,ltl], ['../prob_examples/public_examples/CSP/LTL/pris.csp', '-ltlformula', 'SF(in.A) & SF(in.B) & SF(in.C) => F[done]', '-cc', 48, 61, '-strict'], 'Test fairness implementation.').
3164 cli_testcase(1475, [csp_test,fairness,ltl], ['../prob_examples/public_examples/CSP/LTL/pris.csp', '-ltlformula', 'SEF => F[done]', '-cc', 48, 61, '-strict'], 'Test fairness implementation (skipped until next ProB parser release).').
3165 cli_testcase(1476, [csp_test,fairness,ltl], ['../prob_examples/public_examples/CSP/LTL/scheduler.csp', '-ltlformula', 'WF(ready.5) & WF(ready.4) & WF(ready.3) & WF(ready.2) & WF(leave.1) => G ([enter.1] => F [leave.1])', '-cc', 3194, 12046, '-strict'], 'Test fairness implementation.').
3166 cli_testcase(1477, [csp_test,fairness,ltl], ['../prob_examples/public_examples/CSP/LTL/scheduler.csp', '-ltlformula', 'WEF => G ([enter.1] => F [leave.1])', '-cc', 3194, 12046, '-strict'], 'Test fairness implementation (skipped until next ProB parser release).').
3167 cli_testcase(1478, [cbc,cse, cse_test,sigma], [ '-p', 'CSE', 'FALSE', '-p', 'SMT', 'TRUE',
3168 '-evalf', 'a: 1..6 --> {0,1,5} & b: 1..3 --> {30,210,21} & SIGMA(i).(i:1..0|a(i))+SIGMA(j).(j:1..3|b(i))=20 & r=b(i)'
3169 ], 'Test new FDSET collection for function application').
3170 cli_testcase(1479, [csp_test,fairness,ltl], ['../prob_examples/public_examples/CSP/LTL/scheduler.csp', '-ltlformula', 'SF(ready.5) & SF(ready.4) & SF(ready.3) & SF(ready.2) & SF(leave.1) => G ([enter.1] => F [leave.1])', '-strict'], 'Test fairness implementation (fix of the memory exhaustion issue).').
3171 cli_testcase(1480, [csp_test,fairness,ltl], ['../prob_examples/public_examples/CSP/LTL/scheduler.csp', '-ltlformula', 'SF(ready.5) & SF(ready.4) & SF(ready.3) & SF(ready.2) & SF(delete.1) => G ([new.1] => F [delete.1])', '-strict'], 'Test fairness implementation (fix of the memory exhaustion issue).').
3172 cli_testcase(1481, [csp_test,fairness,ltl], ['../prob_examples/public_examples/CSP/LTL/phils.csp', '-ltlformula', 'SF(sits._) => G ([sits.0] => F [eats.0])', '-expcterr', ltl, '-strict'], 'Testing fairness check to fail when using _ as argument in order to set a group of events (e.g. sits._) as fairness constraints.').
3173 cli_testcase(1482, [tickets,override], ['../prob_examples/public_examples/EventBPrologPackages/Tests/FunOverrideTest.mch', '-mc', 99, '-strict'], 'Test f(x) := E substitution deals with f being a relation.').
3174 cli_testcase(1483, [laws,sequences], ['../prob_examples/public_examples/B/Laws/SeqLaws.mch', '-mc', '500', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'TRUE', '-assertions'], 'Laws about sequences').
3175 cli_testcase(1484, [cbc,tickets], [
3176 '-evalt', 'res=x*x+4*x+14',
3177 '-evalt', 'x*x+4*x+14=res'
3178 ], 'Check no CLPFD overflow').
3179 cli_testcase(1485, [tickets], [
3180 '-evalt', 'x = -(x) & y={x,2} & z={x,3}',
3181 '-evalt', 'x = -v & v=2+w & w=10 & y={x,2} & z={x,3}'
3182 ], 'Check no error in predicate partitioning and equality replacement').
3183 cli_testcase(1486, [b_test,override], ['-t', '-strict', '../prob_examples/public_examples/B/FeatureChecks/OverrideRelationAssignment.mch'], 'Check function override assignment works for relation').
3184 cli_testcase(1487, [records,cbc], [
3185 '-evalf', 'r:struct(f1:11..20,f2:12..20) & r\'f1+10 = r\'f2',
3186 '-evalt', 'r:struct(f1:11..20,f2:12..30) & r\'f1+10 = r\'f2',
3187 '-evalt', 'r:struct(f1:11..20,f2:12..30) & r\'f1+10 = r\'f2 & s:struct(f1:15..20,f2:1..100) & s=r'
3188 ], 'A few REPL tests with records').
3189 cli_testcase(1488, [cbc], [
3190 '-evalf', 'A /= {} & A <<: {x} & x:INTEGER', % NotSubsetoOfSingleton
3191 '-evalf', '{(x,y)} <: R & x /: dom(R) & R : INTEGER <-> INTEGER', % SingletonNotSubsetRel
3192 '-evalf', 'X /\\ Y = Z & X = {} & Z /= {} & X<:INTEGER', % dinters(X,Y,Z) & X = {} & Z neq {} --> false
3193 '-evalf', 'R:INTEGER<->INTEGER & A={} & Q= A <| R & dom(Q)=D & D /= {}', %DresEmpty2 % is_rel(R) & A = {} & dres(A,R,Q) & dom(Q,D) & D neq {}
3194 '-evalf', 'R:INTEGER<->INTEGER & R /= {} & dom(R)=D & D <<: {X}', % DomNotSubsetOfSingleton % is_rel(R) & R neq {} & dom(R,D) & ssubset(D,{X})
3195 '-evalf', 'R:INTEGER<->INTEGER & R /= {} & dom(R)=D & A=D & A <| R=Q & R /\\ Q = {}', % DresCapEqual
3196 '-evalf', 'R:INTEGER<->INTEGER & R /= {} & dom(R)=D & A=D & A <| R = {}', % DresEqual
3197 '-evalf', 'R:INTEGER<->INTEGER & dom(R)=D & X /: D & dom({(X,Y),B}) = DS & D=DS & Y:INTEGER', % SingletonMappletNotInDom % is_rel(R) & dom(R,D) & X nin D & dom({[X,Y] / B},DS) & D = DS
3198 % This does not work R:INTEGER<->INTEGER & dom(R)=D & X /: D & dom({(X,Y),B,B2}) = DS & D=DS & Y:INTEGER
3199 '-p', 'CLPFD', 'TRUE'
3200 ], 'Check that ProB can handle Setlog TTF filtering rules').
3201 cli_testcase(1489, [b_test,proz,private],['../prob_examples/examples/Z/Cristia/birthdayBook/zspec.fuzz', '-t', '-p', 'DEFAULT_SETSIZE', 3, '-strict'],'ProZ test (new Init/init schema detection)').
3202 cli_testcase(1490, [cbc_tests,cbc,proz,private],['../prob_examples/examples/Z/Cristia/birthdayBook/zspec.fuzz',
3203 '-cbc_tests', 2 ,'', '', '-cbc_cover_all'],'Check that we can cover all events').
3204 cli_testcase(1491, [eventb_test,infinite,override], ['../prob_examples/public_examples/EventBPrologPackages/FeatureTests/InfiniteChanges_mch.eventb', '-t'], 'Test that we can override infinite functions.').
3205 cli_testcase(1492, [tickets,alstom,random,private], ['../prob_examples/examples/B/Alstom/ixl_Apr_2015/scheduler_i.mch', '-animate', 10, '-p', 'CLPFD', 'FALSE',
3206 '-p', 'TIME_OUT', 12000, % increased time-out from 6000 for gitlab windows runner on Feb 9th 2020
3207 '-p', 'RANDOMISE_ENUMERATION_ORDER', 'TRUE'], 'Test that random enumeration works without CLPFD.').
3208 cli_testcase(1493, [operation_reuse], ['../prob_examples/public_examples/B/Ivo/SkippingComplexGuardsEvaluation_mch_mx5000.eventb',
3209 '-mc', 1000000, '-p', 'OPERATION_REUSE', 'TRUE', %'-p', 'pge', full,
3210 '-expcterr', bmachine_static_checks, % implication inside exists
3211 '-get_coverage_information',
3212 '../prob_examples/public_examples/B/Ivo/SkippingComplexGuardsEvaluation_mch_mx5000_Coverage.txt', '-strict'], 'Pathological test case for the PGE optimisation: 0 guard evaluations should be skipped.').
3213 cli_testcase(1494, [operation_reuse], ['../prob_examples/public_examples/B/Ivo/NoDisablings_mx5.eventb', '-mc', 1000000,
3214 '-p', 'OPERATION_REUSE', 'TRUE', %'-p', 'pge', full,
3215 '-get_coverage_information', '../prob_examples/public_examples/B/Ivo/NoDisablings_mx5_Coverage.txt', '-strict'], 'Pathological test case for the PGE optimisation: fixed number of guard evaluations should be skipped.').
3216 cli_testcase(1495, [operation_reuse,enabling], ['../prob_examples/public_examples/B/Ivo/PGE_Deadlock.mch', '-mc', 1000000, '-noinv', '-p', 'OPERATION_REUSE', 'TRUE', % '-p', 'pge', full,
3217 '-expcterr', deadlock, '-strict'], 'Testing whether the deadlock state is discovered when -noinv is set (invariant should not be used for the enabling analysis when model checking just for deadlock freedom).').
3218 cli_testcase(1496, [operation_reuse], ['../prob_examples/public_examples/B/Ivo/PGE_Deadlock.mch', '-mc', 1000000,
3219 '-p', 'OPERATION_REUSE', 'TRUE', %'-p', 'pge', full,
3220 '-expcterr', invariant_violation, '-strict'], 'Testing whether the invariant violation is discovered.').
3221 cli_testcase(1497, [operation_reuse], ['../prob_examples/public_examples/B/Ivo/PGE_Deadlock.mch', '-ltlformulaf', 'G not deadlock', '-p', 'OPERATION_REUSE', 'TRUE', % '-p', pge, full,
3222 '-strict'], 'Testing whether the deadlock state is discovered when using PGE while LTL model checking.').
3223 cli_testcase(1498, [cbc,queens,card], [
3224 '-evalt', '{x| x:1..3 -->> 5..7 & x(2)=6} = {{(1|->5),(2|->6),(3|->7)},{(1|->7),(2|->6),(3|->5)}}',
3225 '-evalt', '{x| x:1..3 -->> 5..7 & x(2)>x(3)} = {{(1|->7),(2|->6),(3|->5)},{(1|->5),(2|->7),(3|->6)},{(1|->6),(2|->7),(3|->5)}}',
3226 '-evalt', '{x| x:1..3 -->> 5..8 & x(2)>x(3)}={}',
3227 '-evalt', 'n = 50 & queens : 1..n -->> 1..n &!(q1,q2).(q1:1..n & q2:2..n & q2>q1 => queens(q1)+q2-q1 /= queens(q2) & queens(q1)-q2+q1 /= queens(q2))',
3228 '-evalt', '{x| x:1..3 +->> 5..7 & x(2)=6} = {{(1|->5),(2|->6),(3|->7)},{(1|->7),(2|->6),(3|->5)}}',
3229 '-evalt', '{x| x:1..3 +->> 5..7 & x(2)>x(3)} = {{(1|->7),(2|->6),(3|->5)},{(1|->5),(2|->7),(3|->6)},{(1|->6),(2|->7),(3|->5)}}',
3230 '-evalt', '{x| x:1..3 +->> 5..8 & x(2)>x(3)}={}',
3231 '-evalt', 'n = 50 & queens : 1..n +->> 1..n &!(q1,q2).(q1:1..n & q2:2..n & q2>q1 => queens(q1)+q2-q1 /= queens(q2) & queens(q1)-q2+q1 /= queens(q2))',
3232 '-evalt', 'n = 50 & queens : 1..n >->> 1..n &!(q1,q2).(q1:1..n & q2:2..n & q2>q1 => queens(q1)+q2-q1 /= queens(q2) & queens(q1)-q2+q1 /= queens(q2))' % now added also total_bijection
3233 ], 'Check -->> / +->> optimization works correctly (test new treatment to treat like >-> when domain card = range card; now also >->>)').
3234 cli_testcase(1499, [cbc,cse], ['../prob_examples/public_examples/B/Special/ConstrainedBasedChecking/mesiSet.mch',
3235 '../prob_examples/public_examples/B/Special/ConstrainedBasedChecking/mesiSet_simplified.mch',
3236 '-cbc', 'all', '-strict', '-expcterr', 'cbc', '-p', 'CSE', 'TRUE'], 'Test 402 with CSE enabled; nonvar types occur').
3237 cli_testcase(1500, [cse,hash], ['../prob_examples/public_examples/B/PerformanceTests/CommonSubexpressions/Sequence_CSE_Test2.mch', '-mc', '1002', '-nodead', '-bf', '-hash64', 667488836707065541, '-p', 'CSE', 'TRUE'], 'Test CSE with Sequence Substitutions'). % % 17.9.2021: adapted hash from 25104873554326101 for sorted order of variables
3238 cli_testcase(1501, [cse,hash], ['../prob_examples/public_examples/B/PerformanceTests/CommonSubexpressions/WhileLoop_CSE_Test1.mch', '-mc', '500', '-nodead', '-bf', '-hash64', 137772507059734089, '-p', 'CSE', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Test CSE with While Substitutions').
3239 cli_testcase(1502, [cse,hash], ['../prob_examples/public_examples/B/PerformanceTests/CommonSubexpressions/WhileLoop_CSE_Test2.mch', '-mc', '500', '-nodead', '-bf', '-hash64', 642472838688353119, '-p', 'CSE', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Test CSE with While Substitutions').
3240 cli_testcase(1503, [cse,hash], ['../prob_examples/public_examples/B/PerformanceTests/CommonSubexpressions/WhileLoop_CSE_Test3.mch', '-mc', '500', '-nodead', '-bf', '-hash64', 642472838688353119, '-p', 'CSE', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Test CSE with While Substitutions').
3241 cli_testcase(1504, [cse,hash], ['../prob_examples/public_examples/B/PerformanceTests/CommonSubexpressions/WhileLoop_CSE_Test5.mch', '-mc', '500', '-nodead', '-bf', '-hash64', 571377810868391599, '-p', 'CSE', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Test CSE with While Substitutions').
3242 cli_testcase(1505, [smt_solver_integration], [
3243 '-evalt', ':z3-double-check x = 1',
3244 '-evalf', ':z3-double-check x = 1 & x > 2'
3245 ], 'some simple constraints that should be solved by z3').
3246 cli_testcase(1506, [smt_solver_integration], [
3247 '-evalt', ':z3-double-check r:struct(f1:11..20,f2:12..30) & r\'f1+10 = r\'f2',
3248 '-evalf', ':z3-double-check r:struct(f1:11..20,f2:12..20) & r\'f1+10 = r\'f2',
3249 '-evalt', ':z3-double-check r:struct(f1:11..20,f2:12..30) & r\'f1+10 = r\'f2 & s:struct(f1:15..20,f2:1..100) & s=r',
3250 '-evalt', ':z3-double-check v1:struct(lderb:{TRUE},mspue:{FALSE},fhhxr:{TRUE})',
3251 '-evalt', ':z3-double-check Dom = struct(f1:-1..3)',
3252 '-evalt', ':z3-double-check Dom = struct(f1:-1..3) & SS : POW(Dom)',
3253 '-evalf', ':z3-double-check Dom = struct(r:1..3) & ff:Dom<->BOOL & gg:Dom<->BOOL & not(ff <<: gg => #xx.(xx:gg & xx/:ff))'
3254 ], 'records support by smt solvers').
3255 cli_testcase(1507, [cvc5], [
3256 '-evalt', ':cvc5 test = \"asdfasdfasdF\"'
3257 ], 'string support by smt solvers').
3258 cli_testcase(1508, [smt_solver_integration], [
3259 '-evalf', ':z3-double-check x>0 & x+1 <= p & x=p',
3260 '-evalf', ':z3-double-check x>0 & x+2 <= p & x=p',
3261 '-evalf', ':z3 not(Pace_Int - sp >= 0) & (sp > 0 & sp < Pace_Int)' % taken from pacemaker disprover testcase; requires CHR probably to double check
3262 ], 'check that smt solvers would be able to replace the chr code in some cases').
3263 cli_testcase(1509, [smt_solver_integration], [
3264 '-evalt', ':z3-double-check {x} <: {999}',
3265 '-evalt', ':z3-double-check {x} <: {999,1000} & x > 999',
3266 '-evalt', ':z3-double-check x = {1,2} /\\ {3,4}',
3267 '-evalt', ':z3-double-check x={(1,2),(3,4),(4,5),(6,7),(8,9)} & y|->v : x & y|->w : x'
3268 ], 'simple set constraints for smt solvers').
3269 cli_testcase(1510, [smt_solver_integration], [
3270 '-evalt', ':z3-double-check x : {1,2} --> NAT',
3271 '-evalf', ':z3-double-check x : {1,2} --> NAT & x = {(1,1)}',
3272 '-evalt', ':z3-double-check x : {1,2} --> NAT & x = {(1,1),(2,1)}'
3273 ], 'functions for z3 (in theory supported by cvc4, but often unknown)').
3274 cli_testcase(1511, [smt_solver_integration], [
3275 '-evalf', ':z3-double-check s = min({1}) & s=2',
3276 '-evalf', ':z3-double-check s = min({1,2}) & s>2'
3277 %'-evalf', ':cvc s = min({1}) & s=2',
3278 %'-evalf', ':cvc s = min({1,2}) & s>2'
3279 ], 'check that smt solvers can falsify min / max').
3280 cli_testcase(1512, [cse, ltl], ['../prob_examples/public_examples/B/LTL/Fairness/TestingFairness.mch',
3281 '-p', 'CSE', 'TRUE', '-p', 'CSE_SUBST', 'TRUE',
3282 '-ltlformulat', true, '-ltlformulat', 'G{1=1}',
3283 '-ctlformulat', 'AG{1=1}', '-ctlformulaf', 'EF{1=2}',
3284 %'-ltlformulaf', false, % does not work !
3285 '-ltlformulaf', 'G{1=2}', '-strict'], 'Test 1244 with CSE_SUBST, checks top-level PRE detected inside lazy_let_subst.').
3286 cli_testcase(1513, [smt_solver_integration], [
3287 '-evalt', ':z3-double-check x=dom({(1,2)})',
3288 '-evalt', ':z3-double-check x=ran({(1,2)})'
3289 ], 'domain and range computation using z3').
3290 cli_testcase(1514, [cse,case],['../prob_examples/examples/B/Satpathy/Teletext104/Teletext104_deterministic.mch', '-t',
3291 '-p', 'CSE', 'TRUE', '-p', 'CSE_SUBST', 'TRUE'
3292 ],'Test 1292 with CSE_SUBST: Check this relatively large machine works.').
3293 cli_testcase(1515, [cse], [
3294 '-p', 'CSE', 'TRUE', '-p', 'CSE_SUBST', 'TRUE',
3295 '-evalt', '(x>1 => 10/x>2) & #v.(v:10..20 & (x>2 => 10/x=v))'
3296 ], 'check that no pending co-routines or wd problem').
3297 cli_testcase(1516, [smt_solver_integration], [
3298 '-evalf', ':z3-double-check x = {(1,5),(2,6),(3,7)} & i = x[{1,2}] & 7:i',
3299 '-evalt', ':z3-double-check x = {(1,5),(2,6),(3,7)} & i = x[{1,2}]'
3300 ], 'check that smt solvers can falsify image (at least z3 can)').
3301 cli_testcase(1517, [smt_solver_integration], [
3302 '-evalf', ':z3-double-check x = 1 .. 4 & z = x /\\ 5 ..3 & z /= {}',
3303 %'-evalf', ':cvc x = 1 .. 4 & z = x /\\ 5 ..3 & z /= {}',
3304 '-evalt', ':z3-double-check x = 1 .. 4 & z = x /\\ 5 .. 3'
3305 %'-evalt', ':cvc x = 1 .. 4 & z = x /\\ 5 .. 3' removed for now
3306 ], 'intervals for smt solvers').
3307 cli_testcase(1518, [cbc], [
3308 '-evalt', 'x = %i.(i:1..10|i+i) & x[{j}]={8}',
3309 '-evalt', 'ran({x,j|x = {1|->2,2|->4, 4|->8, 5|->8} & x[{j}]={8}})=4..5',
3310 '-evalt', 'ran({x,j|x = {1|->2,23|->4, 44|->8, 55|->8} & x[{j}]={8}})={44,55}',
3311 '-evalt', 'x = %i.(i:1001..1100|i+i) & x[{j}]={2100}',
3312 '-evalt', 'x = %i.(i:1..10|i+i) & x[{5,j}]={16,10}',
3313 '-evalf', 'x = %i.(i:1..10|i+i) & x[{5,j}]={16,11}'
3314 ], 'check that we propagate/instantiate for image').
3315 cli_testcase(1519, [b_test,external,records,strings], ['../prob_examples/public_examples/B/ExternalFunctions/LibraryStrings.mch',
3316 '-evalt', '{rec(sa:"1.101"),rec(sa:"1.102")} =x & x<: (struct(sa : {s| s : STRING & size(STRING_SPLIT(s,"."))=2}))',
3317 '-evalf', '{rec(sa:"1.101"),rec(sa:"1.102.3")} =x & x<: (struct(sa : {s| s : STRING & size(STRING_SPLIT(s,"."))=2}))'
3318 ], 'Check that no infinite expansion occurs here.').
3319 cli_testcase(1520, [b_test,unicode,atelierb],
3320 ['../prob_examples/public_examples/B/Tickets/UnicodeSupport/t1_2_atelierb.mch', '-t'
3321 ],'Test Atelier-B unicode support.').
3322 cli_testcase(1521, [b_test,external,records,infinite],
3323 ['../prob_examples/public_examples/B/Tickets/SymbolicSubArgs/SymbolicSubArg.mch',
3324 '-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', % test also passes without this
3325 '-assertions'
3326 ], 'Check that no infinite expansion occurs here.').
3327 cli_testcase(1522, [b_test,external,records,infinite],
3328 ['../prob_examples/public_examples/B/Tickets/SymbolicSubArgs/SymbolicSubArg.mch',
3329 '../prob_examples/public_examples/B/Tickets/SymbolicSubArgs/NonSymbolicSubArg.mch',
3330 '../prob_examples/public_examples/B/Tickets/SymbolicSubArgs/NonSymbolicSubArgDEF.mch',
3331 '-assertions'
3332 ], 'Like test 1521, but a few virtual time outs occur for NonSymbolic files.').
3333 cli_testcase(1523, [smt_solver_integration], [
3334 '-eval', ':z3-version',
3335 '-evalt', ':z3-double-check x = %i.(i:1..10|i+i) & x[{j}]={8}',
3336 '-evalt', ':z3-double-check x = %i.(i:1..10|i+i) & x[{5,j}]={16,10}',
3337 '-evalf', ':z3-double-check x = %i.(i:1..10|i+i) & x[{5,j}]={16,11}'
3338 ], 'parts of test 1518 using smt solvers').
3339 cli_testcase(1524, [tickets,records], [
3340 '../prob_examples/public_examples/B/Tickets/PROB-381/DuplicateFieldInRecord.mch',
3341 '../prob_examples/public_examples/B/Tickets/PROB-381/DuplicateFieldInRecordType.mch', '-init',
3342 '-expcterr', 'type_error', '-expcterr', 'load_main_file'], 'Check multiple use of record field detected. (Ticket PROB-381)').
3343 cli_testcase(1525, [cbc], [
3344 '-evalf', 'x:S & y:S & y/:T & S<:NATURAL & T=S'
3345 ], 'ensure above is detected FALSE wo enum warning; requires better reification for FD equality').
3346 cli_testcase(1526, [cbc], [
3347 '-evalt', 'f = {(1|->2),(2|->3),(3|->4),(4|->5),(5|->6),(6|->7),(7|->8),(8|->9),(9|->10),(10|->8)} & x = f[x] & x /= {}',
3348 '-evalt', 'f = %x.(x:1..9|x+1) \\/ {10|->8} & x = f[x] & x /= {}',
3349 '-evalt', 'f = %x.(x:1..n|x+1) \\/ {n+1|->8} & x = f[x] & x /= {} & n=10'
3350 ], 'ensure above solved without enum warning (better propagation for image)').
3351 cli_testcase(1527, [smt_solver_integration], [
3352 '-evalt', ':z3-double-check x:1..400 & y:1..400 & f: 280..290 --> 290..299 & x|->y :f & y|->x :f'
3353 ], 'check that a model with a complicated representation can be translated back from z3 to prob').
3354 cli_testcase(1528, [cbc], [
3355 '-evalt', 'x = ["A","G","G"] & z = ["A","G","T","G","G"] & n = min({size(x),size(z)}) & m :1..n & xi: 1..m >-> 1..size(x) & zi: 1..m >-> 1..size(z) & !i.(i:1..m => x(xi(i)) = z(zi(i))) & !j.(j:1..(m-1) => xi(j)<xi(j+1) & zi(j)<zi(j+1)) & m>2 & sol1 = (xi;x) & sol2 = (zi;z)',
3356 '-evalt', 'x = ["A","G","G"] & z = ["A","G","T","G","G"] & n = min({size(x),size(z)}) & m :1..n & xi: 1..m >-> 1..size(x) & zi: 1..m >-> 1..size(z) & !j.(j:1..(m-1) => xi(j)<xi(j+1) & zi(j)<zi(j+1)) & m>2 & (xi;x) = (zi;z)',
3357 '-evalt', 'x = ["A","G","G","Z","G"] & z = ["A","G","T","G","G","T","G"] & n = min({size(x),size(z)}) & m :1..n & xi: 1..m >-> 1..size(x) & zi: 1..m >-> 1..size(z) & !j.(j:1..(m-1) => xi(j)<xi(j+1) & zi(j)<zi(j+1)) & m>3 & (xi;x) = (zi;z)',
3358 '-evalf', 'x = ["A","G","G"] & z = ["A","G","T","G","G"] & n = min({size(x),size(z)}) & m :1..n & xi: 1..m >-> 1..size(x) & zi: 1..m >-> 1..size(z) & !i.(i:1..m => x(xi(i)) = z(zi(i))) & !j.(j:1..(m-1) => xi(j)<xi(j+1) & zi(j)<zi(j+1)) & m>3 & sol1 = (xi;x) & sol2 = (zi;z)' ], 'find longest common substring example').
3359 cli_testcase(1529, [csp_test], ['../prob_examples/public_examples/CSP/simple/verysimple.csp',
3360 '-csp_assertion', 'MAIN |= LTL: \"G ([b.blue.blue] => X [c.blue.blue])\"',
3361 '-csp_assertion', 'MAIN |= LTL: \"G ([i.2] => X [j.3])\"',
3362 '-csp_assertion', 'MAIN |= LTL: \"G ([a.red] => X e(b.red._))\"',
3363 '-csp_assertion', 'MAIN |= CTL: \"EGAF e(a.red)\"' , '-strict'
3364 ], 'Check LTL and CTL assertions (all are satisfied by the MAIN process).').
3365 cli_testcase(1530, [csp_test], ['../prob_examples/public_examples/CSP/simple/verysimple.csp',
3366 '-csp_assertion', 'MAIN |= LTL: \"G ([i.2] => X [j.4])\"', '-expcterr', model_check_fails, '-strict'
3367 ], 'Check LTL assertion (check should fail).').
3368 cli_testcase(1531, [csp_test], ['../prob_examples/public_examples/CSP/simple/verysimple.csp',
3369 '-csp_assertion', 'MAIN |= CTL: \"AGAF e(a.red)\"', '-strict'
3370 ], 'Check CTL assertion (check should not fail).').
3371 cli_testcase(1532, [cbc,hash], ['../prob_examples/public_examples/B/Tickets/FiveWayTraffic/FiveWay_new_mch.eventb',
3372 '-mc', 1000, '-strict','-cc', '29', '65',
3373 '--hash64', 1088314065090582434 % used to be 591402958158885188 % used to be 971801032035978952
3374 ], 'Check no time-out for setup-constants (relational image for singleton set).').
3375 cli_testcase(1533, [cbc,disprover], [
3376 '../prob_examples/public_examples/B/Tickets/FiveWayTraffic/TwoWay_mch.pl',
3377 '../prob_examples/public_examples/B/Tickets/FiveWayTraffic/Traffic_Context2_prob_ctx.pl'
3378 %, '../prob_examples/public_examples/B/Tickets/FiveWayTraffic/FiveWay_new_prob_mch.pl' % requires higher-timeout
3379 ],'Check Disprover can prove all POs').
3380 cli_testcase(1534, [cbc,union,card], [
3381 '-evalt', 'card({x,y| { x \\/ y } <: {{1} \\/ {2}}}) = 9' % { x \/ y } <: {{1} \/ {2}} from Grieskamp Zeta paper
3382 ], 'check set comprehenion can be computed without enum warning (union constraint propagation)').
3383 cli_testcase(1535, [cbc,card], [
3384 '-evalt', '{x,y| x = {1,2} & x \\/ y = {1,2,3} & 1:y } = {({1,2}|->{1,3}),({1,2}|->{1,2,3})}'
3385 ,'-evalt', 'card({x,y| x<:1..3 & y<:1..3 & ( x \\/ y) = (1..3) }) = 27'
3386 ,'-evalt', 'card({x,y| { x \\/ y } <: {{1} \\/ {2} \\/ {3}} }) = 27'
3387 ,'-evalt', '{x,y| x = {1,2} & x \\/ y = 1..5 & 1:y } = {({1,2}|->{1,2,3,4,5}),({1,2}|->{1,3,4,5})}'
3388 ,'-evalt', '{x,y| x = {1,2} & x \\/ y = 1..5 } = {({1,2}|->{1,2,3,4,5}),({1,2}|->{1,3,4,5}),({1,2}|->{2,3,4,5}),({1,2}|->{3,4,5})}'
3389 ,'-evalt', 'card({x,y| x \\/ y = 1..5 }) = 243'
3390 ], 'Check kernel bug in add_element and copy_list_skeleton fixed').
3391 cli_testcase(1536, [cbc], [
3392 '-evalt', 'sqr = %x.(x>=0|x*x) & (sqr)[{xx}] = {2500}'
3393 , '-evalt', 'sqr = %x.(x>=0&x<52|x*x) & (sqr)[{xx}] = {2500}'
3394 , '-evalt', 'sqr = %x.(x>=0|x*x) & (sqr)[{xx,vv}] = {2500}'
3395 ], 'check no enum warning (image propagation)').
3396 cli_testcase(1537, [tickets,laws], [
3397 '-evalf', 'x:0..5 & (-2) ** x = (8)'
3398 , '-evalt', 'x:0..5 & (-2) ** x = -8'
3399 , '-evalt', '{x|x>0 & (-2) ** x = -8} = {3}'
3400 , '-evalf', 'x:0..3 & (-1) ** x = (-46)'
3401 , '-evalf', 'x:-18..-11 & -1 ** x = -46'
3402 , '-evalt', '{x|x:0..5 & (-1) ** x = -1} = {1,3,5}'
3403 , '-evalt', '{x|x:0..5 & (-1) ** x = 1} = {0,2,4}'
3404 , '-evalt', '{x|x:0..5 & (1) ** x = 1} = 0..5'
3405 % , '-evalf', 'x=2 & x**y <1 & y>0' % check propagation
3406 , '-evalf', 'x:INTEGER & x**1 /= x' % check propagation
3407 , '-evalf', 'x:INTEGER & x**0 /= 1' % check propagation
3408 , '-evalf', '1**x /= 1 & x>0' % check propagation
3409 ], 'check no instantiation error when base is 1 or -1').
3410 cli_testcase(1538, [kodkod], [ '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
3411 '-evalt', ':kodkod-double-check 2+3=x' % check no warning because nothing for kodkod to solve
3412 ,'-evalt', ':kodkod-double-check G = %x.(x:1..n|(x+1) mod n) & A\\/B = dom(G)\\/ran(G) & A/\\B={} & G[A]<:B & G[B]<:A & n=15 & 1:A' % bipartite graph detection
3413 ], 'check no warning and :kodkod works').
3414 cli_testcase(1539, [laws,tla],['../prob_examples/public_examples/TLC/Laws/NegDivision.tla', '-mc', 1000, '-strict'], 'Test that the division semantics of TLA preserved.').
3415 cli_testcase(1540, [laws,proz,sequences],['../prob_examples/public_examples/Z/ZLive/IntegerTests.fuzz',
3416 '../prob_examples/public_examples/Z/ZLive/SetTests.fuzz',
3417 '../prob_examples/public_examples/Z/ZLive/SequenceTests.fuzz',
3418 '../prob_examples/public_examples/Z/ZLive/RelationTests.fuzz',
3419 '../prob_examples/public_examples/Z/ZLive/FreeTypeTests.fuzz',
3420 '../prob_examples/public_examples/Z/ZLive/MiscTests.fuzz',
3421 '../prob_examples/public_examples/Z/ZLive/LetTests.fuzz',
3422 '-mc', 1000, '-nodead', '-strict'], 'Test Integer Z laws and that the division semantics of Z is preserved.').
3423 cli_testcase(1541, [cbc], [
3424 '-evalt', '2 : ran({y|y : INTEGER * INTEGER & #(x).(y = x |-> x + 2 & x : NATURAL)})',
3425 '-evalt', '-2 /: ran({y|y : INTEGER * INTEGER & #(x).(y = x |-> x + 2 & x : NATURAL)})',
3426 '-evalt', '1 /: ran({y|y : INTEGER * INTEGER & #(x).(y = x |-> x + 2 & x : NATURAL)})',
3427 '-evalt', '-10..1 /\\ ran({y|y : INTEGER * INTEGER & #(x).(y = x |-> x + 2 & x : NATURAL)}) = {}',
3428 '-evalt', '-10..10 /\\ ran({y|y : INTEGER * INTEGER & #(x).(y = x |-> x + 2 & x : NATURAL)}) = 2..10',
3429 '-evalf', '-2 : ran({y|y : INTEGER * INTEGER & #(x).(y = x |-> x + 2 & x : NATURAL)})',
3430 '-evalt', '2:ran({x|x:BOOL*BOOL*INTEGER & #(b,z).( x = (b,b,z) & z>1 & z<10)})',
3431 '-evalt', '22:ran({x|x:BOOL*BOOL*INTEGER & #(b,z).( x = (b,b,z) & z>1)})',
3432 '-evalt', '1/:ran({x|x:BOOL*BOOL*INTEGER & #(b,z).( x = (b,b,z) & z>1 )})',
3433 '-evalt', '1 : dom({y|y : INTEGER * INTEGER & #(x).(y = x |-> x + 2 & x : NATURAL)})',
3434 '-evalt', '(TRUE,TRUE):dom({x|x:BOOL*BOOL*INTEGER & #(b,z).( x = (b,b,z) & z>1 )})',
3435 '-evalf', '(TRUE,FALSE):dom({x|x:BOOL*BOOL*INTEGER & #(b,z).( x = (b,b,z) & z>1 )})'
3436 ],'ensure proper symbolic treatment for domain/range').
3437 cli_testcase(1542, [cbc], [
3438 '-evalf', '{x|x>100 & x mod 102 = 2} = {}',
3439 '-evalf', '%x.(x>100 & x mod 102 = 2|x*x) = {}',
3440 '-evalt', '{x|x>100 & x mod 102 = 2} /\\ {x| x<100 & x mod 102 =2} = {}',
3441 '-evalt', '%x.(x>100 & x mod 102 = 2|x*x) /= {}',
3442 '-evalt', '{x|x>100 & x mod 102 = 2} /= {}',
3443 '-evalt', '{x|x*x < i & x>2} ={} & i>2',
3444 '-evalt', '{x|x*x < i & x>2} /= {} & i>9',
3445 '-evalt', '{x|x<20} /= {}',
3446 '-evalf', '{x|x<20} = {}'
3447 ], 'symbolic treatment of closure emptiness').
3448 cli_testcase(1543, [b_test,tickets],
3449 ['../prob_examples/public_examples/B/Tickets/Beauger2/bug_not_labels_corrected.mch', '-aa', 0,3,0,
3450 '-ppf', '../prob_examples/public_examples/B/Tickets/Beauger2/bug_not_labels_corrected_ppf.mch'
3451 ], 'Check that labels correctly assigned.').
3452 cli_testcase(1544, [b_test,trees,sequences],['../prob_examples/public_examples/B/Tester/TreeExample.mch',
3453 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-assertions', '-init', '-strict'], 'Test that the Atelier-B tree operators supported.').
3454 cli_testcase(1545, [laws], ['../prob_examples/public_examples/B/Laws/ArithmeticLaws.mch',
3455 '../prob_examples/public_examples/B/Laws/ArithmeticExpLaws.mch',
3456 '-mc', '100000', '-cs', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE',
3457 '-p', 'NORMALIZE_AST', 'TRUE'], 'Various arithmetic laws with AST Normalization.').
3458 cli_testcase(1546, [cbc,trees,sequences], [
3459 '-evalt', '{si|si : dom((%u.(u : seq(INTEGER)|[1] ^ u) ; {[1] |-> 33,[1,2] |-> 55})) & si/=[]} = {[2]}',
3460 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3461 '-evalt', 'arity({[]|->22,[1]|->33,[1,1]|->44,[1,2]|->55},[1])=2'
3462 ], 'ensure proper constraint solving/propagation for sequence concatenation').
3463 cli_testcase(1547, [laws,trees,sequences], ['../prob_examples/public_examples/B/Laws/TreeLaws.mch',
3464 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-mc', '100', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Laws about trees').
3465 cli_testcase(1548, [b_test,fairness,ltl], ['../prob_examples/public_examples/B/Ivo/Tickets/Test2.mch', '-ltlformula', 'WEF => not (GF {addr=2} & GF [C])', '-expcterr', ltl, '-strict'], 'Test fairness implementation for finding the right counter example.').
3466 cli_testcase(1549, [b_test,fairness,ltl], ['../prob_examples/public_examples/B/Ivo/Tickets/Test2.mch', '-ltlformula', 'SEF => not (GF {addr=2} & GF [C])', '-strict'], '').
3467 cli_testcase(1550, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3468 '-evalt', 'not((y > 0 & y * y > 20) <=> (y * y > 25 & y > 0))',
3469 '-evalf', 'not((y > 0 & y * y > 20) <=> (y * y > 21 & y > 0))'
3470 ], 'test constraint solving for <=>').
3471 cli_testcase(1551, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3472 '-evalt', '{b|[a,b,c](2)=333} =res & a : res & b:res'
3473 ], 'test constraint solving and compilation of closures (apply sequence extension)').
3474 cli_testcase(1552, [cbc,trees], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3475 '-evalt', 'a = {(1, {([]|->2)} ), (2, const(1, [a(1)]))}',
3476 '-evalt', 'a = {1 |-> {[] |-> 2}, 2 |-> (dom({pi,ff,p|((pi : seq(INTEGER) & ff : INTEGER) & p : seq(INTEGER)) & (p |-> ff : [a(1)](1) & pi = 1 -> p)}) \\/ {[] |-> 1})}',
3477 '-evalt', 'a : 1..2 --> tree({1,2}) & a = {(2, bin(2)), (1, const(1, [a(2)]))}'
3478 ], 'test constraint solving and compilation of closures (function application)').
3479 cli_testcase(1553, [csp_test], [
3480 '../prob_examples/public_examples/CSP/Tickets/Ivo/RenamedSymbol.csp', '-assertions', '-strict'],
3481 '').
3482 cli_testcase(1554, [tickets,while],['../prob_examples/public_examples/B/Tickets/Hansen18_While/Loop.mch',
3483 '../prob_examples/public_examples/B/Tickets/Hansen18_While/LoopBy2.mch',
3484 '../prob_examples/public_examples/B/Tickets/Hansen18_While/LoopByDouble.mch',
3485 '../prob_examples/public_examples/B/Tickets/Hansen18_While/LoopByTwiceSeqComp.mch',
3486 '../prob_examples/public_examples/B/Tickets/Hansen18_While/LoopByClash.mch',
3487 '-t', '-mc', 100, '-strict'],
3488 'Check compilation of operation calls inside while loop.').
3489 cli_testcase(1555, [tickets,cbc,slot,trees],[
3490 '../prob_examples/public_examples/B/Tickets/Schneider2_Trees/NewSolver_v2.mch',
3491 '../prob_examples/public_examples/B/Tickets/Schneider2_Trees/NewSolver_v3.mch',
3492 '-evalt', 'CHOOSE_MODULES("bk-phi-H-2013", solution)'], 'Test constraint solving with trees').
3493 cli_testcase(1556, [cbc],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3494 '../prob_examples/public_examples/EventBPrologPackages/Laws/Mengen_Gesetze_PowBool_ctx.eventb',
3495 '../prob_examples/public_examples/EventBPrologPackages/Laws/Mengen_Gesetze_FiniteInt_ctx.eventb',
3496 '-cbc_assertion', 'Gesetze:assoc1', '-cbc_assertion', 'Gesetze:assoc2',
3497 '-cbc_assertion', 'Gesetze:comm1', '-cbc_assertion', 'Gesetze:comm2',
3498 '-cbc_assertion', 'Gesetze:DeMorgan1', '-cbc_assertion', 'Gesetze:DeMorgan2',
3499 '-p', 'PROOF_INFO', 'FALSE'], 'Test cbc assertion with label works').
3500 cli_testcase(1557, [laws],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3501 '../prob_examples/public_examples/EventBPrologPackages/Laws/Mengen_Gesetze_Bool_ctx.eventb',
3502 '../prob_examples/public_examples/EventBPrologPackages/Laws/KuratowskiPairDefinition_Enum_ctx.eventb',
3503 %'../prob_examples/public_examples/EventBPrologPackages/Laws/KuratowskiPairDefinition_Int_ctx.eventb',
3504 %'../prob_examples/public_examples/EventBPrologPackages/Laws/Mengen_Gesetze_PowBool_ctx.eventb', % tales 24 seconds
3505 '-cbc_assertions', '-p', 'PROOF_INFO', 'FALSE'], 'Test laws over sets using cbc').
3506 cli_testcase(1558, [cbc,card],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3507 '-evalt', 'f: 1..40 --> BOOL & card({x|x|->TRUE:((1..40)*BOOL) & x|->TRUE :f}) : 10..11', % did not work before
3508 '-evalt', 'f: 1..40 --> BOOL & card({x|x:1..40 & x|->TRUE :f}) : 10..11'
3509 ], 'Test reification of closure for cardinality').
3510 cli_testcase(1559, [cbc,tickets,card],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3511 '../prob_examples/public_examples/EventBPrologPackages/Tickets/EinsteinPuzzle/UnsatCore_einstein_ctx_v2.mch', '-init',
3512 '-evalt', 't: Menschen >-> Getraenke & Daene |-> Tee : t',
3513 '-evalt', 't: Menschen -->> Getraenke & Daene |-> Tee : t',
3514 '-evalt', 't: Menschen --> Getraenke & Daene |-> Tee : t',
3515 '-evalt', 't: Menschen >->> Getraenke & Daene |-> Tee : t'
3516 ], 'Test reification of closure for cardinality').
3517 cli_testcase(1560, [cbc,card], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3518 '-evalf', 'n>=0 & n1>0 & {n1} \\/ {n} = r & r={n} & not(n1=n)',
3519 '-evalf', '{n} /<: {n,n1} & n:INTEGER',
3520 '-evalf', '0..B <: 1..B & B:1..1000000',
3521 '-evalf', '0..x <: 1..1000 & x>0',
3522 '-evalt', '{x|x>0} <: NATURAL1',
3523 '-evalf', 'x:seq1(0..1) & x:seq1(2..3)',
3524 '-evalt', 'a..b = {x} & x:100..1002',
3525 '-evalt', 'x <: (1..100000000 \\/ {-1}) & x={}',
3526 '-evalt', 'card(iseq1(1 .. 3) \\/ {{}}) = 16',
3527 '-evalt', 'bool(!x.(x<:1..10 => card(x) <11))',
3528 '-evalt', 'r:INTEGER<->INTEGER & dom(r)=1..4',
3529 '-evalt', 'r:INTEGER<->INTEGER & ran(r)=2..20 & dom(r) = 1..10',
3530 '-evalf', '{x|x>20} = {1,y,5,x,4}',
3531 '-evalf', '{x|x>20} = y & 1:y',
3532 '-evalt', '{x|x>20} = y & 21:y',
3533 '-evalf', '2..b = {1,y,5,x,4}',
3534 '-evalt', '{X| X /\\ {1} = {} & X \\/ {1} = 1..20} = {2..20}',
3535 '-evalt', 'a..b = {x} & x:100..1002',
3536 '-eval', '{x|[1,2,3,4,5,6] |>> {x} = [1,2,3,4,5]}',
3537 '-eval', '{x|[33] |>> {x} = []}',
3538 '-evalt', 'all = [S,E,N,D, M,O,R, Y] & {S,E,N,D, M,O,R, Y} <: 0..9 & S >0 & M >0 & card(ran(all)) = size(all) & S*1000 + E*100 + N*10 + D + M*1000 + O*100 + R*10 + E = M*10000 + O*1000 + N*100 + E*10 + Y'
3539 ], 'test a few constraints from the ProB-TO-DO-List').
3540 cli_testcase(1561, [cbc], [
3541 '-evalf', 'not(#x.(x>100))',
3542 '-evalt', '1..b = {1,y,5,x,4}',
3543 '-evalt', 'a..b = {1,y,5,x,4}'
3544 ], 'test a few constraints from the ProB-TO-DO-List (with enum warning)').
3545 cli_testcase(1562, [slot,trees,parser,card],[
3546 '../prob_examples/public_examples/B/Tickets/Schneider5_Trees/Solver.mch',
3547 '-p', 'TIME_OUT', 35000,
3548 '-evalt', '%(x).(x : dom(course_module_combinations) & card(course_module_combinations(x)) > 0|1)={("bk-phi-H-2013"|->1)}',
3549 '-evalt', '%(x).(x : dom(course_module_combinations) & course_module_combinations(x) /= {} |1)={("bk-phi-H-2013"|->1)}'
3550 % '-evalt', '%(x).(x : dom(course_module_combinations) & card(course_module_combinations(x)) > 1|1)={("bk-phi-H-2013"|->1)}' % still causes problem
3551 ], 'Test no complicated set-unification with backtracking').
3552 cli_testcase(1563, [parser,tickets], [
3553 '../prob_examples/public_examples/B/Tickets/CommentsOneLine/OneLineComments.mch', '-t'
3554 ], 'Test parser can deal with one line comments').
3555 cli_testcase(1564, [kodkod], [ '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
3556 '-evalf', 'x:0..3 & y:0..3 & (x*y)+7<0',
3557 '-evalf', ':kodkod-double-check x:0..3 & y:0..3 & (x*y)+7<0'
3558 ], 'Test Kodkod bug fixed').
3559 cli_testcase(1565, [fairness], [
3560 '../prob_examples/public_examples/B/LTL/Fairness/RecursiveSCCs2.mch', '-ltlformula', 'SF(E) & WF(C) => F {addr = 4 or addr = 5}', '-expcterr', 'ltl', '-strict'], 'Test finding the right fairness loop.').
3561 cli_testcase(1566, [fairness], [
3562 '../prob_examples/public_examples/B/LTL/Fairness/RecursiveSCCs2.mch', '-ltlformula', 'SF(C) & SF(E) & SF(G) => F {addr = 4 or addr = 5}', '-expcterr', 'ltl', '-strict'], 'Test finding the right fairness loop.').
3563 cli_testcase(1567, [fairness], [
3564 '../prob_examples/public_examples/B/LTL/Fairness/RecursiveSCCs2.mch', '-ltlformula', 'SEF => F {addr = 4 or addr = 5}', '-strict'], 'Testing the fairness algorithm.').
3565 cli_testcase(1568, [fairness], [
3566 '../prob_examples/public_examples/B/LTL/Fairness/RecursiveSCCs3.mch', '-ltlformula', 'SF(E) & SF(D) => F { addr = 8}', '-expcterr', 'ltl', '-strict'], 'Test finding the right fairness loop.').
3567 cli_testcase(1569, [fairness], [
3568 '../prob_examples/public_examples/B/LTL/Fairness/RecursiveSCCs3.mch', '-ltlformula', 'SF(B) & SF(G) & SF(E) & SF(D) => F { addr = 8}', '-expcterr', 'ltl', '-strict'], 'Test finding the right fairness loop.').
3569 cli_testcase(1570, [fairness], [
3570 '../prob_examples/public_examples/B/LTL/Fairness/RecursiveSCCs3.mch', '-ltlformula', 'WEF => F { addr = 8}', '-expcterr', 'ltl', '-strict'], 'Test finding the right fairness loop.').
3571 cli_testcase(1571, [fairness], [
3572 '../prob_examples/public_examples/B/LTL/Fairness/RecursiveSCCs3.mch', '-ltlformula', 'SEF => F { addr = 8}', '-strict'], 'Testing the fairness checking algorithm.').
3573 cli_testcase(1572, [fairness], [
3574 '../prob_examples/public_examples/CSP/LTL/Fairness/bully.csp', '-csp_assertion', 'Network |= LTL: \"WEF => G ([fail.2] => F [coordinator.1.2])\"', '-expcterr', 'model_check_fails', '-strict'], 'Test finding the right fairness loop.').
3575 cli_testcase(1573, [fairness], [
3576 '../prob_examples/public_examples/CSP/LTL/Fairness/bully.csp', '-csp_assertion', 'Network |= LTL: \"SEF => G ([fail.2] => F [coordinator.1.2])\"', '-expcterr', 'model_check_fails', '-strict'], 'Test finding the right fairness loop.').
3577 cli_testcase(1574, [chr,card], ['-p', 'CHR', 'TRUE', '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3578 '-evalt', '{x,y,s|x..y <: 11..18 & card(x..y)=s & x=y} = {((11|->11)|->1),((12|->12)|->1),((13|->13)|->1),((14|->14)|->1),((15|->15)|->1),((16|->16)|->1),((17|->17)|->1),((18|->18)|->1)}',
3579 '-evalt', '{x,y|x..y <: 11..18 & card(x..y)=5 & x<y} = {(11|->15),(12|->16),(13|->17),(14|->18)}'
3580 ], 'Test CHR interval propagation').
3581 cli_testcase(1575, [external, b_test], [
3582 '../prob_examples/public_examples/B/ExternalFunctions/CSV_Reader.mch',
3583 '../prob_examples/public_examples/B/ExternalFunctions/CSV/ChemicalElements.mch', '-t'], 'test CSV reader.').
3584 cli_testcase(1576, [chr], ['-p', 'CHR', 'TRUE',
3585 '-evalt', 'x+y=100 & x>y',
3586 '-evalt', 'x=100-y & x>y'
3587 ], 'Test stronger CHR IDL propagation').
3588 cli_testcase(1577, [cbc,union,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3589 '-evalt', 'x = NATURAL1 \\/ -3..-1 & 11:x & -3:x & 0 /: x',
3590 '-evalt', '-3..-1 \\/ NATURAL1 = x & 11:x & -3:x & 0 /: x',
3591 '-evalt', 'x = NATURAL1 \\/ {-1} & 11:x & -1:x & 0 /: x',
3592 '-evalt', 'x = NATURAL1 \\/ {-1,-3} & 11:x & -1:x & -3:x & 0 /: x',
3593 '-evalt', 'x = {-1,-33} \\/ NATURAL1 & 11:x & -1:x & -33:x & 0 /: x'
3594 ], 'Test better symbolic treatment of union').
3595 cli_testcase(1578, [cbc,bmc], ['../prob_examples/public_examples/B/CBC/BinarySearchEvents_Overflow_v2.mch', '-bmc', 5,
3596 '-expcterr', 'invariant_violation'], 'Check error found using bmc').
3597 cli_testcase(1579, [cbc,bmc,clpfd_tables], ['../prob_examples/public_examples/B/CBC/BinarySearchEvents_Overflow_v3.mch', '-bmc', 10,
3598 '-expcterr', 'invariant_violation', '-p', 'TIME_OUT', 3500], 'Check error found using bmc'). % increased time-out for windows runner from default 2500, Feb 17th 2020
3599 cli_testcase(1580, [symbolic_model_checker], [
3600 '../prob_examples/public_examples/B/CBC/BinarySearchEvents_Overflow_v1.mch',
3601 %'../prob_examples/public_examples/B/CBC/BinarySearchEvents_Overflow_v2.mch', % fails with SICStus 4.5; fd_degree behaves differently
3602 '-symbolic_model_check', 'bmc',
3603 '-p', 'TRACE_INFO', 'TRUE',
3604 '-expcterr', 'invariant_violation'], 'Check error found using BMC').
3605 cli_testcase(1582, [symbolic_model_checker], ['../prob_examples/public_examples/B/CBC/BinarySearchEvents_Overflow_v2.mch', '-symbolic_model_check', 'ic3',
3606 '-expcterr', 'invariant_violation'], 'Check error found using IC3').
3607 cli_testcase(1583, [symbolic_model_checker], ['../prob_examples/public_examples/B/CBC/BinarySearchEvents_Overflow_v2.mch', '-symbolic_model_check', 'ctigar',
3608 '-expcterr', 'invariant_violation'], 'Check error found using CTIGAR').
3609 cli_testcase(1584, [symbolic_model_checker], [
3610 '../prob_examples/public_examples/B/CBC/BinarySearchEvents_Overflow_v1.mch',
3611 % '../prob_examples/public_examples/B/CBC/BinarySearchEvents_Overflow_v2.mch', % fails with SICStus 4.5; see test 1580
3612 '-symbolic_model_check', 'bmc',
3613 '-expcterr', 'invariant_violation'], 'Check error found using BMC').
3614 cli_testcase(1585, [symbolic_model_checker], ['../prob_examples/public_examples/B/CBC/BinarySearchEvents_Overflow_v2.mch', '-symbolic_model_check', 'kinduction',
3615 '-expcterr', 'invariant_violation'], 'Check error found using k-Induction').
3616 cli_testcase(1586, [cbc,wd,error_checks,union], ['-p', 'TRY_FIND_ABORT', 'TRUE',
3617 '-evalnwd', 'r = {1|->2, 2|-> 1/0}(1)',
3618 '-expcterr', 'well_definedness_error'
3619 ], 'Test better symbolic treatment of union').
3620 cli_testcase(1587, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3621 '-evalt', 'x:0..127 & y:0..127 & x2=x & y2=y+1 & not(x2:0..127 & y2:0..127)',
3622 '-evalt', 'f: 1..100 --> 10..20 & x:10..20 & f2=f & x2=x+1 & not(f2:1..100 --> 10..20 & x2:11..20)',
3623 '-evalf', 'f: 1..100 --> 10..20 & x:10..20 & f2=f & x2=x+1 & not(f2:1..100 --> 10..20 & x2:11..21)'
3624 ], 'Test inlining of id1=id2 equalities and subsequent detection of identical predicates').
3625 cli_testcase(1588, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3626 '-p', 'CLPFD', 'FALSE',
3627 '-evalt', 'x:0..127 & y:0..127 & x2=x & y2=y+1 & not(x2:0..127 & y2:0..127)',
3628 '-evalt', 'f: 1..100 --> 10..20 & x:10..20 & f2=f & x2=x+1 & not(f2:1..100 --> 10..20 & x2:11..20)'
3629 % '-evalf', 'f: 1..100 --> 10..20 & x:10..20 & f2=f & x2=x+1 & not(f2:1..100 --> 10..20 & x2:11..21)' requires CLPFD
3630 ], 'Test 1587 without CLPFD').
3631 cli_testcase(1589, [cbc,forall], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3632 '../prob_examples/public_examples/B/Tickets/ForallDomainExpansion/UnsatCore.mch',
3633 '-init'
3634 ],'Test that forall with domain is expanded').
3635 cli_testcase(1590, [cbc,bmc,forall], [
3636 '../prob_examples/public_examples/B/Tickets/ForallDomainExpansion/binarySearchFail_impl_prob_mch.eventb',
3637 '-bmc', 10, '-expcterr', 'invariant_violation'
3638 ],'Test that forall with domain is expanded and BMC finds problem').
3639
3640 cli_testcase(1591, [tla,tlc],['../prob_examples/public_examples/B/SymmetryReduction/Peterson.mch', '-mc_with_tlc'], 'TLC regression test').
3641 cli_testcase(1592, [tla,tlc],['../prob_examples/public_examples/B/SymmetryReduction/Peterson_err.mch', '-mc_with_tlc'
3642 %, '-expcterr', 'invariant_violation' % currently there is no feedback to probcli about invariant violations found
3643 ], 'TLC regression test').
3644 cli_testcase(1593, [puzzles_test],['../prob_examples/public_examples/B/Puzzles/Bridges.mch', '-init'
3645 ], 'Bridges Puzzle').
3646 cli_testcase(1594, [cbc,sigma,card], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3647 '-evalt', 'SIGMA(x).(x:M|30) = 3000 & M<:1..100',
3648 '-evalt', '{M|SIGMA(x).(x:M|30) = 300 & M<:1..10} = {1..10}',
3649 '-evalt', '{M|SIGMA(x).(x:M|30) = 270 & M<:1..10}=res & card(res)=10',
3650 % this is slow: {M|SIGMA(x).(x:M|30) = 570 & M<:1..20}=res & card(res)=20; 17 seconds
3651 % this does not work: {M|SIGMA(x).(x:M|30) = 3000 & M<:1..100}
3652 '-evalt', 'SIGMA(x).(x:M|cp(x)) = 3000 & M=1..100 & cp:M --> {0,15,30}',
3653 '-evalt', 'M=1..20 & {cp|SIGMA(x).(x:M|cp(x)) = 570 & cp:M --> {0,30}}=res & card(res)=20',
3654 '-evalt', 'M=1..100 & {cp|SIGMA(x).(x:M|cp(x)) = 3000 & cp:M --> {0,15,30}}=res & card(res)=1',
3655 '-evalt', 'PI(x).(x:{-1} \\/ 1..20|x) = -2432902008176640000',
3656 '-evalt', 'PI(x).(x:M|20) = 400 & M<:1..10',
3657 '-evalf', 'SIGMA(x).(x:M|20) = 50 & M<:1..10',
3658 '-evalf', 'PI(x).(x:M|20) = 500 & M<:1..10'
3659 ], 'Test SIGMA and PI').
3660 cli_testcase(1595, [tickets,eventb_test],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3661 '../prob_examples/public_examples/EventBPrologPackages/Tickets/TheoremInGuards/TestM1_mch.eventb',
3662 '../prob_examples/public_examples/EventBPrologPackages/Tickets/TheoremInGuards/VM_1_mch.eventb',
3663 '-t', '-mc', 100 ], 'Test theorem in guards can use dropped abstract variables').
3664 cli_testcase(1596, [tickets,eventb_test],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3665 '../prob_examples/public_examples/EventBPrologPackages/Tickets/TheoremInGuards/TestM1_error_mch.eventb',
3666 '-mc', 100, '-expcterr', 'event_error:teste:invalid_theorem_in_guard'
3667 ], 'Test theorem in guards can use dropped abstract variables and error found').
3668 cli_testcase(1597, [tickets,tla,exists],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3669 '../prob_examples/public_examples/B/Tickets/ExistsEnumeration/MC_AlternatingBit_Internal.mch',
3670 '-t', '-mc', 500 , '-expcterr', 'model_check_incomplete'], 'Test no problem with LoseAck action and existential quantifier').
3671 cli_testcase(1598, [tickets,tla,hash],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3672 '../prob_examples/public_examples/TLA/TLA_Distribution/FIFO/MCInnerFIFO.mch', '-scope', 'card(q)<=qLen',
3673 '-p', 'MAX_INITIALISATIONS', 40,
3674 '-mc', 6000, '-cc', 5810, 9661 ,
3675 '-p', 'OPERATION_REUSE', 'FALSE', % for hash
3676 '--hash64', 1092224097070366805 % 413665275772098592 %1134041423096647838 % changed after packing rec/1, used to be 66366088829346955 and 523977694511884201
3677 ], 'Test SCOPE works correctly').
3678 cli_testcase(1599, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3679 '-expcterr', 'bmachine_static_checks',
3680 '../prob_examples/public_examples/B/Tester/ExistentialGlobalSetIDTest.mch', '-mc', '1000',
3681 '-evalt', '#(ID).( cc /: ID & dom({x,y|x=1 & y:ID}) = {})'
3682 ], 'Check that local identifier ID does not confuse optimiser').
3683 cli_testcase(1600, [tickets,private,quantified,union], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3684 '../prob_examples/examples/B/Tickets/MemoryError_bugly.mch', '-init', '-assertions'
3685 ], 'Check that UNION and dom(dom()) memory consumption issue solved').
3686 cli_testcase(1601, [b_test, imp, refinement,private], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3687 '../prob_examples/examples/B/ClearSy/turbomeca/pld_i.imp',
3688 '../prob_examples/examples/B/ClearSy/control/M1_i.imp',
3689 '../prob_examples/examples/B/ClearSy/JCRE/opcodes_i.imp', '-t'
3690 ], 'Check implementation machines').
3691 cli_testcase(1602, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3692 '../prob_examples/public_examples/B/SchneiderBook/Chapter17/Array.mch','-t'
3693 ], 'Check Schneider example').
3694 cli_testcase(1603, [private,alstom,data_validation], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3695 '../prob_examples/examples/B/Alstom/exemple7.mch',
3696 '../prob_examples/examples/B/Alstom/exemple7_occuper_zone.mch',
3697 '-t'
3698 ], 'Check Alstom machines').
3699 cli_testcase(1604, [eventb_test,private], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3700 '../prob_examples/examples/RodinModels/PaulSimon/ca_m01_mch.eventb',
3701 '-p', 'MAX_INITIALISATIONS', '30', '-p', 'MAX_OPERATIONS', '30',
3702 '-p', 'DEFAULT_SETSIZE', '3',
3703 '-t'
3704 ], 'Check Paul Simon complicated EventB machine').
3705 cli_testcase(1605, [cbc, infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3706 '-evalt', 'f = %x.(x:INTEGER|0) & f : INTEGER --> {0}',
3707 '-evalt', 'f = %x.(x:INTEGER|0) & f : INTEGER +-> {0}',
3708 '-evalt', 'f = %x.(x:INTEGER|0) & f : INTEGER +-> {u}',
3709 '-evalt', 'f = %x.(x:INTEGER|0) & {u|f : INTEGER +-> {u}} = {0}',
3710 '-evalt', 'f = %x.(x:INTEGER|0) & {u|f : INTEGER --> {u}} = {0}',
3711 '-evalt', 'f = %x.(x:INTEGER|0) & f : INTEGER +-> NATURAL',
3712 '-evalt', 'f = %x.(x:INTEGER|0) & f : INTEGER --> NATURAL',
3713 '-evalt', 'f = %x.(x:INTEGER|0) & f : INTEGER +-> 0..2',
3714 '-evalf', 'f = %x.(x:INTEGER|0) & f : INTEGER +-> 1..2',
3715 '-evalf', 'f = %x.(x:INTEGER|0) & f : INTEGER --> 1..2',
3716 '-evalt', 'f = %x.(x:INTEGER|1000) & f : INTEGER +-> 999..1002',
3717 '-evalt', 'f = %x.(x:INTEGER|1000) & f : INTEGER --> 999..1002',
3718 '-evalt', 'f = INTEGER*{1000} & f : INTEGER --> 999..1002',
3719 '-evalt', 'f = %x.(x:INTEGER|1000) & f = INTEGER*{1000}',
3720 '-evalf', 'f = %x.(x:INTEGER|1000) & f = INTEGER*{1001}',
3721 '-evalf', 'f = %x.(x:INTEGER|0) & f : INTEGER +-> NATURAL1',
3722 '-evalt', 'f = %x.(x:INTEGER|0) & f : INTEGER -->> {0}',
3723 '-evalf', 'f = %x.(x:INTEGER|0) & f : INTEGER -->> {0,1}',
3724 '-evalt', 'f = %x.(x/=0|1000/x) & f : INTEGER +-> INTEGER & f(500)=2',
3725 '-evalf', 'f = %x.(x/=0|1000/x) & f : INTEGER --> INTEGER',
3726 '-evalt', '{x|x/=0} = INTEGER \\ {0}',
3727 '-evalf', '{x|x/=0} = INTEGER \\ {1}',
3728 '-evalf', '{x|x/=0} /= INTEGER \\ {0}',
3729 '-evalt', '{x|x/=0} /= INTEGER \\ {1}',
3730 '-evalf', '{x|x/=0} = INTEGER',
3731 '-evalt', '{x|x/=0} /= INTEGER',
3732 '-evalf', 'INTEGER={x|x/=0}',
3733 '-evalt', 'INTEGER/={x|x/=0}',
3734 '-evalt', '{b|INTEGER={x|x/=0} <=> b=TRUE}={FALSE}',
3735 '-evalt', 'NATURAL/={x|x/=0}',
3736 '-evalt', 'NATURAL1/={x|x/=0}',
3737 '-evalt', '{x|x/=0} /= NATURAL1',
3738 '-evalf', '{x|x/=0} = NATURAL',
3739 '-evalt', '{x,y,z|x <: BOOL & y = x*x & y:{z}-->{z}} = {({FALSE}|->{(FALSE|->FALSE)}|->FALSE),({TRUE}|->{(TRUE|->TRUE)}|->TRUE)}',
3740 '-evalt', 'card({x,y,z|x <: BOOL & y = x*x & y/:{z}-->{z}})=6',
3741 '-evalt', 'dom({x1,x2,y|x1 <: BOOL & x2<:BOOL & y = (x1*x2)*{TRUE} & y:(BOOL*{TRUE})+->{FALSE}}) = {({}|->{}),({}|->{FALSE}),({}|->{FALSE,TRUE}),({}|->{TRUE}),({FALSE}|->{}),({FALSE,TRUE}|->{}),({TRUE}|->{})}'
3742 ], 'Check that %x.(x:P|E) is detected as cartesian product closure for dom_range_for_specific_closure').
3743 cli_testcase(1606, [cbc,card], [
3744 '-evalt', 'n=10000000 & x : (1..n) \\ {5000000}',
3745 '-evalt', 'x:(1000..a) \\ {b}',
3746 '-evalt', 'x: 1000..b /\\ 1500..c',
3747 '-evalt', 'x:1000..2000 & x /: b..2000',
3748 '-evalt', 'x:(1000..2000) \\ (b..2000)',
3749 '-evalt', 'x:(1000..a) \\ (b..a)',
3750 '-evalt', '{x,y| x:200..205 & y : 101..190 & x /: y..y+100} = {(202|->101),(203|->101),(203|->102),(204|->101),(204|->102),(204|->103),(205|->101),(205|->102),(205|->103),(205|->104)}',
3751 '-evalt', 'card({x,y| x:200..295 & y : 101..190 & x /: y..y+100})=4455'
3752 ], 'Test symbolic treatment of set-difference membership').
3753 cli_testcase(1607, [tickets,forall], ['../prob_examples/public_examples/B/Tester/TestAnyChoice.mch',
3754 '-t', '-strict'], 'Test that definition can be used at top-level of forall quantifier').
3755 cli_testcase(1608, [symmetry_test,proz,card], ['../prob_examples/public_examples/Z/Daniel/Derrick_ICFEM06.fuzz', '-strict',
3756 '-mc', '10000', '-cc', '29', '149' ], 'Test min card inference works.').
3757 cli_testcase(1609, [cbc,tickets], [ '-p', 'MAXINT', 2147483648,
3758 '-evalt', 'x : NAT1 +-> {1,2,3} & (n:NAT & 1..n = dom(x)) & x /= {}'
3759 ], 'Test that pf does not expand NAT1').
3760 cli_testcase(1610, [cbc,card], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3761 '-evalt', 'f=[{1},{3},{6,2,4,8},{1,2,3}] & x:1..4 & y=f(x) & card(y)>3',
3762 '-evalt', '{f,x,y|f=[{1},{3},{6,2,4,8},{1,2,3}] & x:1..4 & y=f(x) & card(y)>3} = {(([{1},{3},{2,4,6,8},{1,2,3}]|->3)|->{2,4,6,8})}'
3763 ], 'Test cardinality restriction').
3764 cli_testcase(1611, [b_test,sequences,card], ['-evalt', 'x:seq({1}) & 55:dom(x)', '-evalf', 'x:seq({1}) & 55:dom(x) & card(x)=10', '-evalt', 'x:seq({1}) & 5:dom(x) & card(x)>6', '-p', 'CLPFD', 'TRUE', '-strict'
3765 %, '-expcterr', eval_string_enum_warning
3766 ], 'Ensure proper enumeration of sequences (CLPFD=TRUE).'). % variation of test 1187
3767 cli_testcase(1612, [eventb_test, theories], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-assertions',
3768 '../prob_examples/public_examples/EventBPrologPackages/Theory/Sequences/TestConcat_ctx.eventb',
3769 '../prob_examples/public_examples/EventBPrologPackages/Theory/Sequences/TestMySequences_ctx_ok.eventb',
3770 '../prob_examples/public_examples/EventBPrologPackages/Theory/Sequences/TestMySequences_ctx_ok2.eventb'], 'Check Sequence Theory Mapping.').
3771 cli_testcase(1613, [eventb_test, theories], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3772 '-assertions', '-expecterr', 'check_assertions',
3773 '../prob_examples/public_examples/EventBPrologPackages/Theory/Sequences/TestMySequences_ctx_err.eventb'],
3774 'Check Sequence Theory Mapping leads to error (due to wrong mapping).').
3775 cli_testcase(1614, [eventb_test, theories], [ '-assertions',
3776 '../prob_examples/public_examples/EventBPrologPackages/Theory/Sequences/MySequences_ctx.eventb'], 'Check Sequence Theory in context.').
3777 cli_testcase(1615, [cbc, cbc_tests,bmc], ['../prob_examples/public_examples/B/SymbolicModelChecking/Counters/CounterArticle.mch', '-bmc', 4,
3778 '-expcterr', 'invariant_violation'], 'Check BMC works').
3779 cli_testcase(1616, [symbolic_model_checker], ['../prob_examples/public_examples/B/SymbolicModelChecking/Counters/CounterArticle64_ok.mch', '-symbolic_model_check', 'kinduction'], 'Check kinduction works for this example').
3780 cli_testcase(1617, [bmc,tickets], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3781 '../prob_examples/public_examples/EventBPrologPackages/Tickets/bmc_unsat_axioms/f_m0.eventb',
3782 '../prob_examples/public_examples/EventBPrologPackages/Tickets/bmc_unsat_axioms/f_m1.eventb',
3783 '-bmc', 10], 'Check no counter example reported').
3784 cli_testcase(1618, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
3785 '../prob_examples/public_examples/B/Mathematical/ArgumentationAsSets.mch',
3786 '../prob_examples/public_examples/EventBPrologPackages/Mathematical/Arguments_Example_ctx.eventb',
3787 '-assertions'], 'Check Argumentation Theory example').
3788 cli_testcase(1619, [b_test, infinite,total_function], ['-evalt', 'x mod 100000 >= 99999',
3789 '-evalt', 'x : NATURAL --> {1,2,3}',
3790 '-evalt', 'x : NATURAL --> {1,2,3} & x(7) = 3',
3791 '-evalf', 'x : NATURAL --> {1,2,3} & x(7) = 3 & x(7) = 2',
3792 '-evalt', 'not(x : INTEGER --> {1,2})',
3793 '-evalf', 'y/=x & {x,y} = {x|x > 2}'
3794 ], 'Ensure symbolic treatment of (infinite) total functions.').
3795 cli_testcase(1620, [b_test,external,choose], ['../prob_examples/public_examples/B/ExternalFunctions/ChooseExternal.mch', '-assertions'], 'Test choose and MU operator.').
3796 cli_testcase(1621, [b_test,let], [
3797 '../prob_examples/public_examples/B/Tester/LetTest_IllegalCyclic.mch',
3798 '../prob_examples/public_examples/B/Tester/LetTest_IllegalNondet.mch',
3799 '../prob_examples/public_examples/B/Tester/LetTest_IllegalNotAllDefined.mch',
3800 '../prob_examples/public_examples/B/Tester/LetTest_IllegalNotVarLHS.mch',
3801 '../prob_examples/public_examples/B/Tester/LetTest_IllegalVar.mch',
3802 '-expcterr','type_error', '-expcterr', 'load_main_file'], 'Check illegal LETs detected.').
3803 cli_testcase(1622, [b_test,recursion,infinite,let], ['../prob_examples/public_examples/B/FunctionalProgramming/Factorial_NewSyntax.mch',
3804 '../prob_examples/public_examples/B/FunctionalProgramming/SeqNaturalFoldr_NewSyntax.mch',
3805 '../prob_examples/public_examples/B/RecursiveFunctions/SortSet_NewSyntax.mch',
3806 '-t', '-strict'], 'Test new IF-THEN-ELSE / LET Syntax for expressions.').
3807 cli_testcase(1623, [b_test], [
3808 '-evalf', 'z < first([z]) & 0<z',
3809 '-evalf', 'z < first([z]) & z:INTEGER',
3810 '-evalf', 'z < last([z]) & 0<z',
3811 %'-evalf', 'z < first([z,z]) & 0<z', % currently requires DISPROVER_MODE
3812 %'-evalf', 'z < first(v) & v=[z] & 0<z',
3813 '-evalf', 'z > first([z]) & z>0'
3814 ], 'Ensure ast_cleanup removes first/last.').
3815 cli_testcase(1624, [cbc,card], [
3816 '-evalt', 'x:1..n --> BOOL & card({y|y:1..n & y|->FALSE:x})=cf & cf:15..26 & card({y|y:1..n & y|->TRUE:x})=ct &ct:22..25 & ct+cf=n & x(n/2)=FALSE & x(n/4)=FALSE & n=40',
3817 '-evalt', 'x:1..n --> BOOL & card({y|y:1..n & y|->FALSE:x})=cf & cf:15..26 & card({y|y:1..n & y|->TRUE:x})=ct &ct:22..25 & x(n/2)=FALSE & x(n/4)=FALSE & n=40',
3818 '-evalt', 'x:1..n --> BOOL & card({y|y:1..n & y|->FALSE:x})=cf & cf:15..26 & card({y|y:1..n & y|->TRUE:x})=ct &ct:22..25 & ct+cf=n & x(n/2)=TRUE & x(n/4)=TRUE & n=40',
3819 '-evalt', 'x:1..n --> BOOL & card({y|y:1..n & y|->FALSE:x})=cf & cf:5..16 & card({y|y:1..n & y|->TRUE:x})=ct &ct:27..29 & ct+cf=n & x(n/2)=FALSE & x(n/4)=FALSE & n=40 & x(3*n/4)=TRUE',
3820 '-evalf', 'x:1..n --> BOOL & card({y|y:1..n & y|->FALSE:x})=cf & cf:15..19 & card({y|y:1..n & y|->TRUE:x})=ct &ct:15..20 & ct+cf=n & x(n/2)=FALSE & x(n/4)=FALSE & n=40',
3821 % x:1..n --> BOOL & card({y|y:1..n & y|->FALSE:x})=cf & cf:15..19 & card({y|y:1..n & y|->TRUE:x})=ct &ct:15..20 & x(n/2)=FALSE & x(n/4)=FALSE & n=40 % this is not yet detected as failing quickly
3822 '-evalt', 'x:1..n --> BOOL & card(x~[{FALSE}])=cf & cf:15..26 & card(x~[{TRUE}])=ct & ct:22..25 & x(n/2)=FALSE & x(n/4)=FALSE & ct+cf=n & n=40',
3823 % '-evalt', 'x:1..n --> BOOL & card(x~[{FALSE}]):15..26 & card(x~[{TRUE}]):22..25 & x(n/2)=FALSE & x(n/4)=FALSE & n=40' does not work yet
3824 '-evalt', 's=1..20 & x <: s & card(x)=cx & cx:3..4 & y <: s & card(y)=cy & cy:3..4 & x/\\y={} & cx+cy=7 & (9:x or 9:y) & (18:y or 10:x)', % this test does not really exercise reification yet
3825 '-evalt', 's=1..20 & x: s-->BOOL & card({t|t:1..20 & t|->TRUE:x})=cx & cx:3..4 & y:s-->BOOL & card({t|t:1..20 & t|->TRUE:y})=cy & cy:3..4 & x~[{TRUE}]/\\y~[{TRUE}]={} & cx+cy=7 & (9|->TRUE:x or 9|->TRUE:y) & (18|->TRUE:y or 10|->TRUE:x)', % THIS ONE IS FASTER: reason t:1..20 TO DO: try and get rid of need for this !!
3826 '-evalt', 's=1..n & x<:s & card(x):15..26 & n/2/:x & n/4/:x & n=40' % another test; not requiring reification
3827 ], 'Test cardinality reification propagates through check_finite_card.').
3828 cli_testcase(1625, [cbc,card], [
3829 '-evalt', 'i=2..x & card(i):10..9122110 & x > 9121000'], 'Check card of interval propagates').
3830 cli_testcase(1626, [cbc,records,card], [
3831 '-evalt', '{v|v:0..5 & card({x,y|x|->y:{(2,2),(2,4)} & x+y>v}):2..3}=0..3',
3832 '-evalt', '{c,v,z|card({x|rec(a:x):v & x:(z..(z+3))})=c & v={rec(a:2),rec(a:4)} & c>1} = {((2|->{rec(a:2),rec(a:4)})|->1),((2|->{rec(a:2),rec(a:4)})|->2)}'
3833 ], 'A few card tests; test reification involving records').
3834 cli_testcase(1627, [cbc,card], [
3835 '-evalt', 's=1..20 & x: s-->BOOL & card({t|t|->TRUE:x})=cx & cx:3..4 & y:s-->BOOL & card({t|t|->TRUE:y})=cy & cy:3..4 & x~[{TRUE}]/\\y~[{TRUE}]={} & cx+cy=7 & (9|->TRUE:x or 9|->TRUE:y) & (18|->TRUE:y or 10|->TRUE:x)', % this counter part was much slower ! due to missing t:1..20 constraint; now solved
3836 '-evalt', 'x:1..n --> BOOL & card({y|y|->FALSE:x}):15..26 & card({y|y|->TRUE:x}):12..25 & x(n/2)=FALSE & x(n/4)=FALSE & n=40',
3837 '-evalt', 's=1..20 & x: s-->BOOL & card({t|t|->TRUE:x}):18..19',
3838 '-evalt', 's=1..20 & x: s-->BOOL & card({t|t|->FALSE:x}):18..19',
3839 '-evalt', 's=1..130 & x: s-->BOOL & card({t|t|->TRUE:x}):128..129',
3840 '-evalt', 's=1..258 & x: s-->BOOL & card({t|t|->FALSE:x})=card({t|t|->TRUE:x})',
3841 '-evalt', 's:1..n --> 1..n & card({x|x|->x:s})=n & n=50',
3842 '-evalt', 'card({s,n|s:1..n --> 1..n & card({x|x|->x:s})=n & n=50})=1', % non-linear pattern
3843 '-evalt', 's: 1..20 --> (BOOL*(1..20)) & card({x|x|->(TRUE|->x):s})=10 & card({x|x|->(FALSE|->x):s})=10',
3844 '-evalt', 's: 1..20 --> (BOOL*(1..20)) & card({x|x|->(TRUE|->x):s})=10 & card({x|x|->(FALSE|->x+1):s})=10', % non-linear pattern with addition
3845 '-evalt', 's: 1..20 --> (BOOL*(1..20)) & card({x|x|->(FALSE|->x):s})=10 & card({x|x|->(TRUE|->x-1):s})=10' % non-linear pattern with minus
3846 ], 'Check card propagates without need for t:1..20 constraint').
3847 cli_testcase(1628, [cbc,tickets,card], [
3848 '-evalt', 'card({f|f : 1..20 --> POW(7..11) & !x.(x:1..20 => card(f(x)) = 4 & {7,8,9} <: f(x)) & !x.(x:1..10 => f(x) /= f(x+10)) & !x.(x:1..9 => f(10+x) /= f(1+x)) & 10: f(1) })=1',
3849 % {f|f : 1..20 --> POW(7..11) & !x.(x:1..20 => card(f(x)) = 4 & {7,8,9} <: f(x)) & !x.(x:1..10 => f(x) /= f(x+10)) & !x.(x:1..9 => f(10+x) /= f(1+x)) & 10: f(1) & printf("~nf(1)=~w~n",f(1)) & !i.(i:2..20 => printf("f(i)=~w~n",(i,f(i)))) }
3850 '-evalt', '1=card({f|f : 1..100 --> POW(7..11) & !x.(x:1..100 => card(f(x)) = 4 & {7,8,9} <: f(x)) & !x.(x:1..90 => f(x) /= f(x+10)) & !x.(x:1..9 => f(90+x) /= f(1+x)) & 10: f(1)})'
3851 ], 'A variation of test 34; computing all solutions').
3852 cli_testcase(1629, [cbc,queens,card],
3853 ['../prob_examples/public_examples/B/Tickets/CardReify1/MaxQueensNoCheck_v5.mch',
3854 '-t', '-mc', 10], 'Check reification of card works with dom of total function').
3855 cli_testcase(1630, [cbc,card], [
3856 '-evalt', 'f:1..20 >->> 1..20 & card({i|i:1..20 & f~(i)=i})=4', %this also worked before
3857 '-evalt', 'f:1..20 >->> 1..20 & card({i|i:ran(f) & f~(i)=i})=4'
3858 ], 'Check reification of card with range').
3859 cli_testcase(1631, [cbc,card], ['../prob_examples/public_examples/B/Puzzles/Queens/NBishopsSets.mch',
3860 '-p', 'TIME_OUT', 25000, % got slower between 1.9.0 and 1.9.1 (commit 943d37585be8eeac46c93705d51c2392fde0fda3)
3861 % got slower again with e1c23513051449cc13b0767394959b4c485e306f ,but _v2 of model is faster
3862 '-init'], 'See that ProB can solve this puzzle').
3863 cli_testcase(1632, [cbc,while], ['../prob_examples/public_examples/B/Tickets/Hansen23_WhilePerformance/WhileSlow_CartProduct.mch', '-t',
3864 '-p', 'TIME_OUT', 15000 ], % increased time-out for jenkins
3865 'See that performance of while loop with IF with existential quantifier is ok').
3866 cli_testcase(1633, [kodkod], [ '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
3867 '-evalf', ':kodkod-double-check args<:{1,2,3,4} & x:args & x<2 & x/=1',
3868 '-evalf', ':kodkod-double-check args<:{2,4,5,9,16,32} & x:args & x<4 & x/=2', % used to generate java.lang.IllegalArgumentException: too many atoms (32 <= 2^6) for too few powers of 2 (4< 6),
3869 '-evalt', ':kodkod-double-check args<:{2,4,5,9,16,32} & x:args & x<4' % used to generate java.lang.IllegalArgumentException: too many atoms (32 <= 2^6) for too few powers of 2 (4< 6)
3870 % '-evalf', ':kodkod args={1,2,3} & atts : args <-> args & dom(atts) = args & x = card(atts)&x < 2' %% TO DO: fix KODKOD
3871 ], 'check kodkod integer ranges are correctly computed, prevent regression').
3872 cli_testcase(1634, [b_test,external], [
3873 '../prob_examples/public_examples/B/ExternalFunctions/MAXIMIZE_Test.mch',
3874 '../prob_examples/public_examples/B/Puzzles/Queens/MaxQueensNoCheck_MAXIMIZE.mch',
3875 '../prob_examples/public_examples/B/Mathematical/Argumentation/Example3_MAXIMIZE.mch',
3876 '-assertions'],
3877 'Check MAXIMIZE external function').
3878 cli_testcase(1635, [private,tickets,codespeed,data_validation], ['../prob_examples/examples/B/Alstom/DataValidationProject/Tickets/Burdy3/Rule_DB_General_0006.mch', '-t',
3879 %'-p','SHOW_EVENTB_ANY_VALUES','TRUE', '-p', 'MAX_OPERATIONS', 1000,
3880 '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647, '-p', 'TIME_OUT', 5000, '-p','CLPFD', 'TRUE'
3881 ],
3882 'Codespeed test; test that cartesian product / concat_sequence performance issue fixed'). % AlstomBurdy_Rule6_CLP
3883 cli_testcase(1636, [b_test,tickets,wd,private,data_validation], [
3884 '../prob_examples/examples/B/ClearSy/GeneralElectric_DV/Ticket_Coudour1/rule.mch',
3885 '-expcterr', well_definedness_error,
3886 '-mc', 10, '-nodead'],
3887 'Check WD error found').
3888 cli_testcase(1637, [b_test,tickets,private,data_validation], [
3889 '../prob_examples/examples/B/ClearSy/GeneralElectric_DV/Ticket_Coudour2/fonction_totale.mch',
3890 '-t', '-expcterr', setup_constants_inconsistent,
3891 '-properties', '-expcterr', check_properties],
3892 'Check partial setup constants possible despite inconsistency').
3893 cli_testcase(1638, [b_test,tickets,private,data_validation], [
3894 '../prob_examples/examples/B/ClearSy/GeneralElectric_DV/Ticket_Coudour2/fonction_totale_v2.mch',
3895 '-animate_all', '-expcterr', setup_constants_fails,
3896 '-opterr', 'setup_constants_inconsistent'], % we now also generate this msg when not all csts are found deterministically
3897 'Check inconsistent properties detected by animate_all').
3898 cli_testcase(1639, [b_test], ['-check_java_version'], 'Check check_java_version works').
3899 cli_testcase(1640, [tickets], ['-evalt', '{}/:STRING --> BOOL',
3900 '-evalt', '{"ab"|->TRUE }/:STRING --> BOOL',
3901 '-evalt', '{"ab"|->TRUE,"ab"|->FALSE }/:STRING --> BOOL',
3902 '-evalt', 'not({TRUE|->"STRING2"} : BOOL >+>> STRING)',
3903 '-evalt', 'not({TRUE|->"STRING2"} : BOOL +->> STRING)'
3904 ], 'Check bug in not_total_function fixed').
3905 cli_testcase(1641, [laws,rel_fnc], ['../prob_examples/public_examples/B/Laws/FunLawsStrings.mch', '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Use model checking to check a variety of laws on functions over infinite base domain.').
3906 cli_testcase(1642, [private,tickets,operation_reuse,data_validation], [
3907 '../prob_examples/examples/B/ClearSy/GeneralElectric_DV/Ticket_Coudour3/rule1.mch',
3908 '-t', '-p', 'OPERATION_REUSE', 'TRUE',
3909 '-expcterr', invariant_violation],
3910 'Check operation reuse problem fixed').
3911 cli_testcase(1643, [b_test,operation_reuse], ['../prob_examples/public_examples/B/Benchmarks/CSM.mch', '-mc', '1000', '-strict',
3912 '-p', 'OPERATION_REUSE', 'TRUE','-check_complete', '-cc', '341', '1229'], 'Test 13 with operation reuse').
3913 cli_testcase(1644, [b_test,operation_reuse,symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/SymmetryReduction/scheduler1.ref', '-mc', '150', '-cc', '145', '447',
3914 '-p', 'OPERATION_REUSE', 'TRUE', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'off', '-strict'], 'Test 73 with operation reuse').
3915 cli_testcase(1645, [b_test,operation_reuse,symmetry_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/Demo/DiningCryptographers.mch', '-mc', '100', '-cc', '65', '96', '-p', 'MAX_INITIALISATIONS', '100', '-p', 'OPERATION_REUSE', 'TRUE','-p', 'SYMMETRY_MODE', 'off', '-strict'], 'Test 106 with operation reuse').
3916 cli_testcase(1646, [cbc,operation_reuse,hash], ['../prob_examples/public_examples/B/Tickets/FiveWayTraffic/FiveWay_new_mch.eventb',
3917 '-mc', 1000, '-strict','-p', 'OPERATION_REUSE', 'TRUE', '-p', 'COMPRESSION', 'FALSE',
3918 '-cc', '29', '65',
3919 '--hash64', 1088314065090582434 % used to be 591402958158885188 % used to be 971801032035978952 until 9 Sep 2021 after changes to state_packing
3920 ], 'Test 1532 with operation reuse.').
3921 cli_testcase(1647, [b_test,csp_test,operation_reuse,cspb],['../prob_examples/public_examples/CSPB/Williams/ME.mch', '-csp-guide', '../prob_examples/public_examples/CSPB/Williams/ME.csp', '-mc', 10000, '-p', 'OPERATION_REUSE', 'TRUE' %,'-p', 'pge', disabled
3922 ],'Testing operation reduce optimisation for (ME.mch||ME.csp).').
3923 cli_testcase(1648, [b_test,csp_test,operation_reuse,cspb],['../prob_examples/public_examples/CSPB/Ivo/verysimple.mch', '-csp-guide', '../prob_examples/public_examples/CSPB/Ivo/verysimple.csp', '-mc', 10000, '-bf', '-p', 'OPERATION_REUSE', 'TRUE', %'-p', 'pge', disabled,
3924 '-expcterr', deadlock, '-strict'],'Finding the deadlock because of the impossibility to execute the b operation (verysimple.mch||verysimple.csp).').
3925 cli_testcase(1649, [cbc,card], [
3926 '-evalf', 'occupies : Pigeons >-> Holes & Pigeons=1..100 & Holes=1..99',
3927 '-evalt', 'occupies : Pigeons >-> Holes & Pigeons=2..100 & Holes=1..99',
3928 '-evalt', 'id(NATURAL) : NATURAL >-> NATURAL', % also check infinite functions work
3929 '-evalt', 'id(NATURAL1) : NATURAL1 >-> NATURAL1', % also check infinite functions work
3930 '-evalt', 'id(NATURAL1) : NATURAL1 >-> NATURAL',
3931 '-evalf', 'id(NATURAL1) : NATURAL >-> NATURAL',
3932 '-evalf', 'id(NATURAL) : NATURAL1 >-> NATURAL',
3933 '-evalf', 'id(NATURAL) : NATURAL >-> NATURAL1',
3934 '-evalt', 'id(NATURAL1) /: NATURAL >-> NATURAL'
3935 ], 'Ensure card. check for total_injection works').
3936 cli_testcase(1650, [parser,tickets], [
3937 '../prob_examples/public_examples/B/Tester/SyntaxErrors/MissingSemicolon.mch',
3938 '-expcterrpos', parse_error, 13, 2, '-expcterr', 'load_main_file'],
3939 'Check parser correctly reports syntax error and position').
3940 cli_testcase(1651, [b_test,execute], ['../prob_examples/public_examples/B/Simple/UpCounter.mch', '-init','-execute_all',
3941 '-animate_stats', '-strict', '-goal', 'c=20', '-p', 'MAXINT', '20'], 'Check -execute_all.').
3942 cli_testcase(1652, [parser,tickets], [
3943 '-eval', '2>1 & & 3>2',
3944 '-expcterrpos', parse_machine_predicate_error, 1, 6 ],
3945 'Check parser correctly reports syntax error and position for eval').
3946 cli_testcase(1653, [b_test,tickets,hash], [
3947 '../prob_examples/public_examples/B/Tester/SelectMultipleTrueCases.mch',
3948 '-t', '-mc', 100, '-nogoal', '-cc', 4, 10, '--hash64', 357695998652715541 ],
3949 'Select with multiple true branches dealt with').
3950 cli_testcase(1654, [parser,tickets], [
3951 '../prob_examples/public_examples/B/Tickets/PARSERLIB-44/BinPacking_UnicodeMinus.mch',
3952 '-init' ],
3953 'Check parser correctly parses unicode minus used for --> (PARSERLIB-44)').
3954 cli_testcase(1655, [laws,records], ['../prob_examples/public_examples/B/NewSyntax/RecSetLaws.mch', '-mc', '1000', '-nogoal', '-nodead', '-cs', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE', '-t', '-expcterr', 'model_check_incomplete'], 'Various laws about records.').
3955 cli_testcase(1656, [tickets,records,private], ['../prob_examples/examples/B/Tickets/record_projection_bugly.mch', '-assertions'], 'Check performance.').
3956 cli_testcase(1657, [eventb_test,tickets,private], [
3957 '../prob_examples/examples/EventBPrologPackages/Advance_WP2/v5_Aug2014/ex_mch.eventb',
3958 '-t' ],
3959 'Check COMMS__ComputeLeastCostRoutes efficient (avoiding re-calculation of same assignment; see PROB-351)').
3960 cli_testcase(1658, [parser,tickets], [
3961 '../prob_examples/public_examples/B/Tickets/Hansen25_OpNamingWarning/Naming_VAR.mch',
3962 '-expcterrpos', type_error, 5, 6
3963 ],
3964 'Check type checker reports id clash in VAR').
3965 cli_testcase(1659, [parser,tickets], [
3966 '-eval', ' 2 = TRUE',
3967 '-expcterrpos', type_expression_error, 1, 7 ],
3968 'Check type checker correctly reports error and position in eval').
3969 cli_testcase(1660, [parser,tickets], [
3970 '../prob_examples/public_examples/B/Tickets/Hansen25_OpNamingWarning/ReadingUninitialisedVar.mch', '-animate', 10,
3971 '-expcterrpos', reading_undefined_variable, 6, 12 , '-nodead' ],
3972 'Check interpreter reports unitialised var and that -nodead works for -animate').
3973 cli_testcase(1661, [eventb_test,tickets,private], [
3974 '../prob_examples/examples/EventBPrologPackages/Advance_WP2/v5_Aug2014/ex_mch.eventb',
3975 '-mc', 10 , '-opterr', 'time_out_for_assertions', % not raised anymore 26.2.2021, see test 2087
3976 '-expcterr', 'model_check_incomplete'],
3977 'Check that virtual-time_out in assertion checking caught (or not raised)').
3978 cli_testcase(1662, [b_test,csp_test,cspb], ['../prob_examples/public_examples/CSPB/FeatureTests/AssertionViolation.mch',
3979 '-csp-guide', '../prob_examples/public_examples/CSPB/FeatureTests/AssertionViolation.csp',
3980 '-mc', '1000', '-expcterr', assertion_violation, '-nodead'], 'Test that static assertion violation found').
3981 cli_testcase(1663, [b_test,csp_test,cspb], ['../prob_examples/public_examples/CSPB/FeatureTests/AssertionViolationDynamic.mch',
3982 '-csp-guide', '../prob_examples/public_examples/CSPB/FeatureTests/AssertionViolationDynamic.csp',
3983 '-mc', '1000', '-expcterr', assertion_violation], 'Test that dynamic assertion violation found').
3984 cli_testcase(1664, [b_test,csp_test,cspb], ['../prob_examples/public_examples/CSPB/FeatureTests/AssertionViolationDynamic.mch',
3985 '-csp-guide', '../prob_examples/public_examples/CSPB/FeatureTests/AssertionViolationDynamicShort.csp',
3986 '-mc', '1000', '-nodead'], 'Test that no dynamic assertion violation found').
3987 %cli_testcase(1665, [plugin_units,pragmas], ['../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/Records.mch',
3988 % '-plugin', 'units', '-strict',
3989 % '-pp', '../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/Records_internal.mch'],
3990 % 'Check that records are supported in unit plugin').
3991 cli_testcase(1666, [kodkod,tickets,random], [
3992 '../prob_examples/public_examples/B/Tickets/BendispostoTutoren/tuts_cando_only.mch', '-init', '-assertions',
3993 '-p', 'RANDOMISE_ENUMERATION_ORDER', 'TRUE', '-p', 'SOLVER_FOR_PROPERTIES', 'kodkod', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE' ],
3994 'Check that Randomise Enumeration order and Kodkod work together').
3995 cli_testcase(1667, [cbc,tickets,kodkod,random], [
3996 '../prob_examples/public_examples/B/Tickets/BendispostoTutoren/tuts_working.mch', '-init', '-assertions',
3997 '-p', 'RANDOMISE_ENUMERATION_ORDER', 'TRUE', '-p', 'SOLVER_FOR_PROPERTIES', 'kodkod', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE' ],
3998 'Check that Randomise Enumeration order and Kodkod work together').
3999 cli_testcase(1668, [cbc,random], [
4000 '../prob_examples/public_examples/B/Tickets/BendispostoTutoren/tuts_working.mch', '-init', '-assertions',
4001 '-p', 'RANDOMISE_ENUMERATION_ORDER', 'TRUE', '-p', 'KODKOD', 'FALSE' ],
4002 'Check that Randomise Enumeration order and Kodkod work together').
4003 cli_testcase(1669, [tickets,cbc,card], ['-p', 'MAXINT', 3,
4004 '-evalt', 'card(perm(NAT))=24',
4005 '-evalt', 'perm(NAT) /= {}',
4006 '-evalf', 'perm(NAT) = {}',
4007 '-evalt', 'perm(NAT) ={[1,0,2,3],[1,0,3,2],[2,0,1,3],[2,0,3,1],[3,0,1,2],[3,0,2,1],[0,1,2,3],[0,1,3,2],[2,1,0,3],[2,1,3,0],[3,1,0,2],[3,1,2,0],[0,2,1,3],[0,2,3,1],[1,2,0,3],[1,2,3,0],[3,2,0,1],[3,2,1,0],[0,3,1,2],[0,3,2,1],[1,3,0,2],[1,3,2,0],[2,3,0,1],[2,3,1,0]}',
4008 '-evalt', 'perm(NAT) = perm(0..MAXINT)',
4009 '-evalt', 'perm(NAT1) = perm(1..MAXINT)',
4010 '-evalt', 'card(perm(INT))=120',
4011 '-evalt', 'card(iseq(NAT)) = 65'
4012 ],
4013 'Check that perm(NAT)={} bug fixed').
4014 cli_testcase(1670, [b_test], ['-t', '-expcterr', trace_checking_fails,
4015 '../prob_examples/public_examples/B/FeatureChecks/DEFINITIONS/SETPREF.mch', '-p', 'MAXINT', '22', '-card', 'ID', '2'], 'check trace checking fails').
4016 cli_testcase(1671, [tickets, parser], ['-t', '--model-check',
4017 '../prob_examples/public_examples/B/FeatureChecks/DollarSymbol/ValidMachines/AssignByPredicateWithDEFTransitive.mch',
4018 '../prob_examples/public_examples/B/FeatureChecks/DollarSymbol/ValidMachines/AssignByPredicateWithDEF.mch'],
4019 'check $0 can be used within definitions (PARSERLIB-47)').
4020 cli_testcase(1672, [tickets, parser], [
4021 '../prob_examples/public_examples/B/FeatureChecks/DollarSymbol/ErrorMachines/DollarInInvariant.mch',
4022 '-expcterrpos', type_error, 2, 21, '-expcterr', load_main_file],
4023 'check $0 cannot be used in invariant (PARSERLIB-47)').
4024 cli_testcase(1673, [tickets, parser], [
4025 '../prob_examples/public_examples/B/ErrorMachines/IllegalSeesIncludes/CyclicM1.mch',
4026 '-expcterr', parse_error, '-expcterr', load_main_file],
4027 'check cyclic sees detected and does not lead to parser exception').
4028 cli_testcase(1674, [pragmas, parser], ['-init',
4029 '../prob_examples/public_examples/B/Pragmas/FilePragma.mch',
4030 '../prob_examples/public_examples/B/Pragmas/Files2/FilePragma2.mch'],
4031 'check @file "Path" pragma works').
4032 cli_testcase(1675, [b_test,mcm_tests], ['../prob_examples/public_examples/B/TestCaseGeneration/MCM_Tests/SimpleTestModel.mch', '-mcm_tests', '20', '1000', '1=1', '../prob_examples/public_examples/B/TestCaseGeneration/MCM_Tests/SimpleTestModel_mcm_tests.xml', '-strict'],'State based test generation with non-deterministic initialisation').
4033 cli_testcase(1676, [b_test,mcm_tests,private], ['../prob_examples/examples/EventBPrologPackages/Soton/MCM_Tests/FENCEM7_mch.eventb',
4034 '-mcm_tests', '10', '4000', '1=1',
4035 '../prob_examples/examples/EventBPrologPackages/Soton/MCM_Tests/tests.xml',
4036 '-mcm_cover', 'IssueLoad IssueStore ObserveLoadAfterStore',
4037 '-p', 'INTERNAL_ARGUMENT_PREFIX', 'p',
4038 '-strict'],'State based test generation with internal operation arguments').
4039 cli_testcase(1677, [tickets,while], [
4040 '../prob_examples/public_examples/B/Tickets/PROB-412/WhileVariantNotDecreased.mch', '-animate', 10,
4041 '-expcterr', animate, '-expcterrpos', while_variant_error, 24, 16 ],
4042 'Check variant not decreasing error found and position ok (PROB-412)').
4043 cli_testcase(1678, [while,tickets], [
4044 '../prob_examples/public_examples/B/Tickets/Hansen24_WhileSeesBug/While.mch',
4045 '../prob_examples/public_examples/B/Tickets/Hansen24_WhileSeesBug/Runner.mch',
4046 '-t', '-mc', 1000 ],
4047 'Check bug with while loop compilation because of incorrect read/modifies info (not renamed) fixed').
4048 cli_testcase(1679, [b_test], [
4049 '../prob_examples/public_examples/B/Tester/ParityFunction.mch',
4050 '../prob_examples/public_examples/B/Mathematical/Sieve_WithMin.mch',
4051 '../prob_examples/public_examples/B/Benchmarks/Chapter13/Booksrr.ref',
4052 '../prob_examples/public_examples/B/Benchmarks/Chapter_10/Safes.mch',
4053 '-t'],
4054 'A few trace tests from the Tcl/Tk Regression Test suite').
4055 cli_testcase(1680, [b_test,private], [
4056 '../prob_examples/examples/B/Siemens/TestString.mch',
4057 '-expcterr', 'virtual_time_out',
4058 '-t'],
4059 'A few trace tests from the Tcl/Tk Regression Test suite').
4060 cli_testcase(1681, [b_test,private,exists], [
4061 '../prob_examples/examples/B/ClearSy/control/M1.ref',
4062 %'../prob_examples/examples/B/ClearSy/control/M1_i.imp', % bmachine_static_checks: Operation result "status" has the same name as a variable or constant in operation "UTILS.nextState".
4063 '-t'],
4064 'Check no exists body warning').
4065 cli_testcase(1682, [tickets,private,data_validation], [
4066 '../prob_examples/examples/B/Alstom/ssp/tms_ssp_0004.mch',
4067 '-p', 'TIME_OUT', 3500, % increase time-out for SWI because now the time-out applies to all solutions of an event
4068 '-t'],
4069 'Check no time-out').
4070 cli_testcase(1683, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4071 '-evalt', '(A=TRUE) <=> (X:Y..Z) & Y:1..10 & Z:0..2 & X >12 & (A=FALSE => X:15..16)'
4072 ], 'check interval reification').
4073 cli_testcase(1684, [cbc], [ '-p', 'CLPFD', 'FALSE', '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4074 '-evalt', '(A=TRUE) <=> (X:Y..Z) & Y:1..10 & Z:0..2 & X >12 & (A=FALSE => X:15..16)'
4075 ], 'check interval reification').
4076 cli_testcase(1685, [cbc], [
4077 '-evalt', 'NATURAL1 : x & (x = { {22}, {33}} or x={ NATURAL1 })',
4078 '-evalf', 'NATURAL1 : x & x = { {22}, {33}}',
4079 '-evalt', '{x|x>30 & x mod 3 =0} /\\ {x|x<50 & x mod 2 =0} = {36,42,48}'
4080 ], 'a few checks').
4081
4082 cli_testcase(1686, [cbc,laws,finite], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4083 '-evalt', 'x:FIN(x) & x=POW(POW(1..9))',
4084 '-evalf', 'x/:FIN(x) & x=POW(POW(1..9))',
4085 '-evalt', 'x:FIN(x) & x=FIN(POW(1..10))',
4086 '-evalt', 'x:FIN(x) & x=POW(POW(1..10))',
4087 '-evalf', 'x/:FIN(x) & x=POW(POW(1..10))',
4088 '-evalt', 'x:FIN(x) & x=POW(POW(POW(1..10)))',
4089 '-evalf', 'x:FIN(x) & x=POW(POW(POW(NATURAL1)))',
4090 '-evalt', 'x/:FIN(x) & x=POW(POW(POW(NATURAL1)))',
4091 '-evalf', 'x:FIN(x) & x=FIN(POW(POW(NATURAL1)))',
4092 '-evalt', 'x/:FIN(x) & x=FIN(POW(POW(NATURAL1)))',
4093 '-evalf', 'x:FIN(x) & x=FIN(INTEGER)',
4094 '-evalt', 'x/:FIN(x) & x=FIN(INTEGER)',
4095 '-evalt', 'x/:FIN(x) & x=POW(INTEGER)',
4096 '-evalf', 'x:FIN(x) & x = %x.(x:NATURAL1|1)',
4097 '-evalt', 'x:FIN(x) & x = %x.(x:POW(POW(1..11))|1)',
4098 % '-evalt', 'x/:FIN(x) & x = %x.(x:POW(POW(1..11))|1)', % computes x, time-out
4099 '-evalt', 'x:FIN(x) & x = (3..2)*INTEGER',
4100 '-evalt', 'x:FIN(x) & x = INTEGER*(3..2)',
4101 '-evalf', 'x:FIN(x) & x = INTEGER*(2..3)',
4102 '-evalt', 'x:FIN(x) & x = POW(POW(1..10))*(2..3)',
4103 '-evalt', 'x:FIN(x) & x = POW(POW(1..11))*(2..3)',
4104 '-evalt', 'x:FIN(x) & x = POW(POW(1..11))*{2,4}',
4105 '-evalt', 'x:FIN(x) & x = POW(POW(1..11))*(4..3)',
4106 '-evalt', 'x:FIN(x) & x = NATURAL1*(4..3)',
4107 '-evalf', 'x:FIN(x) & x = NATURAL1*{2,4}',
4108 '-evalf', 'x:FIN(x) & x = (1..2)*NATURAL1',
4109 '-evalf', 'x:FIN(x) & x = INTEGER*NATURAL1',
4110 '-evalt', 'x:FIN(x) & x=iseq(1..10)',
4111 '-evalf', 'x:FIN(x) & x=iseq(NATURAL)',
4112 '-evalt', 'x:FIN(x) & x=perm(POW(1..9))',
4113 '-evalf', 'x:FIN(x) & x= {x|x : INTEGER & x < 3}',
4114 '-evalt', 'x:FIN(x) & x=iseq(POW(POW(1..11)))',
4115 '-evalt', 'x:FIN(x) & x=iseq1(POW(POW(1..11)))',
4116 '-evalf', 'x:FIN(x) & x=seq(POW(POW(1..11)))',
4117 '-evalf', 'x:FIN(x) & x=seq1(POW(POW(1..11)))',
4118 '-evalt', 'x:FIN(x) & x=seq(4..3)',
4119 '-evalt', 'x:FIN(x) & x=seq1(4..3)',
4120 '-evalt', 'x:FIN(x) & x=id(POW(POW(1..11)))',
4121 '-evalf', 'x:FIN(x) & x=perm(NATURAL)',
4122 '-evalt', 'x:FIN(x) & x=perm(POW(POW(1..11)))',
4123 '-evalf', 'x/:FIN(x) & x=perm(POW(POW(1..11)))',
4124 '-evalt', '{z|z:seq(BOOL) & size(z)<=0} = {[]}'
4125 ], 'a few checks about finite').
4126 cli_testcase(1687, [tickets,parser], [
4127 '../prob_examples/public_examples/B/Tickets/Hansen27_NestedMchErr/M1.mch',
4128 '-expcterr', load_main_file, '-expcterrpos', parse_error, 2, 5 ],
4129 'Check error found and position ok').
4130 cli_testcase(1688, [cbc,laws,finite], [ '-p', 'DISPROVER_MODE', 'TRUE',
4131 '-evalf', 'x/:FIN(x) & x=(POW(1..11) +-> POW(1..9))',
4132 '-evalt', 'x:FIN(x) & x=(POW(1..11) +-> POW(1..9))',
4133 '-evalt', 'x:FIN(x) & x=perm(POW(1..9))',
4134 '-evalt', '{b|x:FIN(x) <=> b=TRUE}=bb & x = %x.(x:POW(POW(1..200)*POW(1..300))|card(x)) & bb={TRUE}',
4135 '-evalt', ' {b|x:FIN(x) <=> b=TRUE}=bb & x = %x.(x:POW(POW(1..200)*POW(1..300)*STRING*POW(1..100))|card(x)) & bb={FALSE}',
4136 '-evalt', ' {b|x:FIN(x) <=> b=TRUE}=bb & x = %x.(x:POW(POW(1..200)*POW(1..3000)*STRING*POW(1..1000))|card(x)) & bb={FALSE}'
4137 % '-expcterr', 'eval_string_enum_warning'
4138 ], 'a few checks about finite').
4139 cli_testcase(1689, [tickets,kodkod], [
4140 '-evalf', ':kodkod args={1,2,3} & atts : args <-> args & dom(atts) = args & x = card(atts)&x < 2',
4141 '-opterr', 'kodkod_fail'
4142 ], 'check card interval analysis bug fixed (PROB-411)').
4143 cli_testcase(1690, [tickets], [
4144 '../prob_examples/public_examples/B/Tickets/Hansen21_Sees/AllGroups.mch',
4145 '-t', '-mc', 100, '-bf',
4146 '-expcterr', 'invariant_violation'
4147 ], 'check sees bug remains fixed').
4148 cli_testcase(1691, [tickets,records], [
4149 '../prob_examples/public_examples/B/Tickets/RecordPartiallyTyped/Knowledge_loop.mch',
4150 '-init',
4151 '-expcterrpos', 'type_expression_error', 17, 45
4152 ], 'check that record type bug fixed, no type generated: record([field(a,b)|any])').
4153 cli_testcase(1692, [tickets,quantified,union], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4154 '-evalt', 'UNION(i).(i:1..2|{i|->i}) ^ UNION(j).(j:1..3|{j|->j}) = [1,2,1,2,3]',
4155 '-evalt', 'UNION(i).(i:1..2|{i|->i}) ^ {} = [1,2]',
4156 '-evalf', 'UNION(i).(i:1..2|{i|->i}) ^ UNION(j).(j:1..3|{j|->j}) = [1,2,3,4,5]'
4157 ], 'ensure both UNIONs are translated').
4158 cli_testcase(1693, [tickets,let], [
4159 '-eval', 'i = 20 & (LET i BE i= i+1 IN i END) =res',
4160 '-expcterr', type_expression_error
4161 ], 'ensure error in nested LET expression detected').
4162 cli_testcase(1694, [tickets,error_checks,let], [
4163 '-eval', '(LET i,j BE i=i+10 & j=i+20 IN i+j END)',
4164 '-expcterr', type_expression_error,
4165 '-expcterr', eval_string
4166 ], 'ensure error in nested LET expression detected').
4167 cli_testcase(1695, [tickets,error_checks,let], [
4168 '-eval', '(LET i,j BE j=i+20 & i=10 IN i+j END)',
4169 '-expcterr', type_expression_error,
4170 '-expcterr', eval_string
4171 ], 'ensure error in nested LET expression detected').
4172 cli_testcase(1696, [tickets,let], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4173 '-evalt', 'i=1 & r=LET i BE i=10 IN LET j BE j=i+20 IN i+j END END & r=40',
4174 % '-evalt', 'k = 1..n & n:2..3 & (LET i,j BE i={10}\\/k & j= i \\/ i IN res=i \\/ j END)',
4175 % '-evalt', '(LET i,j BE i=10 & j=i+20 IN i+j END) =40',
4176 '-evalt', 'i = 100 & (LET i,j BE i={10} & j= 20 IN (LET j BE j=i \\/ i IN i \\/ j END) END) = {10}',
4177 '-evalt', 'x=1 & y=2 & #(x,y).(x=30 & y=x+x & res=y+x) & res=90'
4178 ], 'ensure nested LET predicate and expression work').
4179 cli_testcase(1697, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4180 '-evalt', '{y,n|{x|x:1..n} = {y}} = {1|->1}',
4181 '-evalt', 'x:{y|y>0 & y mod 100 = 0} & x:{z|z<1000 & z mod 500 = 0}',
4182 '-evalt', '{x|x:1..n} = {y}'
4183 ], 'check improved set comprehension propagation').
4184 cli_testcase(1698, [cbc], [
4185 '-evalt', 'x:c1 & c1={y|y>0 & y mod 100 = 0} & x:c2 & c2= {z|z<1000 & z mod 500 = 0}',
4186 % these now did not work before:
4187 '-evalt', 'p = {x|x>100 & x<n & x mod 2 =0} & p = {102,104}',
4188 '-evalt', 'p = {x|x>100 & x<n & x mod 2 =0} & p = {102,104,106,108}',
4189 '-evalt', 'p = {x|x>100 & x<n & x mod 2 =0} & p = {102,104,106,108} & n=110',
4190 '-evalf', 'p = {x|x>100 & x<n & x mod 2 =0} & p = {102,104,106,108,113}'
4191 % '-evalf', 'p = {x|x>100 & x<n & x mod 2 =0} & p = {102,104,106,108,112}' % TO DO: does not work yet
4192 % '-evalt', 'p = {x|x>100 & x<n & x mod 2 =0} & {102} <: p' % TO DO: nor this
4193 ], 'check improved set comprehension propagation').
4194 cli_testcase(1699, [private,csp_test,cspb,hash], ['../prob_examples/examples/CSPB/Treharne/CSPB-SwanseaPlanModel/Interlocking.mch',
4195 '-csp-guide', '../prob_examples/examples/CSPB/Treharne/CSPB-SwanseaPlanModel/Ctrl.csp',
4196 '-mc', '40', '-bf', '-cc', 148, 687,
4197 '--hash64', 418094361645960853, % 197635050763058334, % used to be 537894344680006343, % used to be 838177507379154842 until Sep 9th 2021
4198 '-expcterr', 'model_check_incomplete'], 'Test CSP||B model'). % % 17.9.2021: adapted hash from 268712975971443200 for sorted order of variable, before hash was 906866094249096570, but we changed order of machine inclusion
4199 cli_testcase(1700, [private,csp_test,hash], ['../prob_examples/public_examples/B/Ivo/BenchmarksFairness/ProB/DPhil/dphil_ltl6.csp',
4200 '-mc', '3000', '-bf', '-cc', 1764, 7125, '--hash64', 419761536083491376], 'Test Dining Philosophers state space (CSP normalisation)').
4201 cli_testcase(1701, [csp_test,cspb,hash], ['../prob_examples/public_examples/CSPB/Counter.mch',
4202 '-csp-guide', '../prob_examples/public_examples/CSPB/Counter.csp',
4203 '-mc', '40', '-bf', '-cc', 15, 15, '--hash64', 987057609118852348], 'Test CSP||B model').
4204 cli_testcase(1702,[cbc,enabling],[
4205 '-enabling_analysis_csv','../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_enabling_analysis.csv',
4206 '../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch',
4207 '-p', 'TIME_OUT', 5000
4208 ], 'Check CSV output of Cruise Control').
4209 cli_testcase(1703,[cbc,enabling],[
4210 '-enabling_analysis_csv','../prob_examples/public_examples/EventBPrologPackages/Advance/CAN_Bus/CB3FSMM_mch_v2_enabling_analysis.csv',
4211 '../prob_examples/public_examples/EventBPrologPackages/Advance/CAN_Bus/CB3FSMM_mch_v2.eventb',
4212 '-p', 'TIME_OUT', 5000,
4213 '-expcterr', well_definedness_error % added 28/5/2018, T2ReleaseBus -> Update, was previously not detected
4214 ], 'Check CSV output of CAN Bus Control').
4215 cli_testcase(1704, [tickets], ['../prob_examples/public_examples/B/Tickets/Space InPath/phonebook7.mch', '-t', '-mc', '100', '-strict', '-expcterr', 'model_check_incomplete'], 'check space in path works').
4216 cli_testcase(1705, [tla,tlc], ['../prob_examples/public_examples/EventBPrologPackages/Tickets/ExportClassicalB/TestLeftAsVar_mch.eventb',
4217 '../prob_examples/public_examples/EventBPrologPackages/Tickets/Tester/UseBKeywords.eventb', '-mc_with_tlc'], 'check TLC for Event-B model with classical B keywords').
4218 cli_testcase(1706, [b_test, infinite,total_function], [
4219 '-evalt', 'f : NATURAL --> STRING',
4220 '-evalt', 'f : NATURAL --> POW(INTEGER)',
4221 '-evalt', 'f : STRING --> {11,22,33} & f("abc")>22 & f("xyz") < 22',
4222 '-evalt', 'f : STRING --> STRING & f("abc")="ABC" & f("xyz") = "XYZ"'
4223 ], 'Ensure symbolic treatment of (infinite) total functions with complicated range types.').
4224 cli_testcase(1707, [b_test,cruise,operation_reuse,codespeed,hash], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-mc', '1400', '-cc', '1361', '25696', '-strict', '--hash64', 753243318772366897, '-p', 'MAX_INITIALISATIONS', 5,
4225 '-p', 'OPERATION_REUSE', 'TRUE',
4226 '-check_op_cache_stats', 663, 294, 26, 24 % was 296, 26, 25 before merging invariants
4227 ], 'Complete Model Check of Cruise Controller'). % 17.9.2021: adapted hash from 203058745203935766 for sorted order of variable
4228 cli_testcase(1708, [private,tickets,operation_reuse,operation_reuse_full,data_validation], [
4229 '../prob_examples/examples/B/ClearSy/GeneralElectric_DV/Ticket_Coudour3/rule1.mch',
4230 '-t', '-p', 'OPERATION_REUSE', 'full',
4231 '-p', 'TIME_OUT', '9000', % try and fix performance issue on Gitlab windows runner
4232 '-expcterr', invariant_violation],
4233 'Check operation reuse problem fixed').
4234 cli_testcase(1709, [b_test,operation_reuse,operation_reuse_full], ['../prob_examples/public_examples/B/Benchmarks/CSM.mch', '-mc', '1000', '-strict',
4235 '-p', 'OPERATION_REUSE', 'full','-check_complete', '-cc', '341', '1229'], 'Test 13 with operation reuse').
4236 cli_testcase(1710, [cbc], [
4237 '-evalt', 'x = {1|->2, 2|->3, 3|->4} & r={y|(y,3):x} & r={2}',
4238 '-evalt', 'x = {1|->2, 2|->3, 3|->4, 22|->3} & r={y|(y,3):x} & r={2,22}',
4239 '-evalt', 'x = {1|->2, 2|->3, 3|->4} & r={y|(y,5):x} & r={}'
4240 ], 'Test new compilation of set membership.').
4241 cli_testcase(1711, [tickets], ['../prob_examples/public_examples/B/ErrorMachines/ParseErrors/DefinitionInQuantifier2.mch',
4242 '-expcterrpos', type_error, 16, 18,
4243 '-expcterrpos', bmachine_construction, 12, 1, '-expcterr', 'load_main_file'
4244 ], 'Check illegal DEFINITION args detected').
4245 cli_testcase(1712, [b_test], ['../prob_examples/public_examples/B/Tester/DefGoal.mch',
4246 '-execute_all', '-nogoal', '-check_goal'
4247 ], 'Check -check_goal works with -execute_all').
4248 cli_testcase(1713, [b_test,external,hash], ['../prob_examples/public_examples/B/ExternalFunctions/TestLibraryMeta.mch', '-model-check', '-strict'], 'Check that external functions on state space work.').
4249 cli_testcase(1714, [cbc, clpfd_tables], [
4250 '-evalf', 'r = {x,y,z|x:{1,4,7,10,13,16,19,21,24,27,30,33,36,39,42,45,48}&y=x+1&z=y+1} & (x |-> y) |-> z : r & y : 10 .. 13 & z < 11', % takes Kodkod about 2 seconds to solve
4251 '-evalt', 'r = {x,y,z|x:{1,4,7,10,13,16,19,21,24,27,30,33,36,39,42,45,48}&y=x+1&z=y+1} & (x |-> y) |-> z : r & y : 10 .. 13 & z > 11', % takes Kodkod about 2 seconds, z3 90 ms, ProB 10 ms
4252 '-evalt', 'r = {x,y,z|x:{1,4,7,10,13,16,19,21,24,27,30,33,36,39,42,45,48}&y=x+1&z=y+1} & {x,y,z|(x |-> y) |-> z : r & y : 10 .. 13 & z >11} = {(10,11,12)}'
4253 ], 'Test new clpfd_table module.'). % tests also pass with prior version of ProB
4254 cli_testcase(1715, [tickets,codespeed,data_validation], [
4255 '../prob_examples/examples/B/Alstom/Boucles_Jul11/essai2_boucle1.mch',
4256 '-t', '-strict',
4257 '-expcterr', 'invariant_violation',
4258 '-p', 'MAXINT', 10000000, '-p', 'MININT', -10000000, '-p', 'TIME_OUT', 14000], % increased from 8000 for windows jenkins jobs
4259 'Test performance (codespeed test Alstom_essai2_boucle1) + tests watched-literal function application').
4260 cli_testcase(1716, [tickets,slot,clpfd_tables], ['../prob_examples/public_examples/B/Tickets/SLOT-PERFORMANCE6_no_print/Solver_v2.mch',
4261 '-p', 'TIME_OUT', 75000, % increased time-out for Gitlab Windows runner from 25000 on Feb 9th 2020
4262 '-init', % '-v', % generates non-ground closure warnings
4263 '-evalt', 'CHECK({"BK-GER-H-2013"}, cmcc, choiceUnits, choiceGroups)', % this worked before
4264 '-evalt', 'CHECK_wr({"BK-GES-H-2013"}, cmcc, choiceUnits, choiceGroups,{mod47,mod46, mod45, mod44, mod43},{au76,au77,au79,au80,au81},UNITS)', % this also worked before
4265 '-evalt', 'CHECK_wr({"BK-GES-H-2013"}, cmcc, choiceUnits, choiceGroups,{mod47,mod46, mod45, mod44, mod43},{au76,au77,au79,au80,au81,au82,au83,au84},{unit182,unit183,unit184,unit185,unit186,unit187,unit188,unit189,unit190,unit191,unit192,unit193,unit194,unit234,unit267,unit268} )' % this did NOT work before
4266 % '-evalt', 'CHECK({"BK-GES-H-2013"}, cmcc, choiceUnits, choiceGroups)' % does not yet work
4267 ], 'Ensure no time-out and that new element/3 constraint for function application and table constraint work').
4268 cli_testcase(1717, [cbc,clpfd_tables], [
4269 '-evalf', 'f = {aa|->(1,aa), x|->(2,x+1), y|->(3,y+1)} & x:1..2 & aa:0..1 & y:4..5 & r = f(v) & v:3..4 & x+y<v',
4270 '-evalf', 'f = {aa|->(1,aa), x|->(2,x+1), y|->(3,y+1)} & x:1..2 & aa:0..1 & y:3..5 & r = f(v) & v:2..4 & prj1(INTEGER,INTEGER)(r) /: 2..3',
4271 '-evalt', 'f = {aa|->(1,aa), x|->(2,x+1), y|->(3,y+1)} & x:1..2 & aa:0..1 & y:3..5 & r = f(v) & v:2..4 & prj1(INTEGER,INTEGER)(r) =2',
4272 '-evalf', 'f = {aa|->rec(p1:1,p2:aa), x|->rec(p1:2,p2:x+1), y|->rec(p1:3,p2:y+1)} & x:1..2 & aa:0..1 & y:3..5 & r = f(v) & v:2..4 & r\'p1 /: 2..3',
4273 '-evalt', 'f = {aa|->rec(p1:1,p2:aa), x|->rec(p1:2,p2:x+1), y|->rec(p1:3,p2:y+1)} & x:1..2 & aa:0..1 & y:3..5 & r = f(v) & v:2..4 & r\'p1 =2'
4274 ], 'Exercise new element/3 function application treatment').
4275 cli_testcase(1718, [cbc,cbc_tests], ['../prob_examples/public_examples/B/Demo/Lift_inf.mch', '-cbc_sequence', 'dec;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc;inc', '-strict', '-goal', 'curfloor=40', '-check_goal'], 'Check cbc_sequence for longer sequence').
4276 cli_testcase(1719, [smt_solver_integration], [
4277 '-p','SMT_SUPPORTED_INTERPRETER','TRUE',
4278 '-evalt', 'x = 1',
4279 '-evalf', 'x = 1 & x > 2',
4280 '-evalf', 'x:INTEGER & x>y & y>x',
4281 '-evalt', 'r:struct(f1:11..20,f2:12..30) & r\'f1+10 = r\'f2',
4282 '-evalf', 'r:struct(f1:11..20,f2:12..20) & r\'f1+10 = r\'f2',
4283 '-evalt', 'r:struct(f1:11..20,f2:12..30) & r\'f1+10 = r\'f2 & s:struct(f1:15..20,f2:1..100) & s=r',
4284 '-evalt', 'v1:struct(lderb:{TRUE},mspue:{FALSE},fhhxr:{TRUE})',
4285 '-evalf', 'x>0 & x+2 <= p & x=p',
4286 % '-evalf', 'not(Pace_Int - sp >= 0) & (sp > 0 & sp < Pace_Int)', % relies on timeout_constraint, only works with enable_time_out_for_constraints compile flag
4287 '-evalt', '{x} <: {999}',
4288 '-evalt', '{x} <: {999,1000} & x > 999',
4289 '-evalt', 'x = {1,2} /\\ {3,4}',
4290 '-evalt', 'x = {(1,2),(3,4),(4,5),(6,7),(8,9)} & y|->v : x & y|->w : x',
4291 '-evalt', 'x : {1,2} --> NAT',
4292 '-evalf', 'x : {1,2} --> NAT & x = {(1,1)}',
4293 '-evalt', 'x : {1,2} --> NAT & x = {(1,1),(2,1)}',
4294 '-evalf', 's = min({1}) & s=2',
4295 '-evalf', 's = min({1,2}) & s>2',
4296 '-evalt', 'x = %i.(i:1..10|i+i) & x[{j}]={8}',
4297 '-evalt', 'x = %i.(i:1..10|i+i) & x[{5,j}]={16,10}',
4298 '-evalf', 'x = %i.(i:1..10|i+i) & x[{5,j}]={16,11}',
4299 '-evalt', 'x:1..10 & #y.(y:1..10 & y>x) & #y.(y:1..10 & y<x)'
4300 ], 'some constraints that should be solved by the integrated ProB / SMT solver').
4301 cli_testcase(1720, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4302 '-evalt', '{x|x:1..n} = {y,y+1}',
4303 '-evalt', '1..n = {y,y+1}',
4304 '-evalt', '1..n = r & r={y,y+1}',
4305 '-evalt', '{n,y|#r.(1001..n = r & r={y,y+1})} = {(1002,1001)}',
4306 '-evalf', '1001..n = r & r={y,y+2}',
4307 '-evalt', '1001..n = {y,y+2,y+1} & n<20000' % TO DO: get rid of necessity for n<20000
4308 ], 'test improved constraint propagation for in_interval and frozen_dif').
4309 cli_testcase(1721, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4310 '-evalf', 'X:INTEGER & X*Y /= X*Y2 & Y2=Y',
4311 '-evalf', 'X:INTEGER & X+Y /= Y2+X & Y2=Y'
4312 ], 'test improved clpfd_neq_expr').
4313 cli_testcase(1722, [cbc,cse], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'CSE', 'TRUE',
4314 '-evalf', 'not(#(x,y,z).((x+1)*y = 1000 & (x+1)*z=y & z=(x+1) ))', % already worked before
4315 '-evalt', 'not(#(x,y,z).((x+1)*y = 1001 & (x+1)*z=y & z=(x+1) ))', % already worked before
4316 '-evalt', 'not(#(X,Y,Z,Z1,Z2,Z3,Z4).(X:INTEGER & X*Y=Z1 & Z1*Z = Z2 & Z*X = Z3 & Z3*Y = Z4 & Z2 /= Z4))',
4317 '-evalf', 'not(not(#(X,Y,Z,Z1,Z2,Z3,Z4).(X:INTEGER & X*Y=Z1 & Z1*Z = Z2 & Z*X = Z3 & Z3*Y = Z4 & Z2 /= Z4)))',
4318 '-evalf', '#(X,Y,Z).(X:INTEGER & #(Z1,Z2,Z3,Z4).(X*Y=Z1 & Z1*Z = Z2 & Z*X = Z3 & Z3*Y = Z4 & Z2 /= Z4))'
4319 ], 'test single usage identifier inlining').
4320 cli_testcase(1723, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4321 '-evalf', 'X:INTEGER & Y*X /= X*Y2 & Y2=Y',
4322 '-evalf', 'X:INTEGER & X*Y*(Z+V) /= (V+Z)*X*Y',
4323 '-evalf', 'X:INTEGER & X+Y+(Z*V) /= (V*Z)+X+Y',
4324 '-evalt', 'not(#(X,Y,Z,Z1,Z2,Z3,Z4).(X:INTEGER & X*Y=Z1 & Z1*Z = Z2 & Z*X = Z3 & Z3*Y = Z4 & Z2 /= Z4))',
4325 '-evalf', 'x:INTEGER & (x-(x+a*b)) /= (y-(b*a+x)) & y=x', % added later
4326 '-evalf', 'x:INTEGER & (-(x+a*b)) /= (-(b*a+y)) & y=x' % added later
4327 ], 'test improved commutativity detection in clpfd_neq_expr').
4328 cli_testcase(1724, [tickets], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4329 '-execute_all', '-check_goal',
4330 '../prob_examples/public_examples/B/Tester/CheckGoal.mch'],'test check_goal with executed_all').
4331 cli_testcase(1725, [tickets, b_test], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4332 '-assertions', '-init',
4333 '../prob_examples/public_examples/B/Tester/Visibility/M2_xx.mch'],'test visibility in assertions clause').
4334 cli_testcase(1726, [b_test,external,xml], ['../prob_examples/public_examples/B/ExternalFunctions/XML_Reader.mch', '-t', '-assertions',
4335 '-evalt', 'READ_XML_FROM_STRING("<h3>hallo</h3>") = [rec(attributes:{},element:"h3",meta:{("xmlLineNumber"|->"1")},pId:0,recId:1), rec(attributes:{("text"|->"hallo")},element:"CText",meta:{("xmlLineNumber"|-> "1")},pId:1,recId:2)]',
4336 '-strict'], 'Check that external function to read XML works.').
4337 cli_testcase(1727, [b_test,ltl,safety], ['../prob_examples/public_examples/B/LTL/SafetyMC/BeverageVendingMachine.mch', '-ltlformulaf', 'G not [bget]', '-p', 'use_safety_ltl_model_checker', true, '-strict'],'Check that safety model checker does not produce incomplete counter examples when transition propositions appear in the safety ltl formula.').
4338 cli_testcase(1728, [error_checks], [ '-strict',
4339 '-expcterrpos', 'bmachine_static_checks', 10, 15,
4340 '../prob_examples/public_examples/B/Tester/InitialisationChecks/IllegalOrderOfInits.mch'],'test detection of illegal initialisations').
4341 cli_testcase(1729, [error_checks], [ '-strict',
4342 '-expcterrpos', 'bmachine_static_checks', 10, 25,
4343 '../prob_examples/public_examples/B/Tester/InitialisationChecks/IllegalParallelInit.mch'],'test detection of illegal initialisations').
4344 cli_testcase(1730, [error_checks], [ '-strict',
4345 '-expcterrpos', 'bmachine_static_checks', 14, 2,
4346 '../prob_examples/public_examples/B/Tester/InitialisationChecks/IllegalChoiceOrderInit.mch'],'test detection of illegal initialisations').
4347 cli_testcase(1731, [cbc,infinite], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4348 '-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE',
4349 '-evalt', 'f=%x.(x:iseq(struct(a:STRING))|x) & f([rec(a:"a")])=[rec(a:"a")]',
4350 '-evalt', 'f=%x.(x:iseq(struct(a:STRING,b:BOOL))|x) & f([rec(a:"a",b:TRUE)])=[rec(a:"a",b:xx)] & xx=TRUE',
4351 '-evalt', 'f=%x.(x:iseq(struct(a:NATURAL,b:BOOL))|x) & f([rec(a:222,b:TRUE)])=[rec(a:222,b:xx)] & xx=TRUE',
4352 '-evalt', 'f=%x.(x:iseq1(struct(a:NATURAL,b:BOOL))|x) & f([rec(a:222,b:TRUE)])=[rec(a:222,b:xx)] & xx=TRUE',
4353 '-evalt', 'f=%x.(x:seq1(struct(a:NATURAL,b:BOOL))|x) & f([rec(a:222,b:TRUE)])=[rec(a:222,b:xx)] & xx=TRUE',
4354 '-evalt', 'f=%x.(x:seq(struct(a:NATURAL,b:BOOL))|x) & f([rec(a:222,b:TRUE)])=[rec(a:222,b:xx)] & xx=TRUE',
4355 '-evalt', 'f=%x.(x:iseq(struct(a:seq1(NATURAL),b:BOOL))|x) & f([rec(a:[222],b:TRUE)])=[rec(a:[222],b:xx)] & xx=TRUE',
4356 '-evalf', 'f=%x.(x:iseq(struct(a:STRING))|x) & f([rec(a:"a")])=[rec(a:"b")]'],
4357 'test detection of infinite function without virtual time-outs').
4358 cli_testcase(1732, [tickets], [
4359 '../prob_examples/public_examples/B/Tickets/Hansen31_VirtualTimeout/VirtualTimeout.mch', '-mc', 1000, '-expcterr','model_check_incomplete','-expcterr','virtual_time_out'], 'Check that we detect that model-checking incomplete.').
4360 cli_testcase(1733, [tickets,execute], [ % '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4361 '../prob_examples/public_examples/B/Tickets/Hansen31_VirtualTimeout/VirtualTimeout.mch', '-execute', 1000,
4362 '-animate_stats',
4363 '-expcterr','virtual_time_out_execute'], 'Check that we detect that execute incomplete.').
4364 cli_testcase(1734, [tickets,animate], [ % '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4365 '../prob_examples/public_examples/B/Tickets/Hansen31_VirtualTimeout/VirtualTimeout.mch', '-animate', 5,
4366 '-animate_stats',
4367 '-expcterr','virtual_time_out'], 'Check that we detect that execute incomplete.').
4368 cli_testcase(1735, [cbc,cbc_tests], ['../prob_examples/public_examples/B/Tester/InitialisationChecks/InitCBCCheck.mch', '-cbc_sequence', 'Goal', '-strict'], 'Check cbc_sequence with non-det. INITIALISATION').
4369 cli_testcase(1736, [error_checks,b_test], ['../prob_examples/public_examples/B/Tester/InitialisationChecks/InitIF_Fails.mch', '-init',
4370 %'-expcterrpos', initialisation_fails, 13,17,
4371 '-expcterr', 'initialisation_fails', % we now store the error as a state error with more precise pos 14,23 and
4372 % and the error is also raised in probcli in perform_random_init_after_setup_constants without position info
4373 '-strict'], 'Check INITIALISATION error inside IF located').
4374 cli_testcase(1737, [cbc,b_test,quantified,union,card], ['../prob_examples/public_examples/B/PerformanceTests/UNION_CardGT.mch', '-t'], 'test_closure for lambda closures avoid interference between domain and range expression').
4375 cli_testcase(1738, [external,b_test,xml], ['../prob_examples/public_examples/B/ExternalFunctions/XML/utf8_data.mch', '-assertions'], 'test READ_XML with UTF-8 encoding').
4376 cli_testcase(1739, [cbc,private], ['../prob_examples/examples/B/Alloy/req2_v3_not_conj_check.mch',
4377 '../prob_examples/examples/B/Alloy/req2_v3_not_conj_check2.mch', % version with larger CONTEXT set, more difficult
4378 '-t', '-p', 'TIME_OUT', '9500'], 'test not conjunction treatment of kernel').
4379 cli_testcase(1740, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4380 '-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE',
4381 '-evalt', '#x.(x:1..10000 & x mod 22 = 11) or b=TRUE',
4382 '-evalt', '(#x.(x:1..10000 & x mod 22 = 11) or b=TRUE) => b=FALSE',
4383 '-evalt', '(#x.(x:1..10000 & x mod 22 = 22) or b=TRUE) => b=FALSE',
4384 '-evalf', '(b=FALSE => (#x.(x:1..10000 & x mod 22 = 22) or b=TRUE)) & (b=TRUE => (#x.(x:1..10000 & x mod 22 = 22) or b=FALSE))'
4385 ],
4386 'test reification of RHS of disjunction (or)').
4387 cli_testcase(1741, [ctl], ['../prob_examples/public_examples/B/Ivo/CTLIssue.mch', '-ctlformulat', 'AF {x=4}'], 'Testing bug-fix caused by an unnecessary cut.').
4388 cli_testcase(1742, [csp_test], ['../prob_examples/public_examples/CSP/simple/verysimple.csp',
4389 '-ltlformulat', 'GF e(a.red)', '-strict'
4390 ], 'Test check should show that verysimple fulfills the LTL formula, which is equivalent to the CTL formula AGAF e(a.red).').
4391 cli_testcase(1743, [cbc,infinite,union], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4392 '-evalt', '{3} <| %x.(x:NATURAL|x+1) = {3|->4}',
4393 '-evalf', '{3} <| %x.(x:NATURAL|x+1) = {a,b} & a/=b',
4394 '-evalt', '2..4 = ran((1..3) <| %x.(x:NATURAL|x+1))',
4395 '-evalt', '1..3 = dom(%x.(x:NATURAL|x+1)|>(2..4))',
4396 '-evalt', '(1..9) <| pred = %x.(x:1..9|x-1)',
4397 '-evalt', '(1..9) <| succ = %x.(x:1..9|x+1)',
4398 '-evalt', '{n} <| succ = {15|->x} & n<20'
4399 ], 'Test better symbolic treatment of union').
4400 cli_testcase(1744, [cbc,infinite,union], [
4401 '-evalt', '4|->b : {3} <<| %x.(x:NATURAL|x+1)',
4402 '-evalf', '4|->b : (%x.(x:NATURAL|x+1) |>> (1..9))',
4403 '-evalt', '14|->b : (%x.(x:NATURAL|x+1) |>> (1..9))',
4404 '-evalt', '{b|14|->b : (%x.(x:NATURAL|x+1) |>> (1..9))} = {15}',
4405 '-evalt', 'x = {-1,-33} \\/ NATURAL1 & 11:x & -1:x & -33:x & 0 /: x'
4406 ], 'Test better symbolic treatment of union').
4407 cli_testcase(1745, [tickets,codespeed], [
4408 '../prob_examples/public_examples/B/Puzzles/EulerWay.mch',
4409 %'../prob_examples/public_examples/B/Puzzles/EulerWayDisjunction.mch', % this does not work yet; disjoin_true change makes this version too slow
4410 '-init', '-p', 'TIME_OUT', 9500
4411 ],
4412 'EulerWay Codespeed Test').
4413 cli_testcase(1746, [cbc], [
4414 '../prob_examples/public_examples/B/CBC/Feasibility_baloadR07.mch',
4415 '-init'
4416 ],
4417 'Check reification of existential quantifier with 27 cases not problematic').
4418 cli_testcase(1747, [codespeed], [
4419 '../prob_examples/public_examples/B/Demo/SortByPermutation_v2.mch',
4420 '-t', '-p', 'TIME_OUT', 9500, '-p', 'CLPFD', 'FALSE'],
4421 'SortByPermutation_v2 Codespeed Test 55 wo CLPFD').
4422 cli_testcase(1748, [codespeed], [
4423 '../prob_examples/public_examples/B/PerformanceTests/ModelChecking/CountToMAXINT.mch',
4424 '-mc', 500002, '-p', 'MAXINT', 500000, '-nodead'],
4425 'MC_CountToMAXINT_50000 Codespeed Test'). % count to half a million, takes about 22 seconds
4426 cli_testcase(1749, [codespeed, symmetry_test,cse], ['../prob_examples/public_examples/EventBPrologPackages/SET_Game/SET_GAM_Sym_NoSet20_mch.eventb', '-mc', '1000', '-p', 'SYMMETRY_MODE', 'hash', '-p', 'TIME_OUT', '7000', '-p', 'CLPFD', 'TRUE', '-df', '-goal', 'n=18', '-p', 'MAX_OPERATIONS', '20', '-strict', '-expcterr', 'goal_found', '-p', 'CSE', 'TRUE'], 'Test 395 with CSE').
4427 cli_testcase(1750, [private,alstom,codespeed,data_validation], [
4428 '../prob_examples/examples/B/Alstom/axl3/axl3.mch',
4429 '-t', '-p', 'CLPFD', 'TRUE'],
4430 'axl3 Codespeed Test').
4431 cli_testcase(1751, [private,alstom,codespeed,data_validation], [
4432 '../prob_examples/examples/B/Alstom/cbtc/actions_cbtc.mch',
4433 '-t', '-p', 'CLPFD', 'TRUE'],
4434 'actions_cbtc Codespeed Test').
4435 cli_testcase(1752, [private,codespeed,private,data_validation], [
4436 '../prob_examples/examples/B/Alstom/DataValidationProject/Rule_TMS_Route_0006.mch',
4437 '-p', 'MAXINT', 10000000, '-p', 'MININT', -10000000, '-p', 'TIME_OUT', '60000',
4438 '-p', 'SHOW_EVENTB_ANY_VALUES', 'true',
4439 '-mc', 1000, '-df', '-nodead', '-expcterr', 'invariant_violation',
4440 '-p', 'CLPFD', 'FALSE'],
4441 'ClearSy_RuleTMS_R0006 Codespeed Test').
4442 cli_testcase(1753, [codespeed,private,data_validation,clpfd_tables], [
4443 '../prob_examples/examples/B/Alstom/DataValidationProject/Rule_TMS_Route_0006.mch',
4444 '-p', 'MAXINT', 10000000, '-p', 'MININT', -10000000,
4445 '-p', 'TIME_OUT', '80000', % sometimes breaks on windows test runner; requires 31 seconds on MacBookPro
4446 % has become slower when switching to table/3 using method(aux) option
4447 '-p', 'SHOW_EVENTB_ANY_VALUES', 'true',
4448 '-mc', 1000, '-df', '-nodead', '-expcterr', 'invariant_violation',
4449 '-p', 'CLPFD', 'TRUE'],
4450 'ClearSy_RuleTMS_R0006_CLPFD Codespeed Test').
4451 cli_testcase(1754, [cbc,sigma], [
4452 '../prob_examples/public_examples/B/CBC/Tests/TestSIGMA.mch',
4453 '-init', '-assertions'
4454 ],
4455 'Check reification of IF-THEN-ELSE in SIGMA + WD detection of total avl function').
4456 cli_testcase(1755, [tickets,quantified,union], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4457 '-evalt', 'UNION(x).(x:1..4|{x+y}) = 12..15',
4458 '-evalf', 'UNION(x).(x:1..4|{x+y}) = 12..16',
4459 '-evalt', '{y|UNION(x).(x:1..4|{x+y}) = 12..15} = {11}',
4460 '-evalt', '{n|UNION(x).(x:1..10|{x}) = 1..n} = {10}',
4461 '-evalt', 'UNION(x).(x:1..n|{x}) = 1..10', % used to generate warning
4462 '-evalf', '{n|UNION(x).(x:1..n|{x}) = 1..0} = {0}', % used to generate virtual time-out
4463 '-evalt', '{n|n:NATURAL & UNION(x).(x:1..n|{x}) = 1..0} = {0}',
4464 '-evalt', '{n|n:-1..3 & UNION(x).(x:1..n|{x}) = 1..0} = {-1,0}'
4465 ], 'ensure new UNION treatment with better propagation').
4466 cli_testcase(1756, [tickets,card], [
4467 '../prob_examples/public_examples/B/Tester/SetSetupTests/CardDefSetConstraint.mch',
4468 '-init', '-assertions'
4469 ],
4470 'Check deferred set size inference improved').
4471 cli_testcase(1757, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4472 '-evalt', '{x,y|IF x:0..3 THEN y=2 ELSE 1=0 END} = {(0|->2),(1|->2),(2|->2),(3|->2)}',
4473 '-evalt', '{x,y|IF x/:0..3 THEN 1=0 ELSE y=2 END} = {(0|->2),(1|->2),(2|->2),(3|->2)}'
4474 ], 'exercise => FALSE AST simplification').
4475 cli_testcase(1758, [b_test,ltl,safety], [
4476 '../prob_examples/public_examples/B/LTL/SafetyMC/BeverageVendingMachine.mch',
4477 '-ltlformulaf', 'G not [bget]',
4478 '-p', 'use_safety_ltl_model_checker', true, '-strict'
4479 ],
4480 'Check that safety model checker does not produce incomplete counter examples when transition propositions appear in the safety ltl formula.').
4481 cli_testcase(1759, [b_test,ltl,safety], [
4482 '../prob_examples/public_examples/B/LTL/SafetyMC/BeverageVendingMachine.mch',
4483 '-ltlformulaf', 'G not ({nsoda = 0} => X [sget])',
4484 '-p', 'use_safety_ltl_model_checker', true, '-strict'
4485 ],
4486 'Check that safety model checker does not produce incomplete counter examples when transition propositions appear in the safety ltl formula.').
4487 cli_testcase(1760, [b_test,ltl,safety], [
4488 '../prob_examples/public_examples/B/LTL/SafetyMC/BeverageVendingMachine.mch',
4489 '-ltlformulaf', '{paid=FALSE} or ({nbeer=1} & {nsoda =1}) & (({nbeer = 0}) R (X [bget]))',
4490 '-p', 'use_safety_ltl_model_checker', true, '-strict'
4491 ],'Check that safety model checker does not produce incomplete counter examples when transition propositions appear in the safety ltl formula.').
4492 cli_testcase(1761, [b_test,ltl,safety], [
4493 '../prob_examples/public_examples/B/LTL/SafetyMC/BeverageVendingMachine.mch',
4494 '-ltlassertions', '-p', 'use_safety_ltl_model_checker', true, '-strict'
4495 ],'Checking that the safety LTL model checker succeeds on each assertions.').
4496 cli_testcase(1762, [b_test,ltl,safety], [
4497 '../prob_examples/public_examples/B/LTL/SafetyMC/BeverageVendingMachine.mch',
4498 '-ltlformulaf', 'F [ret_coin] => {paid=TRUE}', '-p', 'use_safety_ltl_model_checker', true, '-strict'
4499 ],'Check that safety model checker does not produce incomplete counter examples when transition propositions appear in the safety ltl formula.').
4500 cli_testcase(1763, [cbc,slot,tickets,wd, unsat_core,let], ['../prob_examples/public_examples/B/Tickets/SLOT-WD-ISSUE/Solver.mch',
4501 '-assertions',
4502 '-expcterrpos', definition_variable_capture, 270, 12,
4503 '-evalt', 'UNSAT_CORE_SESSIONS({group3, group4}) = {session3,session4}'
4504 ], 'Check that wd issue with let predicates solved (expressions not guarded)').
4505 cli_testcase(1764, [laws], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4506 '../prob_examples/public_examples/B/Laws/BoolLaws.mch',
4507 '../prob_examples/public_examples/B/Laws/ArithmeticLaws.mch',
4508 '../prob_examples/public_examples/B/Laws/ArithmeticExpLaws.mch',
4509 '../prob_examples/public_examples/B/Laws/SetLaws.mch',
4510 '../prob_examples/public_examples/B/Laws/SetLawsNat.mch',
4511 '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict', '-p', 'OPTIMIZE_AST', 'FALSE', '-opterr', 'model_check_incomplete'], 'Mathematical Laws with AST optimization disabled').
4512 cli_testcase(1765, [cbc,private], ['../prob_examples/examples/B/AWE_JASP/v7/JavaBC0.mch',
4513 '-t', '-mc', '200',
4514 '-nogoal', '-noass'
4515 ], 'Check Java Bytecode interpreter').
4516 cli_testcase(1766, [private,case,forall], ['../prob_examples/public_examples/B/Tester/ForAllExpansionEnumWarning.mch',
4517 '-init', '-aa', 0,0,1
4518 ], 'Check forall not expanded').
4519 cli_testcase(1767, [b_test,case], ['../prob_examples/public_examples/B/Tester/CaseStmt_v2.mch', '-t', '-strict'],'Check case statement with multiple values for same case').
4520 cli_testcase(1768, [b_test,case], ['../prob_examples/public_examples/B/Tester/CaseStmt_Illegal1.mch', '-init',
4521 '-expcterrpos', type_error, 24, 10, '-expcterr', load_main_file,
4522 '-strict'],'Check case statement with else').
4523 cli_testcase(1769, [tickets,kodkod,card], [ '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
4524 '-evalt', ':kodkod-double-check card({a,b|a:BOOL & b:1..k})=4 & k:0..2',
4525 '-evalf', ':kodkod-double-check card({a,b|a:BOOL & b:1..k})=3 & k:0..10',
4526 '-evalt', ':kodkod-double-check card({a,b,c})=1 & {a,b,c}<:BOOL',
4527 '-evalt', ':kodkod-double-check card({a,b,c})=2 & {a,b,c}<:1..10 & a+b+c=20'
4528 ], 'check card interval analysis succeeds (PROB-411)').
4529 cli_testcase(1770,[cbc,enabling],[
4530 '-enabling_analysis_csv','../prob_examples/public_examples/B/CBC/Enabling/ChoiceByPredicate_enabling_analysis.csv',
4531 '../prob_examples/public_examples/B/CBC/Enabling/ChoiceByPredicate.mch',
4532 '-p', 'TIME_OUT', 1000
4533 ], 'Check CSV enabling output for becomes_such').
4534 cli_testcase(1771,[cbc,enabling,case],[
4535 '-enabling_analysis_csv','../prob_examples/public_examples/B/CBC/Enabling/OpParameterTests_enabling_analysis.csv',
4536 '../prob_examples/public_examples/B/CBC/Enabling/OpParameterTests.mch',
4537 '-p', 'TIME_OUT', 6500 % enabling analysis takes 0.1 this
4538 ], 'Check CSV enabling output for variety of substitutions').
4539 cli_testcase(1772, [por,ltl], ['../prob_examples/public_examples/B/Ivo/Threads51.mch', '-ltlformulat', 'GF {v1=n}',
4540 '-p', por, ample_sets], 'Check LTL property with partial order reduction.').
4541 cli_testcase(1773, [por,ltl], ['../prob_examples/public_examples/B/Ivo/Threads51.mch', '-ltlformulat', 'G not {v1>n+1}',
4542 '-p', use_safety_ltl_model_checker, true, '-p', por, ample_sets], 'Check LTL property with partial order reduction.').
4543 cli_testcase(1774, [por,ltl], ['../prob_examples/public_examples/B/Benchmarks/CAN_BUS_tlc.mch',
4544 '-ltlformulat', 'G not deadlock', '-p', por, ample_sets, '-p', 'OPERATION_REUSE', 'TRUE' % '-p', pge, full
4545 ], 'Check LTL property with partial order reduction.').
4546 cli_testcase(1775, [por,ltl], ['../prob_examples/public_examples/B/Benchmarks/CAN_BUS_tlc.mch',
4547 '-ltlformulat', 'G not deadlock', '-p', por, ample_sets, '-p', 'OPERATION_REUSE', 'TRUE', % '-p', pge, full,
4548 '-p', use_safety_ltl_model_checker, true
4549 ], 'Check LTL property with partial order reduction.').
4550 cli_testcase(1776, [tickets,while], [
4551 '../prob_examples/public_examples/B/Tickets/Hansen32_CompileBug/M1.mch',
4552 '../prob_examples/public_examples/B/Tickets/Hansen32_CompileBug/M1_Internal.mch',
4553 '../prob_examples/public_examples/B/Tickets/Hansen32_CompileBug/M1_Internal_v2.mch',
4554 '../prob_examples/public_examples/B/Tickets/Hansen32_CompileBug/M1_Internal_v3.mch',
4555 '-t'
4556 ],
4557 'Check compilation of while with op call and inner while works').
4558 cli_testcase(1777, [por], ['../prob_examples/public_examples/B/Ivo/PORTest_WriteDependencies.mch', '-model_check', '-noinv', '-p', por, ample_sets,
4559 '-expcterr', deadlock], 'Check that no incorrect reduction is performed on the model.').
4560 cli_testcase(1778, [laws,random], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4561 '../prob_examples/public_examples/B/Laws/BoolLaws.mch',
4562 '../prob_examples/public_examples/B/Laws/ArithmeticLaws.mch',
4563 '../prob_examples/public_examples/B/Laws/ArithmeticExpLaws.mch',
4564 '../prob_examples/public_examples/B/Laws/SetLaws.mch',
4565 '../prob_examples/public_examples/B/Laws/SetLawsNat.mch',
4566 '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict', '-p', 'RANDOMISE_ENUMERATION_ORDER', 'TRUE', '-opterr', 'model_check_incomplete'], 'Mathematical Laws with random enumeration').
4567 cli_testcase(1779, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4568 '../prob_examples/public_examples/B/Tester/Constants6.mch',
4569 '../prob_examples/public_examples/B/Tester/Constants7.mch',
4570 '-property', 'minnr = 7 & mxnr =9 & pid(p1) = a & pid(p2)=b & pid(p3)=c & pnr(p1)=minnr & pnr(p3)=mxnr & root=a',
4571 '-t'
4572 ],
4573 'Check -property command works').
4574 cli_testcase(1780, [external,b_test,xml], ['../prob_examples/public_examples/B/ExternalFunctions/XML_Reader_Writer.mch', '-init', '-assertions'], 'test READ_XML and WRITE_XML').
4575 cli_testcase(1781, [b_test,preferences], ['../prob_examples/public_examples/B/ErrorMachines/SET_PREF_Illegal.mch', '-init', '-expcterr', pref_definitions], 'test we detect setting illegal preference').
4576 cli_testcase(1782, [b_test,preferences], ['../prob_examples/public_examples/B/FeatureChecks/LocalOperationCall.mch',
4577 '../prob_examples/public_examples/B/FeatureChecks/LocalOperationCall2.mch',
4578 '-t'], 'test calling local operations').
4579 cli_testcase(1783, [b_test,error_checks], ['../prob_examples/public_examples/B/FeatureChecks/DEFINITIONS/HygMacroTest.mch', '-init', '-expcterr', definition_variable_capture], 'test we detect variable capture problem').
4580 cli_testcase(1784, [b_test,error_checks,execute], ['../prob_examples/public_examples/B/FeatureChecks/ExecuteNonDetCsts.mch', '-init', '-det_constants', '-execute_all', '-expcterr', det_check], 'test we detect non-deterministic constant setup').
4581 cli_testcase(1785, [b_test,execute], ['../prob_examples/public_examples/B/FeatureChecks/ExecuteNonDetCsts.mch', '-execute_all', '-check_goal'], 'test execute + check goal').
4582 cli_testcase(1786, [b_test,error_checks], ['../prob_examples/public_examples/B/ErrorMachines/OpCalls/IllegalOpCall.mch', '-init', '-expcterrpos', bmachine_static_checks, 15,19], 'test error raised when operation call left hand side is not an identifier').
4583 cli_testcase(1787, [b_test], ['../prob_examples/public_examples/B/Tester/OpCalls/UseCopy.mch', '-t'
4584 ], 'test output parameters can be read').
4585 cli_testcase(1788, [b_test], ['../prob_examples/public_examples/B/Implementations/Values/Sensor0_i.imp',
4586 '../prob_examples/public_examples/B/Implementations/Values/DefSetsImp.imp',
4587 '-t'
4588 ], 'test VALUES clause').
4589 cli_testcase(1789, [b_test,external,records,strings], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4590 '../prob_examples/public_examples/B/ExternalFunctions/LibraryStrings.mch',
4591 '-evalt', '{rec(sa:"1.101"),rec(sa:"1.102")} =x & x<: (struct(sa : /*@symbolic*/ {s| s : STRING & size(STRING_SPLIT(s,"."))=2}))',
4592 '-evalf', '{rec(sa:"1.101"),rec(sa:"1.102.3")} =x & x<: (struct(sa : /*@symbolic*/ {s| s : STRING & size(STRING_SPLIT(s,"."))=2}))'
4593 ], 'Check that no infinite expansion occurs here.').
4594 cli_testcase(1790, [b_test,external,hash], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4595 '../prob_examples/public_examples/B/ExternalFunctions/TestLibraryHash.mch', '-assertions'], 'Check HASH and SHA_HASH').
4596 cli_testcase(1791, [b_test,external,rulesdsl], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4597 '../prob_examples/public_examples/Rules/CSV/Runner_CSV.rmch', '-execute_all',
4598 '-goal', '(RULE_AW1="FAIL" & card(RULE_AW1_Counterexamples) = 6)',
4599 '-check_goal'], 'Check Rules DSL example with CSV reading').
4600 cli_testcase(1792, [cbc,exists], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4601 '-evalt', 'y:7..30000000000 & not(#x.(x:1..10 & x:8..y))',
4602 '-evalf', 'y:20..30000000000 & not(#x.(x:1..10 & x:8..y))',
4603 '-evalf', 'y:7..30000000000 & not(#x.(x /: 1..y))',
4604 '-evalf', 'y:7..30000000000 & not(#x.(not(x : 1..y)))',
4605 '-evalt', 'x<:BOOL & x/={} & #y.(y /: x)'
4606 ], 'check translation of exists into not equal empty_set').
4607 cli_testcase(1793,[cbc,enabling,private],['-enabling_analysis_csv','../prob_examples/examples/B/Amira_Genisys/ConferenceReviewSystem/Functional_Simplified_v2_enabling.csv',
4608 '../prob_examples/examples/B/Amira_Genisys/ConferenceReviewSystem/Functional_Simplified_v2.mch'], 'Check CSV output of a simple enabling analysis (Ticket PROB-215).').
4609 cli_testcase(1794,[cbc,exists],['-t', '-cc', 5, 4,
4610 '../prob_examples/public_examples/B/CBC/Constraint_with_exists.mch',
4611 '../prob_examples/public_examples/B/CBC/Constraint_with_exists_v2.mch'], 'Check improved treatment of in_domain_subtraction and restriction.').
4612 cli_testcase(1795, [cbc,forall], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4613 '-evalf', 'yy:1..5 & !x.(x<:POW(INTEGER) => {yy}:x)',
4614 '-evalt', '!x.(x:INTEGER => x<0 or x>y) & y:-1..10',
4615 '-evalf', '!x.(x:INTEGER => x<0 or x>y) & y:1..10',
4616 '-evalf', 'yy:1..5 & !x.(x<:POW(NATURAL) => {yy}:x)',
4617 '-evalt', 'yy:-1..5 & !x.(x<:POW(NATURAL) => {yy}/:x)',
4618 '-evalf', 'yy:1..5 & !x.(x<:POW(1..10) => {yy}:x)',
4619 '-evalf', '!x.(x:NATURAL => x>y) & y:1..10',
4620 '-evalt', '!x.(x:NATURAL => x>y) & y:-1..10',
4621 '-evalf', '!x.(x:INTEGER => (x:NATURAL => x>y)) & y:1..10',
4622 '-evalt', '!x.(x:INTEGER => (x:NATURAL => x>y)) & y:-1..10'
4623 ], 'check improved treatment of forall').
4624 cli_testcase(1796,[eventb_test,wd],['-t', '-mc', 100, '-bf',
4625 '../prob_examples/public_examples/EventBPrologPackages/Tickets/VariantWDError2_mch.eventb',
4626 '-expcterr', well_definedness_error,
4627 '-expcterr', 'event_error:inc:event_wd_error' ], 'Check detection of WD errors for variants.').
4628 cli_testcase(1797,[enabling,eventb_test,read_write],[
4629 '../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Concurrent_Program_Development/conc_4_mch_finite.eventb',
4630 '-t',
4631 '-read_write_matrix_csv', '../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Concurrent_Program_Development/conc_4_rw_matrix.csv'
4632 ], 'Check read-write-matrix with witnesses correctly computed.').
4633 cli_testcase(1798, [laws,rel_fnc,wd], ['../prob_examples/public_examples/B/Laws/FunLawsWithLambda.mch', '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict','-p', 'DOUBLE-EVALUATION', 'TRUE',
4634 '-p', 'TRY-FIND-ABORT', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Test 458 with TRY_FIND_ABORT (and test using - instead of _).').
4635 cli_testcase(1799,[tickets,cbc,clpfd_tables],[
4636 '-evalf', 'deadline : BOOL --> 0..1 & (%d.(d : BOOL & deadline(d) > 0|deadline(d) - 1) /: BOOL <-> NATURAL)',
4637 '-evalf', 'deadline : BOOL --> 0..2 & (%d.(d : BOOL & deadline(d) > 0|deadline(d) - 1) /: BOOL +-> NATURAL)',
4638 '-evalt', 'deadline : BOOL --> 0..10 & (%d.(d : BOOL & deadline(d) >= 0|deadline(d) - 1) /: BOOL +-> NATURAL)',
4639 '-evalf', 'deadline : BOOL --> 1..2 & (%d.(d : BOOL & deadline(d) > 1|deadline(d) - 2) /: BOOL <-> NATURAL)'
4640 ], 'Check element/3 SICStus bug solved.').
4641 cli_testcase(1800,[tickets,disprover,cbc,clpfd_tables],[
4642 '../prob_examples/public_examples/EventBPrologPackages/Disprover/Tickets/LOCKR1_mch.pl',
4643 '-expecterr', disprover_unsound,
4644 %'-check_disprover_result', 0,1,10 % Update/inv6/INV is reported false : check that this is correct, the counter example seems indeed valid; there was probably a bug in an earlier version of Rodin
4645 %'-check_disprover_result', 3,1,7 % when using the new WD prover we can prove 3 POs
4646 %'-check_disprover_result', 5,1,5, % and now 4,5 POs
4647 '-check_disprover_result', 8,1,2, % and now 8 POs
4648 '-timeout', 1000 % for Windows (and now Linux as well to avoid timeout in WD prover; see also get_alternate_prover_timeout for wd_prover)
4649 ], 'Check element/3 SICStus bug solved.'). % we still have issue with CHR and element/3
4650 cli_testcase(1801, [tickets,eventb_test,records], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4651 '../prob_examples/public_examples/EventBPrologPackages/Tickets/InitialisationByPredicate/TestBecomeSuch.mch',
4652 '../prob_examples/public_examples/EventBPrologPackages/Tickets/InitialisationByPredicate/TestBecomeSuch_mch.eventb',
4653 '../prob_examples/public_examples/EventBPrologPackages/Tickets/InitialisationByPredicate/M0_v4_mch.eventb', % record detection
4654 '-t'
4655 ], 'Check that Event-B becomes_such works correctly, in particular with record detection.').
4656 cli_testcase(1802,[eventb_test,witnesses],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4657 '../prob_examples/public_examples/EventBPrologPackages/Tests/Witnesses/NonDetAssign1_mch.eventb',
4658 '../prob_examples/public_examples/EventBPrologPackages/Tests/Witnesses/NonDetAssign1_finite_unproven_mch.eventb',
4659 '-t', '-mc', 500, '-opterr', model_check_incomplete
4660 ], 'Check witness for removed abstract variable.').
4661 cli_testcase(1803,[eventb_test,witnesses,cbc],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4662 '../prob_examples/public_examples/EventBPrologPackages/Tests/Witnesses/NonDetAssign1_finite_unproven_mch.eventb',
4663 '-cbc', 'all'
4664 ], 'Check cbc invariant with witnesses.').
4665 cli_testcase(1804,[eventb_test,witnesses],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4666 '../prob_examples/public_examples/EventBPrologPackages/Tests/Witnesses/NonDetAssign1_error_mch.eventb',
4667 '-mc', 500,
4668 '-expcterr', 'event_error:inc:action_not_executable'
4669 ], 'Check witness error found.').
4670 cli_testcase(1805,[eventb_test,witnesses],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4671 '../prob_examples/public_examples/EventBPrologPackages/Tests/Witnesses/Guard0_simerror_mch.eventb',
4672 '-mc', 500, '-nodead',
4673 '-expcterr', 'event_error:even_dec:simulation_error'
4674 ], 'Check witness error found.').
4675 cli_testcase(1806,[eventb_test],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4676 '../prob_examples/public_examples/EventBPrologPackages/Tests/Witnesses/VariantNegative_mch.eventb',
4677 '-mc', 500, '-nodead',
4678 '-expcterr', 'event_error:dec:variant_negative'
4679 ], 'Check variant error found.').
4680 cli_testcase(1807,[eventb_test],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4681 '../prob_examples/public_examples/EventBPrologPackages/Tests/Witnesses/VariantError_mch.eventb',
4682 '-mc', 500, '-nodead',
4683 '-expcterr', 'event_error:dec:invalid_variant'
4684 ], 'Check variant error found.').
4685 cli_testcase(1808,[eventb_test],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4686 '../prob_examples/public_examples/EventBPrologPackages/Tests/Witnesses/TheoremInGuardError_mch.eventb',
4687 '-mc', 500, '-nodead',
4688 '-expcterr', 'event_error:dec:invalid_theorem_in_guard'
4689 ], 'Check variant error found.').
4690 cli_testcase(1809, [tickets,kodkod], [ '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
4691 '../prob_examples/public_examples/B/Tickets/Kodkod7_QueensBug/Queen_BoardVersion.mch',
4692 '../prob_examples/public_examples/B/Tickets/Kodkod7_QueensBug/Queen_BoardVersion_v2.mch',
4693 '../prob_examples/public_examples/B/Tickets/Kodkod7_QueensBug/Queen_BoardVersion_v3.mch',
4694 '-init'
4695 ], 'check Kodkod bug fixed').
4696 cli_testcase(1810, [b_test,unicode,atelierb],
4697 ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4698 '../prob_examples/public_examples/B/Tickets/UnicodeSupport/TestUmlauteInString.mch', '-assertions',
4699 '-pp', '../prob_examples/public_examples/B/Tickets/UnicodeSupport/TestUmlauteInString_Internal.mch'
4700 ],'Test unicode support.').
4701 cli_testcase(1811, [tickets,eventb_test,records], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4702 '../prob_examples/public_examples/B/FeatureChecks/SheBang.mch', '-t'
4703 ], 'Test parser accepts she-bang line starting with #!.').
4704 cli_testcase(1812, [smt_solver_integration,private], [
4705 '../prob_examples/public_examples/ProofObligations/GearDoor1_mch.pl',
4706 %'../prob_examples/public_examples/ProofObligations/GearsDoorsHandle3_mch.pl', % mk_expr_skip failed message
4707 '../prob_examples/examples/ProofObligations/ABZ14_Mery/M2_mch.pl',
4708 '../prob_examples/examples/ProofObligations/ABZ14_Mery/M20_mch.pl',
4709 '../prob_examples/examples/ProofObligations/ABZ14_Mery/M3_mch.pl',
4710 '../prob_examples/examples/ProofObligations/ABZ14_Mery/M30_mch.pl',
4711 %'../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel3/m1_true.pl',
4712 '-p', 'DOUBLE_EVALUATION', 'FALSE', '-p','SMT_SUPPORTED_INTERPRETER','TRUE'
4713 %,'../prob_examples/examples/ProofObligations/ABZ14_Mery/M4_mch.pl'
4714 ],'Check Disprover can prove all POs (subset of 1409,1436 for z3)').
4715 cli_testcase(1813, [smt_solver_integration,private], [
4716 '../prob_examples/examples/ProofObligations/Abrial_Ch4_Brp/brp_1_true.pl',
4717 '-p', 'DOUBLE_EVALUATION', 'FALSE', '-p','SMT_SUPPORTED_INTERPRETER','TRUE',
4718 '-check_disprover_result', 7,0,0
4719 ],'Check Disprover can prove all POs; this test also checks register predicate works better').
4720 cli_testcase(1814, [smt_solver_integration,private], [
4721 '../prob_examples/examples/ProofObligations/Abrial_Ch4_Brp/brp_3_true.pl',
4722 '-p', 'DOUBLE_EVALUATION', 'FALSE', '-p','SMT_SUPPORTED_INTERPRETER','TRUE',
4723 '-check_disprover_result', 60,0,0
4724 ],'Check Disprover can prove all POs; this test also checks register predicate works better').
4725 cli_testcase(1815, [smt_solver_integration], [
4726 '../prob_examples/public_examples/ProofObligations/DisproverDefSetTest2_ctx.pl',
4727 '../prob_examples/public_examples/ProofObligations/DisproverDefSetTest3_ctx.pl',
4728 '../prob_examples/public_examples/ProofObligations/DisproverDefSetTest4_ctx.pl',
4729 '-p', 'DOUBLE_EVALUATION', 'FALSE', '-p','SMT_SUPPORTED_INTERPRETER','TRUE',
4730 '-check_disprover_result', 0,0,2
4731 ],'Check Disprover cannot prove po').
4732 cli_testcase(1816, [b_test,external,strings], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4733 '../prob_examples/public_examples/B/ExternalFunctions/SubStringFunctions.mch', '-assertions',
4734 '-evalt', 'INT_TO_DEC_STRING(101,2)="1.01"',
4735 '-evalt', 'INT_TO_DEC_STRING(101,-2)="10100"',
4736 '-evalt', 'INT_TO_DEC_STRING(-1001,2)="-10.01"',
4737 '-evalt', 'INT_TO_DEC_STRING(-101,-2)="-10100"',
4738 '-evalt', 'INT_TO_DEC_STRING(-101,3)="-0.101"',
4739 '-evalt', 'STRING_CONTAINS_STRING("aabb","ab")',
4740 '-evalt', 'STRING_CONTAINS_STRING("aabb","")',
4741 '-evalf', 'STRING_CONTAINS_STRING("aabbab","bbb")'
4742 ], 'Check substring and decimal string conversion external functions.').
4743 cli_testcase(1817, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'CLPFD', 'FALSE',
4744 '-evalt', '{x|x>10 & x<20 & x mod 5=0} = {15}',
4745 '-evalt', 'x>10 & x<20',
4746 '-evalt', 'x>18 & y<1024 & x<20 & y>1020' % does not work yet
4747 %'-evalt', 'x>18 & (y<1024 & (x<20 & y>1020))' % no longer works
4748 ], 'Test detection of intervals when CLPFD disabled').
4749 cli_testcase(1818, [cbc,union], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'CLPFD', 'FALSE',
4750 '-evalt', 'UNION(x).(x:1..RANGE_LAMBDA|{x+1})=res & RANGE_LAMBDA:{10,11} & res = 2..11',
4751 '-evalt', 'UNION(x).(x:1..12|{x+1})={2,3,4,5,6,7,8,9,10,11,12,13}',
4752 '-evalt', 'UNION(x).(x:1..2|{x+y}) = 12..13',
4753 '-evalt', '{y|UNION(x).(x:1..2|{x+y}) = 12..13} = {11}'
4754 ], 'Test UNION translation for singleton set').
4755 cli_testcase(1819, [b_test,strings], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4756 '-evalt', ' "ab c " = \'\'\'ab c \'\'\' ', % "ab c " = '''ab c '''
4757 '-evalf', ' "ab c" = \'\'\'abc\'\'\' ',
4758 '-evalf', ' "abc" = " abc" ',
4759 '-evalt', ' "ab\'c" = "ab\\\'c" ', % a \' inside "..." is now one character
4760 '-evalt', ' "ab\\\'c" /= "ab\\\\\'c" ', % "ab\'c" /= "ab\\'c"
4761 '-evalf', ' "ab\'c" = "ab\\\\\'c" ',
4762 '-evalt', ' "ab\\x" = "ab\\\\x" ',
4763 '-evalt', ' "ab\\\"c" = \'\'\'ab"c\'\'\' ', % "ab\"c" = '''ab"c'''
4764 '-evalt', ' "ab\'c" = \'\'\'ab\'c\'\'\' ' % "ab'c" = '''ab'c'''
4765 ], 'Test alternate STRING literal form with three apostrophes').
4766 cli_testcase(1820, [laws,unicode], ['../prob_examples/public_examples/B/Laws/UnicodeLaws.mch', '-init', '-assertions', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE', '-p', 'CLPFD', 'TRUE', '-mc', 1000, '-nodead'], 'Various laws about Unicode symbols and their ASCII counterpart.').
4767 cli_testcase(1821, [cbc], ['../prob_examples/public_examples/B/TestCaseGeneration/BMC/CounterWrongInit.mch', '-cbc', 'INITIALISATION', '-strict', '-expcterr', 'cbc'], 'Check INITIALISATION counter-example found').
4768 cli_testcase(1822, [cbc], ['../prob_examples/public_examples/B/TestCaseGeneration/BMC/CounterWrongInit.mch', '-cbc', 'all', '-strict', '-expcterr', 'cbc'], 'Check INITIALISATION counter-example found').
4769 cli_testcase(1823, [cbc,bmc], ['../prob_examples/public_examples/B/TestCaseGeneration/BMC/CounterWrongInit.mch', '-bmc', '10', '-strict', '-expcterr', 'invariant_violation'], 'Check INITIALISATION counter-example found').
4770 cli_testcase(1824, [cbc], [
4771 '-evalt', '(not((3 = soda) <=> (soda > coins / coins & coins = coins)) & (coins : NATURAL & soda : NATURAL)) & coins /= 0 ',
4772 '-evalt', '{x,y| y = x/x & x = y+y}= {(2,1)}',
4773 '-evalt', '{x,y| y = x/x & x = y+y+100}= {(102,1)}'
4774 ], 'Check propagation of division x/x').
4775 cli_testcase(1825, [cbc,wd], [
4776 '-evalnwd', 'r = x/x & r<10 & x<1 & x>-1',
4777 '-expcterr', 'well_definedness_error'
4778 ], 'Check propagation of division x/x does not prevent WD error detection').
4779 cli_testcase(1826, [rulesdsl], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4780 '../prob_examples/public_examples/Rules_Machines/SimpleRulesMachine.rmch',
4781 '-execute_all', '-execute_expect_steps', 2,
4782 '-evalt', 'test="SUCCESS"',
4783 '-evalt', 'test_Counterexamples={}'
4784 ], 'Check simple Rules machine').
4785 cli_testcase(1827, [cbc,wd,sequences], ['-p', 'STRING_AS_SEQUENCE', 'TRUE',
4786 '-evalt', '"a" ^ x = "ab" ^ y & x^x = "bb"',
4787 '-evalt', '{x,y|"a" ^ x = "ab" ^ y & x^x = "bb"} = {("b","")}',
4788 '-evalt', '"a"^"b"^"c" = "abc"'
4789 ], 'Check concat operator works on strings').
4790 cli_testcase(1828, [cbc,tickets,union,card], [
4791 '-evalt', '{x,s|union(s) = {} & x<:INTEGER & x:s} = { ({},{{}}) }',
4792 '-evalt', 'union(s) = {} & x<:INTEGER & x:s',
4793 '-evalt', 'union(s) = {} & x<:INTEGER & x:s & card(s)=1',
4794 '-evalf', 'union(s) = {} & x<:INTEGER & x:s & card(s)=2',
4795 '-evalf', 'union(s) = {} & x<:INTEGER & x:s & card(s)=3',
4796 '-evalf', 'union(s) = {} & x<:INTEGER & x:s & card(s)>1',
4797 '-evalf', 'union(s) = {} & s<:POW(1..2) & card(s)>1',
4798 '-evalt', 'union(s) = {1} & s<:POW(1..2) & card(s)>1',
4799 '-evalf', 'union(s) = {1} & s<:POW(1..2) & card(s)>2',
4800 '-evalf', 'union(s) = {1} & s<:POW(1..2) & card(s)=3',
4801 '-evalf', 'union(s) = {TRUE} & s<:POW(BOOL) & card(s)>2',
4802 '-evalf', 'union(s) = {TRUE} & s<:POW(BOOL) & card(s)=3',
4803 '-evalt', 'union(s) = {TRUE} & s<:POW(BOOL) & card(s)=2',
4804 '-evalt', 'union(s) = {TRUE} & s<:POW(BOOL) & card(s)>1',
4805 '-evalt', ' {s,x|x<:{2,3} & x:s & card(s)=2 & {2,3}:s & 2/: x} = {({{},{2,3}}|->{}),({{2,3},{3}}|->{3})}',
4806 '-evalf', 'x<:{2,3} & s = {x} \\/ s2 & card(s)=3 & s2 = {{2,3},{2}} & 2:x'
4807 ], 'Check card operator does not generate solutions with repeated entries').
4808 cli_testcase(1829, [cbc,forall], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4809 '-p', 'DEFAULT_SETSIZE', 5,
4810 '../prob_examples/public_examples/EventBPrologPackages/GraphColouring/Coloring_40_wo_axm9.eventb',
4811 '-p', 'TIME_OUT', '8000', % has gotten slower with SICStus 4.6; especially COLORING1 step
4812 '-t'
4813 ], 'Check forall improvements').
4814 cli_testcase(1830, [cbc,forall], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4815 '-evalt', '!y.(y>3 => !x.(x>2 => TRUE=TRUE))',
4816 '-evalt', '!y.(y>3 => !x.(x>2 => 2>1))',
4817 '-evalt', 'y:4..5 & !y.(y>3 => !x.(x>2 => 2>1))',
4818 '-evalt', '{y|y:3..5 & !y.(y>3 => !x.(x>2 => 1<11))} = 3..5'
4819 ], 'Check forall useless detection improvement').
4820 cli_testcase(1831, [tickets,while,rulesdsl], ['../prob_examples/public_examples/B/Tickets/Hansen34_compile2/FunctionWithWhileLoop.rmch', '-t' ], % increased time-out for jenkins
4821 'Check that compile issue solved when expanding Operation Calls with return parameters').
4822 cli_testcase(1832, [laws], ['../prob_examples/public_examples/B/Laws/BoolWithArithLaws.mch', '-mc', '100000', '-nodead', '-cs', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE'], 'Various laws about BOOL datatype and boolean connectives; this times using arithmetic operators.').
4823 cli_testcase(1833, [laws], ['../prob_examples/public_examples/B/Laws/INTEGERSET_Laws.mch', '-mc', '100000', '-nodead', '-cs', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE', '-assertions'], 'Various laws about BOOL datatype and boolean connectives; this times using arithmetic operators.').
4824 cli_testcase(1834, [performance_tests,b_test,codespeed], ['../prob_examples/public_examples/B/PerformanceTests/EnumeratedSetDetection.mch',
4825 '-t', '-strict', '-p', 'CLPFD', 'TRUE', '-p', 'TIME_OUT', '1000'],
4826 'Test enumerated set detection').
4827 cli_testcase(1835, [tickets], ['../prob_examples/public_examples/B/Tester/NameClashes/scheduler0.mch',
4828 '-p', 'STRICT_CLASH_CHECKING', 'TRUE',
4829 '-init', '-expcterr', 'bmachine_static_checks'],
4830 'Test enumerated set detection (PROB-60)').
4831 cli_testcase(1836, [tickets], [
4832 '../prob_examples/public_examples/B/Tickets/DefinitionCapture/DefCaptureAtelierB.mch',
4833 '../prob_examples/public_examples/B/Tickets/DefinitionCapture/DefCapture.mch',
4834 '-opterr', 'bmachine_static_checks', % forall rhs does not use ids due to capture
4835 '-init', '-expcterr', 'definition_variable_capture'],
4836 'Test detection of variable capture (PROB-71)').
4837 cli_testcase(1837, [tickets,enabling], [
4838 '../prob_examples/public_examples/B/CBC/Enabling/OpCallSelect.mch',
4839 '-feasibility_analysis_csv', 1000, '../prob_examples/public_examples/B/CBC/Enabling/OpCallSelect_feasibility.csv'],
4840 'Test that operation call treated in enabling condition (PROB-379)').
4841 cli_testcase(1838, [cbc,card], [
4842 '-evalt', 'x \\/ y \\/ z = 1..10 & x/\\ y = {} & x /\\ z = {} & y /\\ z = {} & x=1..8 & y={10}',
4843 '-evalt', 'union({x,y,z}) = 1..10 & x/\\ y = {} & x /\\ z = {} & y /\\ z = {} & z=1..7 & y={8,10}',
4844 '-evalt', 'x \\/ y \\/ z = BOOL & x/\\ y = {} & x /\\ z = {} & y /\\ z = {} & x={TRUE} & y={FALSE}',
4845 '-evalt', 'x \\/ y \\/ z = {"a","b","c"} & x/\\ y = {} & x /\\ z = {} & y /\\ z = {} & x={"a"} & y={"b"}',
4846 '-evalt', 'x \\/ y \\/ z = {"a","b","c"} & x/\\ y = {} & x /\\ z = {} & y /\\ z = {} & x={"a"} & y={"b"} & z=s',
4847 '-evalf', 'x \\/ y \\/ z = {"a","b","c"} & x/\\ y = {} & x /\\ z = {} & y /\\ z = {} & x={"a"} & y={"b"} & card(z)=2',
4848 '-evalt', 'x \\/ y \\/ z = {{"a","b"},{"c"},{"d"}} & x/\\ y = {} & x /\\ z = {} & y /\\ z = {} & x={{"c"}} & z={{"d"}}'
4849 ], 'Testing partition propagation (all_but_one_set_known).').
4850 cli_testcase(1839, [cbc], [
4851 '-evalt', '{r,t|{x| bool(x>2)=t & x<5}=r & t=TRUE} = {({3,4}|->TRUE)}',
4852 '-evalt', '{r,t|{x| bool(x<=2)=t & x<5}=r & t=FALSE} = {({3,4}|->FALSE)}'
4853 ], 'Testing bool simplification in b_compiler.').
4854 cli_testcase(1840, [latex, b_test], [
4855 '../prob_examples/public_examples/Latex/tests/ProBLatex.mch', '-init', '-animate', 5,
4856 '-latex', '../prob_examples/public_examples/Latex/tests/prob_latex_doc_raw.tex',
4857 '../prob_examples/public_examples/Latex/tests/prob_latex_doc.tex'
4858 ], 'Testing Latex mode.').
4859
4860 cli_testcase(1841, [cbc], [
4861 '../prob_examples/public_examples/B/Benchmarks/scheduler.mch',
4862 '../prob_examples/public_examples/B/Benchmarks/phonebook7.mch',
4863 '-cbc_redundant_invariants', 0, '-strict'], 'Test searching for redundant invariants').
4864 cli_testcase(1842, [cbc], [
4865 '../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch',
4866 '-expcterr', cbc_redundant_invariants,
4867 '-cbc_redundant_invariants', 0, '-strict'], 'Test searching for redundant invariants').
4868 cli_testcase(1843, [cbc], [
4869 '../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch',
4870 '-cbc_redundant_invariants', 6, '-strict'], 'Test searching for redundant invariants').
4871 cli_testcase(1844, [b_test], ['../prob_examples/public_examples/B/FeatureChecks/SetOperators/TestPartition.mch',
4872 '../prob_examples/public_examples/B/FeatureChecks/SetOperators/TestPartition3.mch',
4873 '../prob_examples/public_examples/B/FeatureChecks/SetOperators/TestPartition2.mch',
4874 '../prob_examples/public_examples/B/Mathematical/LeaderElectionRing.mch',
4875 '-t', '-strict'], 'Test B partition and other tests from Tcl/Tk regression tests').
4876 cli_testcase(1845, [b_test,cruise], ['../prob_examples/examples/B/ClearSy/spec_Cruise/Cruise1.ref',
4877 '-t', '-mc', 100, '-expcterr', 'model_check_incomplete',
4878 '-strict'], 'Test Cruise refinement machine').
4879 cli_testcase(1846, [csp_test], ['../prob_examples/public_examples/CSP/other/Kleine/coz-example.csp',
4880 '-cc', 12886, 38955, '-mc', 20000, '-strict'], 'Test OZ CSP translation and possible CSP process detection').
4881 cli_testcase(1847, [execute,b_test,wd], ['../prob_examples/public_examples/B/Tester/Execute/execute_wd_error.mch',
4882 '-execute', 20, '-expcterr', 'execute', '-expcterr', 'well_definedness_error',
4883 '-nodead', '-nogoal', '-strict', '-goal', 'i=10', '-check_goal'], 'Test WD error caught').
4884 cli_testcase(1848, [cbc,records,card], [
4885 '-evalt', '{rec(a:999,b:999,c:TRUE)}:POW({r|r\'a : 1..1000 & r\'b : 1..1000 & r:struct(a:INTEGER,b:INTEGER,c:BOOL)})',
4886 '-evalt', '{rec(a:999,b:999,c:TRUE),rec(a:1,b:2,c:FALSE)}:POW({r|r\'a : 1..2000 & r\'b : 1..20000 & r:struct(a:INTEGER,b:INTEGER,c:BOOL)})',
4887 '-evalt', '{rec(a:999,b:999,c:TRUE)}:POW({r|r\'a : 1..1000 & r\'b : 1..1000 & r:struct(a:NATURAL,b:NATURAL,c:{TRUE})})',
4888 '-evalt', '{rec(a:999,b:999,c:FALSE)}/:POW({r|r\'a : 1..1000 & r\'b : 1..1000 & r:struct(a:NATURAL,b:NATURAL,c:{TRUE})})',
4889 '-evalf', '{rec(a:999,b:1001,c:TRUE)}:POW({r|r\'a : 1..1000 & r\'b : 1..1000 & r:struct(a:NATURAL,b:NATURAL,c:{TRUE})})',
4890 '-evalf', '{rec(a:999,b:0,c:TRUE)}:POW({r|r\'a : 1..1000 & r\'b : -1..1000 & r:struct(a:NATURAL,b:NATURAL1,c:{TRUE})})',
4891 '-evalt', 'card({r|r\'a : 1..1000 & r\'b : 1..1000 & r:struct(a:INTEGER,b:INTEGER,c:BOOL)}) = 2000000',
4892 '-evalt', 'card({r|r\'a : 1..1000 & r\'b : 1..1000 & r:struct(a:INTEGER,b:NATURAL,c:BOOL)}) = 2000000'
4893 ], 'Testing struct comprehension set detection in ast cleanup.').
4894 cli_testcase(1849, [proz,records], [
4895 '../prob_examples/public_examples/Z/Ledru/RoZ_simple/model.fuzz',
4896 '../prob_examples/public_examples/Z/Ledru/RoZ_simple/model_internal_simplified.mch', '-p', 'ALLOW_COMPLEX_LETS', 'TRUE',
4897 '-t', '-mc', 10, '-strict', '-expcterr', 'model_check_incomplete'], 'Test Z models with complex records,... work').
4898 cli_testcase(1850, [proz,b_test], [
4899 '../prob_examples/public_examples/Z/Ledru/RoZ_simple/model.tex',
4900 '../prob_examples/public_examples/Z/Testcases/comsets.tex',
4901 '../prob_examples/public_examples/Z/Testcases/distributed_concatenation.tex',
4902 '../prob_examples/public_examples/Z/Testcases/compaction.tex',
4903 '../prob_examples/public_examples/Z/Testcases/zrm_refcard_ops.tex',
4904 '-t', '-mc', 10, '-nodead', '-strict', '-opterr', 'model_check_incomplete'], 'Test loading .tex file works').
4905 cli_testcase(1851, [cbc], [
4906 '-evalt_file', '../prob_examples/public_examples/Eval/synthesis/synthesis_constraint_restricted_domains_smaller_library.eval'
4907 ], 'Test solving a complicated synthesis constraint').
4908 cli_testcase(1852, [b_test,refinement], [
4909 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4910 '../prob_examples/public_examples/B/RefinementChecking/Simple/Spec1_with_new_op_err.ref',
4911 '-init','-expcterr', 'type_error',
4912 '-opterr', 'load_main_file', % prob now emits a warning rather than an error, and can thus load the file
4913 '-strict'], 'Test ALLOW_NEW_OPERATIONS_IN_REFINEMENT preference').
4914 cli_testcase(1853, [b_test,refinement], [
4915 '../prob_examples/public_examples/B/RefinementChecking/Simple/Spec1_with_new_op.ref',
4916 '-t', '-mc', 10, '-strict'], 'Test ALLOW_NEW_OPERATIONS_IN_REFINEMENT preference').
4917 cli_testcase(1854, [cbc,records], [
4918 '-evalt', 'union(ran(f)) <: 2..3 & f = %x.(x:n..(n+1)|{x}) & n:1..1500000',
4919 '-evalt', 'union(ran(f)) : POW(2..3) & f = %x.(x:n..(n+1)|{x}) & n:1..1500000'
4920 ], 'Testing ast cleanup improvement.').
4921 cli_testcase(1855, [slot,tickets,private,xml, unsat_core], [
4922 '../prob_examples/examples/B/SlotTool/Ticket_11092017/Solver.mch',
4923 '-init',
4924 '-expcterrpos', definition_variable_capture, 279, 12,
4925 '-eval', 'UNSAT_CORE_SESSIONS({group3, group4})',
4926 '-evalt', 'UNSAT_CORE_SESSIONS({group3, group4})={session3,session4}', '-strict'],
4927 'Test instantiate to any issue solved').
4928 cli_testcase(1856, [b_test,external,closure1], [
4929 '../prob_examples/public_examples/B/ExternalFunctions/UGraphsFunctions.mch',
4930 '-init', '-assertions'], 'Test CLOSURE1 and SCCS external functions').
4931 cli_testcase(1857, [tickets,b_test], [
4932 '../prob_examples/public_examples/B/Tickets/PROB-403/CONTEXT_JUST_SETS.mch',
4933 '../prob_examples/public_examples/B/Tickets/PROB-403/CONTEXT2.mch', % does work now: constants are no longer up multiple times (but properties are still included multiple times)
4934 '-t' ],
4935 'Check constants, sets, ... can be included multiple times without prefix (PROB-403)').
4936 cli_testcase(1858, [proz,records], [
4937 '../prob_examples/public_examples/Z/Ledru/RoZ_constraint/model.zed',
4938 %'../prob_examples/public_examples/Z/Ledru/RoZ/model.tex',
4939 '-t', '-mc', 10, '-strict', '-expcterr', 'model_check_incomplete'], 'Test Z models using new rec__ SYMBOLIC annotation and do_not_enumerate_binary_boolean_operator/wfx_no_enumeration').
4940 cli_testcase(1859, [b_test,external,strings,wd], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4941 '../prob_examples/public_examples/B/ExternalFunctions/SubStringFunctions.mch',
4942 '-evalnwd', 'STRING_TO_INT("1.1")',
4943 '-expcterr', well_definedness_error
4944 ], 'Check that error raised when converting float to int.').
4945 cli_testcase(1860, [b_test,card], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4946 '../prob_examples/public_examples/B/PerformanceTests/CardPropagation/DeferredSetSurjectionTest.mch',
4947 '-init'
4948 ], 'Check that cardinality of deferred set adjusted for surjections.').
4949 cli_testcase(1861, [b_test,wd], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4950 '-evalnwd', '[11,22,33] /|\\ 4',
4951 '-expcterr', well_definedness_error
4952 ], 'Check wd error for prefix sequence.').
4953 cli_testcase(1862, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4954 '-evalt', '{x,y|x:INTEGER & y=x+1} = r & r2 = r~ & res = r2[{22,23}] & SIGMA(xx).(xx:res|xx)=43',
4955 '-evalt', '{x,y|x:INTEGER & y=x+1} = r & r2 = r~ & res = r2[{x}] & SIGMA(x).(x:res|x)=x-1 & x:{50,51}'
4956 ], 'Check that relational inverse works on infinite set').
4957 cli_testcase(1863, [b_test,wd], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4958 '-p', 'TRY_FIND_ABORT', 'TRUE',
4959 '-evalnwd', 'f : 1..2 +-> 3..4 & f(3) = 3',
4960 '-expcterr', well_definedness_error
4961 ], 'Check wd error for function application outside of domain.').
4962 cli_testcase(1864, [b_test,wd], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4963 '-p', 'TRY_FIND_ABORT', 'TRUE',
4964 '-evalnwd', 'f : 1..2 --> 3..4 & f(3) = 3', % total function; hits another area of ProB source code
4965 '-expcterr', well_definedness_error
4966 ], 'Check wd error for function application outside of domain.').
4967 cli_testcase(1865, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4968 '-evalt', 'idc = {x,y|x:INTEGER & y:INTEGER & y=x} & res = idc[{550}] & res = {550}',
4969 '-evalt', 'idc = {x,y|x:INTEGER & y:NATURAL & y=x} & res = idc[{550}] & res = {550}',
4970 %'-evalt', 'idc = {x,y|x:NATURAL & y:NATURAL & y=x} & res = idc[{550}] & res = {550}',
4971 '-evalt', 'idc = {x,y|x:INTEGER & y:NATURAL & y=x} & res = idc[{-550}] & res={}',
4972 '-evalt', 'idc = {x,y|x:INTEGER & y:INTEGER & y=x} & dom(idc)=INTEGER'
4973 ], 'Check that id closures can be manipulated').
4974 cli_testcase(1866, [b_test,wd], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4975 '-evalnwd', '22 mod -3',
4976 '-expcterr', well_definedness_error
4977 ], 'Check wd error for modulo negative number.').
4978 cli_testcase(1867, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4979 '-p', 'REMOVE_IMPLIED_CONSTRAINTS', 'TRUE',
4980 '-evalt', 'n=1000 & f:1..n --> BOOL & f:1..n +-> BOOL & !x.(x:dom(f) => f(x) = bool(x>50)) & f: 1..n <-> BOOL & dom(f)=1..n'
4981 ], 'Exercise REMOVE_IMPLIED_CONSTRAINTS').
4982 cli_testcase(1868, [while,private,xml], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4983 '../prob_examples/examples/B/Thales/Ticket_closure_body_enum/ENV_Model.prob',
4984 %'../prob_examples/examples/B/Thales/Ticket_closure_body_enum/src/test/environment/ENV_Model.mch',
4985 '-t'
4986 ], 'Check that closure body enumeration in while issue fixed.').
4987 cli_testcase(1869, [b_test],
4988 [%'../prob_examples/public_examples/B/Benchmarks/scheduler.mch', % does not work with non-det
4989 '../prob_examples/public_examples/B/Benchmarks/phonebook7.mch',
4990 '-strict','-t',
4991 '-p', 'MAX_OPERATIONS', 0], 'Check that trace replay works with MAX_OPERATIONS == 0').
4992 cli_testcase(1870, [b_test,while],
4993 ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
4994 '-p', 'TYPE_CHECK_DEFINITIONS', 'TRUE',
4995 '../prob_examples/public_examples/B/Tester/OpCalls/GetTrain2.mch',
4996 '../prob_examples/public_examples/B/Tester/OpCalls/SwitchParameters2.mch',
4997 '../prob_examples/public_examples/B/Tester/OpCalls/GetTrain_v2/GetTrain2.mch',
4998 '../prob_examples/public_examples/B/Tester/OpCalls/GetTrain_v2/GetTrain2_LargeVariant.mch',
4999 '../prob_examples/public_examples/B/Tester/OpCalls/GetTrain_v2/GetTrain3.mch',
5000 '../prob_examples/public_examples/B/Tester/OpCalls/ReadOutput/OpCallR.ref',
5001 '-strict','-t'], 'Check that OpCalls can be used to assign output with same result variable name').
5002 cli_testcase(1871, [b_test],
5003 ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5004 '../prob_examples/public_examples/B/Tester/OpCalls/ReadOutput/OpCallErrR.ref', '-mc', 10, '-nodead',
5005 '-strict', '-expcterr', 'precondition_error'
5006 ], 'Check that precondition_error on output variable previous value detected').
5007 cli_testcase(1872, [b_test,external,strings], [
5008 '../prob_examples/public_examples/B/ExternalFunctions/TestLibraryStrings.mch',
5009 '-p', 'TYPE_CHECK_DEFINITIONS', 'TRUE',
5010 '-evalt', 'STRINGIFY("abc\\nef") = "\\"abc\\\\nef\\""',
5011 '-init', '-assertions'], 'Test STRING_TO_ENUM and STRINGIFY external functions and escaping').
5012 cli_testcase(1873, [b_test,external,rulesdsl], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5013 '-p', 'TYPE_CHECK_DEFINITIONS', 'TRUE',
5014 '../prob_examples/public_examples/Rules/CSV/RulesChemistry.rmch',
5015 '-execute_all', '-execute_expect_steps', 5,
5016 '-evalt', 'check_atomic_number="SUCCESS"', '-evalt', 'check_atomic_number_Counterexamples={}',
5017 '-evalt', 'check_atomic_weight_increasing="FAIL"', '-evalt', 'check_atomic_weight_increasing_Counterexamples={(1|->"Atomic weight not increasing for element: 18 Argon with aw=399480, next aw =390983 of Potassium\\n"),(1|->"Atomic weight not increasing for element: 27 Cobalt with aw=589332, next aw =586934 of Nickel\\n"),(1|->"Atomic weight not increasing for element: 52 Tellurium with aw=1276000, next aw =1269045 of Iodine\\n"),(1|->"Atomic weight not increasing for element: 90 Thorium with aw=2320381, next aw =2310359 of Protactinium\\n"),(1|->"Atomic weight not increasing for element: 92 Uranium with aw=2380289, next aw =2370480 of Neptunium\\n"),(1|->"Atomic weight not increasing for element: 94 Plutonium with aw=2440642, next aw =2430614 of Americium\\n")}',
5018 '-evalt', 'compute_atomic_weights="EXECUTED"',
5019 '-evalt', 'import_data="EXECUTED"'
5020 ],
5021 'Check Rules DSL example with CSV reading').
5022 cli_testcase(1874, [b_test,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5023 '-evalt', '%x.(x:NATURAL|x) : NATURAL --> NATURAL',
5024 '-evalf', '%x.(x:NATURAL|x) : INTEGER --> NATURAL',
5025 '-evalf', '%x.(x:NATURAL|x) : NATURAL1 --> NATURAL',
5026 '-evalf', '%x.(x:NATURAL1|x) : NATURAL --> NATURAL',
5027 '-evalt', '%x.(x:NATURAL|x+1) : NATURAL --> NATURAL',
5028 '-evalt', '%x.(x:NATURAL|x+1) : NATURAL --> NATURAL1',
5029 '-evalf', '%x.(x:NATURAL|x-1) : NATURAL --> NATURAL',
5030 '-evalt', '%(x,y).(x:NATURAL&y:NATURAL|x+y) : NATURAL*NATURAL --> NATURAL',
5031 '-evalf', '%(x,y).(x:NATURAL&y:NATURAL|x+y) : NATURAL*NATURAL --> NATURAL1',
5032 '-evalt', '%(x,y).(x:1..100 & y:1..100|x+y) : (1..100)*(1..100) --> (2..200)',
5033 '-evalt', '%(x,y).(x:1..100 & y:1..100|x+y) : (1..100)*(1..100) --> (1..10000)',
5034 '-evalf', '%(x,y).(x:1..100 & y:1..100|x+y) : (1..100)*(1..100) --> (3..200)',
5035 '-evalt', '%(x,y).(x:1..100 & y:1..100|x*y) : (1..100)*(1..100) --> (1..10000)',
5036 '-evalf', '%(x,y).(x:1..100 & y:1..100|x*y) : (1..100)*(1..100) --> (2..10000)',
5037 '-evalf', '%(x,y).(x:1..100 & y:1..101|x*y) : (1..100)*(1..101) --> (1..10000)',
5038 % '-evalt', '%(x,y).(x:0..999 & y:0..999|(x*y) mod 1000) : (0..999)*(0..999) --> (0..999)', % slow due to expansion
5039 '-evalt', '%(x,y).(x:0..9999 & y:0..9999|(x*y) mod 10000) : (0..9999)*(0..9999) --> (0..9999)',
5040 % TO DO:
5041 % {x|x:NATURAL*NATURAL & prj1(INTEGER,INTEGER)(x)=prj2(INTEGER,INTEGER)(x)} : NATURAL --> NATURAL % not detected as lambda,
5042 '-evalt', '%(aa).(aa : INTEGER | [aa]) : INTEGER --> seq(INTEGER)',
5043 %'-evalf', '%(aa).(aa : INTEGER | [aa]) : INTEGER --> seq(NATURAL)', % succeeds but has non-critical enum warning
5044 '-evalt', '%(aa).(aa : NATURAL1 | [aa]) : NATURAL1 --> seq(NATURAL1)',
5045 '-evalt', 'n=16 & cc = /*@symbolic*/ %ui.(ui:0..((2**n)-1) | ui/(2**8)) & cc:(0..((2**n)-1))--> 0..255',
5046 '-evalf', 'n=16 & cc = /*@symbolic*/ %ui.(ui:0..((2**n)-1) | ui/(2**8)) & cc:(0..((2**n)-1))--> 0..254'
5047 ], 'Check new symbolic total function range detection').
5048 cli_testcase(1875, [b_test,external], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5049 '../prob_examples/public_examples/B/ExternalFunctions/TestBitLibrary.mch',
5050 '-p', 'TYPE_CHECK_DEFINITIONS', 'TRUE',
5051 '-init', '-assertions'
5052 ], 'Check new bitwise external functions BAND, BOR, BXOR,...').
5053 cli_testcase(1876, [error_checks,b_test], ['../prob_examples/public_examples/B/ErrorMachines/TypeErrorUnusedDefinition.mch',
5054 '-p', 'TYPE_CHECK_DEFINITIONS', 'TRUE',
5055 '-expcterrpos', definition_type_error, 9, 21,
5056 '-expcterrpos', definition_type_error, 10, 35,
5057 '-expcterrpos', definition_type_error, 10, 39
5058 ], 'Check type error in unused DEFINITION detected').
5059 cli_testcase(1877, [b_test,external,random], [
5060 '../prob_examples/public_examples/B/ExternalFunctions/TestLibraryRandom.mch',
5061 '-mc', 100, '-assertions'], 'Test random_subset, random_permutation').
5062 cli_testcase(1878, [tickets,private], [
5063 '../prob_examples/examples/B/Alstom/Ticket_Nov28_2017/scheduler_pb.mch', '-t',
5064 '-p', 'SYMBOLIC', 'TRUE',
5065 '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647, '-check_goal',
5066 '-evalt', 'x:in_cmd_signals',
5067 '-evalt', 'in_cmd_signals : t_signal --> t_color', '-p', 'TIME_OUT', '7000'
5068 ], 'Test symbolic override works as expected').
5069 cli_testcase(1879, [b_test,closure1,infinite,wd], ['../prob_examples/public_examples/B/Tickets/Hansen7/ClosureTest.mch', '-init', % '-expecterr', 'virtual_time_out', % reflexive closure now detected infinite
5070 '-expcterr', 'setup_constants_fails',
5071 '-opterr', 'setup_constants_inconsistent', % we now also generate this msg when not all csts are found deterministically
5072 '-opterr', 'setup_constants_unknown', '-opterr', 'virtual_time_out', '-opterr', 'well_definedness_error' % with changes from May 15th 2026 properties which do not affect constants are processed at the end; hence WD error now caught
5073 ], 'Check closure now infinite').
5074 cli_testcase(1880, [b_test,closure1], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5075 '-evalt', '22|->22 : closure({})',
5076 '-evalf', '22|->21 : closure({})',
5077 '-evalt', '22|->22 : iterate({},0)',
5078 '-evalt', '11|->66 : closure({11|->22,22|->33,22|->44,33|->55,33|->66})',
5079 '-evalt', '{100|->100,11|->66} <: closure({11|->22,22|->33,22|->44,33|->55,33|->66})',
5080 '-evalt', 'closure1({11|->22,22|->33,22|->44,33|->55,33|->66}) <: closure({11|->22,22|->33,22|->44,33|->55,33|->66})',
5081 '-evalf', '33|->22 : closure({11|->22,22|->33,22|->44,33|->55,33|->66})'
5082 ], 'Check some reflexive closure predicates').
5083 cli_testcase(1881, [cbc,symmetry_test], ['../prob_examples/public_examples/B/SymmetryReduction/StaticSymmetryReduction/DefSetTest1.mch', '-mc', '15',
5084 '-nodead',
5085 '-cc', '7', '6', '-strict' ], 'Check that static symmetry reduction works as expected').
5086 cli_testcase(1882, [b_test,closure1,forall], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5087 '-evalt', '!(x,y).(x:S & y:S => (x>y => x=y+2)) & S = {0,x} & x>0',
5088 '-evalf', '!(x,y).(x:S & y:S => (x>y => x=y+2)) & S = {0,x,y} & x>y & y>0',
5089 '-evalf', '!(x,y).(x:y & y<:1..2 => x>2)'
5090 ], 'Test forall splitting').
5091 cli_testcase(1883, [b_test,closure1], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5092 '-evalf', 'x: 1..n --> 1..n & closure1(x)[{1}] = {} & n=25',
5093 '-evalt', 'x: 1..n --> 1..n & closure1(x)[{1}] = 3..n & n=7'
5094 ], 'Check image for closure1 improvements').
5095 cli_testcase(1884, [b_test,card], ['../prob_examples/public_examples/B/FeatureChecks/DeferredSetAndConstants2.mch', '-mc', '5',
5096 '-nodead',
5097 '-cc', '3', '2', '-strict'], 'Check that enumerated set / partition detection works').
5098 cli_testcase(1885, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5099 '-p', 'TRY_FIND_ABORT', 'FALSE',
5100 '-evalf', 'f = %x.(x:1..90|100+x) & f(v)+f(w)+f(y)+f(z) < 400',
5101 '-evalf', 'f = %x.(x:1..90|rec(a:100+x,b:x)) & f(v)\'a+f(w)\'a+f(y)\'a+f(z)\'a < 400',
5102 '-evalt', 'v={1|->rec(a:11,b:22), 2|->rec(a:22,b:33)}& r={x|v(x)\'b = x}'
5103 ], 'Test improved propagation for function application, also in combination with record field reduction in b_compiler').
5104 cli_testcase(1886,[private, data_validation,alstom,codespeed],[
5105 '../prob_examples/examples/B/Alstom/sgd_Jun11/vital_gradient_v3/vital_gradient_optimized.mch',
5106 '-p', 'DATA_VALIDATION', 'TRUE', % data_validation_mode preference
5107 '-p', 'CLPFD', 'TRUE', '-p', 'MAXINT', '2147483647', '-p', 'MININT', '-2147483648', '-p', 'TIME_OUT', '35000', '-t'],
5108 'test 1105 in DATA_VALIDATION mode').
5109 cli_testcase(1887, [b_test,symmetry_test], [
5110 '../prob_examples/public_examples/B/SymmetryReduction/StaticSymmetryReduction/DefSetPartTest1.mch',
5111 '../prob_examples/public_examples/B/SymmetryReduction/StaticSymmetryReduction/DefSetPartTest2.mch',
5112 '../prob_examples/public_examples/B/SymmetryReduction/StaticSymmetryReduction/DefSetPartTest3.mch',
5113 '../prob_examples/public_examples/B/SymmetryReduction/StaticSymmetryReduction/DefSetPartTest4.mch',
5114 '../prob_examples/public_examples/B/SymmetryReduction/StaticSymmetryReduction/DefSetPartTest5.mch',
5115 '-mc', '1000', '-nodead', '-nogoal', '-assertions', '-strict'], 'Check that partition symmetry reduction works').
5116 cli_testcase(1888, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5117 '-p', 'TRY_FIND_ABORT', 'FALSE',
5118 '-evalnwd', 'v = %x.(x:1..20|x+x) & y<4 & z=v(y) & (y:{-1,2}) & y /= 2',
5119 '-expcterr', well_definedness_error
5120 ], 'Test improved propagation for function application does not prevent finding WD problem').
5121 cli_testcase(1889, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5122 '-p', 'TRY_FIND_ABORT', 'FALSE',
5123 '-evalnwd', 'v = %x.(x:1..20|x+x) & {y,z|y<4 & z=v(y) & (y:{-1,2})} =res',
5124 '-expcterr', well_definedness_error
5125 ], 'Test improved propagation for function application does not prevent finding WD problem').
5126 cli_testcase(1890, [private,data_validation], ['../prob_examples/examples/B/Systerel/C578/2013/machines_24092013/07_001.mch',
5127 '-init' ,'-assertions', '-p', 'SYMBOLIC', 'TRUE', '-p', 'MEMO', 'TRUE', '-p', 'TIME_OUT', 39500,
5128 '-p', 'DETECT_LAMBDAS', 'TRUE',
5129 '-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', 0 ], 'Test 1161 with lambda detection').
5130 cli_testcase(1891, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5131 '../prob_examples/public_examples/B/CBC/Tests/TestSequenceVariable.mch',
5132 '-cbc', 'all', '-expcterr', cbc
5133 ], 'Test cbc finds error with sequence type').
5134 cli_testcase(1892, [cbc,symmetry_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5135 '../prob_examples/public_examples/B/CBC/Tests/TestPartitionStaticSymReduction.mch',
5136 '-cbc', 'all'
5137 ], 'Test static symmetry reduction works with cbc').
5138 cli_testcase(1893, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5139 '-evalf', '{1,2}*(1..1000) = {}',
5140 '-evalt', '{1,2}*(1..1000) /= {}',
5141 '-evalf', '{1,2}*x = {} & x<:INTEGER & 22:x',
5142 '-evalt', '{1,2}*x /= {} & x<:INTEGER & 22:x',
5143 '-evalf', 'x*x = {} & x<:INTEGER & 22:x',
5144 '-evalt', 'x*x /= {} & x<:INTEGER & 22:x'
5145 ], 'Test improved detection of empty cartesian product closures').
5146 cli_testcase(1894, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5147 '../prob_examples/public_examples/B/CBC/RiverCrossing_BMC.mch',
5148 '-init', '-assertions', '-model-check', '-nogoal', '-nodead'
5149 ], 'Test constraints solved quickly').
5150 cli_testcase(1895, [b_test,let], [
5151 '-evalt', '40 = LET i,j BE i=10 & j=i+20 IN i+j END'
5152 ], 'ensure error in nested LET expression detected').
5153 cli_testcase(1896, [proz,let], [ '../prob_examples/public_examples/Z/Daniel/tests/let.tex', '-t',
5154 '-mc', 2000, '-cc', 1839, 4195
5155 ], 'ensure Zed LETs treated correctly').
5156 cli_testcase(1897, [cbc,card], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5157 '-evalt', 'card(%(x,y).(x:(1..10) --> BOOL&y:iseq(1..2)|1)) = 5120',
5158 '-evalt', 'card(%(x,y).(x:(1..10) --> BOOL&y:(1..10) --> BOOL|1))>100',
5159 '-evalt', 'card(%(x,y).(x:(1..10) --> BOOL&y:(1..10) +-> BOOL|1))>100',
5160 '-evalt', 'card(%(x,y).(x:(1..10) -->> BOOL&y:(1..10) +->> BOOL|1))>100',
5161 '-evalt', 'card(%(x,y).(x:(1..10) <-> BOOL&y:(1..10) >->> (2..11)|1))>100'
5162 ], 'Test improved detection of cartesian product closures').
5163 cli_testcase(1898, [tickets,strings], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5164 '-evalt', 'x = "a\\\\" & y="bcd"',
5165 '-evalf', 'x = "a\\\\" & x="a"'
5166 ], 'Test \\ at end of string (no pushback overflow)').
5167 cli_testcase(1899, [tickets,proz,private], [ '-p', 'MAX_OPERATIONS', 900, % TO DO: try and reduce the need for this high value
5168 '../prob_examples/examples/Z/Patterns/forProB/ReturnHome ProZ v1.tex',
5169 '-t', '-model-check'],
5170 'Ensure no timeouts').
5171 cli_testcase(1900, [tickets,proz,private], [ '-p', 'MAX_OPERATIONS', 1800,
5172 '../prob_examples/examples/Z/Patterns/forProB/ReturnHome ProZ v2.tex',
5173 '-t', '-model-check'],
5174 'Ensure no timeouts').
5175 cli_testcase(1901, [tickets, let], [
5176 '../prob_examples/public_examples/B/ErrorMachines/LET_Illegal.mch',
5177 '-expcterrpos', type_error, 14, 35, '-expcterrpos', type_error, 14, 53, '-expcterr', load_main_file],
5178 'check illegal LET detected').
5179 cli_testcase(1902, [tickets,private,data_validation,let], [
5180 '../prob_examples/examples/B/Alstom/Ticket_LET_Mar26_2018/essai.mch',
5181 '-expcterrpos', type_error, 25, 5, '-expcterr', load_main_file],
5182 'check illegal LET detected and no infinite loop in typechecker').
5183 cli_testcase(1903, [b_test,infinite,total_function], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5184 '-evalt', 'f = NATURAL1 * {22} & f: NATURAL1 --> NATURAL',
5185 '-evalt', 'f = %x.(x:NATURAL1|x+1) & f: NATURAL1 --> NATURAL',
5186 '-evalf', 'f = %x.(x:NATURAL|x+1) & f: NATURAL1 --> NATURAL',
5187 '-evalt', 'f = /*@symbolic*/ {x|x:NATURAL1*INTEGER & prj2(INTEGER,INTEGER)(x)=prj1(INTEGER,INTEGER)(x)+1} & r = f(2)',
5188 % '-evalt', 'f = /*@symbolic*/ {x|x:NATURAL1*INTEGER & prj2(INTEGER,INTEGER)(x)=prj1(INTEGER,INTEGER)(x)+1} & f: NATURAL1 --> NATURAL' % TODO
5189 %'-evalf', 'f = NATURAL1 * {22,33} & f: NATURAL1 --> NATURAL' %% TO DO
5190 '-evalt', ' %(x,z).(x:NATURAL & z:NATURAL|x+z) : (NATURAL*NATURAL)-->NATURAL',
5191 '-evalt', ' %(x,z).(x:NATURAL & z:NATURAL|max({z,x,x/z,-x})) : (NATURAL*NATURAL)-->NATURAL'
5192 %'-evalf', '%(x,z).(x:NATURAL & z:NATURAL|min({z,x,x/z,-x})) : (NATURAL*NATURAL)-->NATURAL' % raises enum warning; but finds counter example; see test 1956
5193 ], 'Test symbolic treatment of total function').
5194 cli_testcase(1904,[enabling,private,read_write],[
5195 '../prob_examples/examples/B/ASTD/wetransfer-545a33/Case_Study_Handmade/TRAIN_CONTROL_M6.mch',
5196 '-t',
5197 '-read_write_matrix_csv', '../prob_examples/examples/B/ASTD/wetransfer-545a33/Case_Study_Handmade/TRAIN_CONTROL_M6_rw_matrix.csv'
5198 ], 'Check read-write-matrix with nested operation calls.').
5199 cli_testcase(1905, [b_test,infinite,total_function,card], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5200 '-p', 'CLPFD', 'FALSE', '-p', 'DISPROVER_MODE', 'TRUE',
5201 '-evalt', 'card({x|x > 2 & x mod 2 =0 & x<=10})=4',
5202 '-evalt', '{x|x > 2 & x mod 2 =0 & x<=10} = {4,6,8,10}',
5203 '-evalt', '{x|x > 2 & x mod 2 =0 & x<10} = {4,6,8}',
5204 '-evalt', '{x|x >= 2 & x mod 2 =0 & x<10} = {2,4,6,8}',
5205 '-evalt', '{x|x : NATURAL & x mod 2 = 0 & x <= 10} = {0,2,4,6,8,10}',
5206 '-evalt', '{x|x : NATURAL1 & x mod 2 = 0 & x <= 10} = {2,4,6,8,10}'
5207 ], 'Test improved integer enumeration in non-CLPFD mode').
5208 cli_testcase(1906, [b_test,while,private,records],
5209 ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5210 '-p', 'TYPE_CHECK_DEFINITIONS', 'TRUE',
5211 '../prob_examples/examples/B/SupervisoryControl/obs1/DES_12_3_Prop4_H_Fig8b_PartitionV1.mch',
5212 '-strict','-t'], 'Check that type checking definitions not confounded by parameter/variable A clash').
5213 cli_testcase(1907,[csp_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5214 '../prob_examples/public_examples/CSP/Tickets/WilliamsCSPB/AirportsCtrl.csp',
5215 '-t', '-strict'], 'Testing example with src_span_operator.').
5216 cli_testcase(1908,[csp_test,private], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5217 '../prob_examples/examples/B/ASTD/Library/Library_2_1.csp',
5218 '-t', '-mc', 90, '-strict'], 'Test state space finite using new [] normalisation rule.').
5219 cli_testcase(1909, [ltl,xtl], ['../prob_examples/public_examples/XTL/BauerZiege.P',
5220 '-ltlformulat', 'G not(deadlock)',
5221 '-ltlformulaf', 'G not(e(move))',
5222 '-ltlformulaf', 'G not({unsafe})'], 'Test XTL LTL example').
5223 cli_testcase(1910, [b_test,pragmas], [
5224 '../prob_examples/public_examples/B/Pragmas/package_pragma/a/aa/Machine_A.mch',
5225 '-init'], 'Test package pragme with dot').
5226 cli_testcase(1911, [tickets,tla,wd], [
5227 '../prob_examples/public_examples/TLA/Thales/PingPong/scn_1_node.tla',
5228 '../prob_examples/public_examples/TLA/Thales/PingPong_ASSERT/scn_1_node.tla',
5229 '-t', '-mc', 40], 'Check no wd errors thrown').
5230 cli_testcase(1912, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5231 '-evalf', 'NATURAL \\{1} \\ {2} = NATURAL \\ {3} \\ {1}',
5232 '-evalt', 'NATURAL \\{1} \\ {2} = NATURAL \\ {2} \\ {1}',
5233 '-evalt', 'NATURAL \\{12} \\ {22} = NATURAL \\ {22} \\ {12}',
5234 '-evalt', 'NATURAL1 \\{12} \\ {22} = NATURAL1 \\ {22} \\ {12}',
5235 '-evalt', 'NATURAL \\{0} \\ {2} = NATURAL \\ {2} \\ {0}',
5236 '-evalt', 'NATURAL \\{0} \\ {1} = NATURAL \\ {1} \\ {0}',
5237 '-evalf', 'NATURAL \\{0} \\ {2} = NATURAL \\ {1} \\ {0}',
5238 '-evalf', 'NATURAL \\{0} \\ {1} = NATURAL \\ {2} \\ {0}',
5239 '-evalt', 'NATURAL1 \\{12} \\ {22} = NATURAL \\ {22} \\ {12} \\ {0}',
5240 '-evalf', 'NATURAL1 \\{12} = NATURAL \\{12}',
5241 '-evalf', '{x|x>22 & x<100} = {y|y>=k}',
5242 '-evalt', '{x|x>22} = {y|y>=k}',
5243 '-evalt', '{x|x>22} = {x|x>=k}',
5244 '-evalt', '{x|x>22 & x<100} = {y|y>=k & y<m}',
5245 '-evalt', '{x,y|x>22&y>100} = /*@symbolic*/ {y1,x1|x1>k & y1>m}',
5246 '-evalf', 'NATURAL1 = NATURAL - {1}',
5247 '-evalt', 'NATURAL1 = NATURAL - {0}',
5248 '-evalt', 'NATURAL1 = NATURAL1 - {0}',
5249 '-evalf', '{x|x>0 & x mod 22 = 0 & x < 1000} = NATURAL'
5250 %'-evalf', '{x|x>0 & x mod 22 = 0 & x < 1000} = NATURAL \\{12}' % commented out for the moment; conflict with 1081
5251 ], 'ensure symbolic treatment of equality').
5252 cli_testcase(1913, [cbc], [
5253 '-evalf', '{x|x>0 & x mod 22 = 0} = NATURAL \\{12}',
5254 '-evalf', '{x|x>0 & x mod 2 = 0} = {x|x>0 & x mod 3 = 0}',
5255 '-evalt', '{x|x>0 & x /= 22} = {x|x>0 & (x = 22 => x>22)}',
5256 '-evalf', 'NATURAL1 \\{12} = INTEGER \\{12}'
5257 ], 'ensure symbolic treatment of equality').
5258 cli_testcase(1914, [cbc,sequences,sigma], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5259 '-evalt', 'x:iseq(50001..50002) & y:1..100005 & SIGMA(yy).(yy:1..size(x)|x(yy)) = y & y>50002',
5260 '-evalt', 'x:iseq(50001..50002) & y:1..100005 & SIGMA(yy).(yy:dom(x)|x(yy)) = y & y>50002',
5261 '-evalt', 'x:iseq(80001..80002) & y:1..100005 & SIGMA(yy).(yy:dom(x)|x(yy)) = y'
5262 ], 'ensure earlier enumeration of iseq').
5263 cli_testcase(1915, [cbc,private,enabling,wd], ['../prob_examples/examples/B/Alstom/etcs/actions_scn_f6_372_bis.mch',
5264 '-feasibility_analysis_csv', 1000, '../prob_examples/examples/B/Alstom/etcs/actions_feasibility.csv'
5265 ], 'Check that feasibility can be shown without wd errors').
5266 cli_testcase(1916,[cbc],[
5267 '../prob_examples/public_examples/EventBPrologPackages/Advance/CAN_Bus/CB3FSMM_mch_v2.eventb',
5268 '-cbc', 'T2ReleaseBus', '-expcterr', 'cbc'
5269 ], 'Check invariant violation found despite use of unproven finite() in invariant').
5270 cli_testcase(1917, [b_test,card], ['-strict', '../prob_examples/public_examples/B/FeatureChecks/DeferredSetMaxCardWithUnion.mch', '-init' ,'-assertions'], 'check enumerated set detected despite use of subsidiary identifier').
5271 cli_testcase(1918, [refinement], ['../prob_examples/public_examples/B/EventB_AtelierB/SimpleCounter1.ref',
5272 '-t', '-mc', 100, '-cc', 10, 28,
5273 '-strict'], 'Test ref keyword for Atelier-B Event-B model').
5274 cli_testcase(1919, [external], ['../prob_examples/public_examples/B/ExternalFunctions/SORT_External.mch',
5275 '-assertions', '-t'], 'test SORT and SQUASH external functions').
5276 cli_testcase(1920,[while, codespeed],[
5277 '../prob_examples/public_examples/B/PerformanceTests/While/LiftExec.mch','-strict',
5278 '-init', '-property', 'LIM=500', '-p', 'TIME_OUT', 2500,
5279 '-animate', 1,
5280 '-goal', 'counter=LIM', '-check_goal' ], 'Performance of while loop').
5281 cli_testcase(1921,[wd, error_checks],[
5282 '../prob_examples/public_examples/B/ErrorMachines/WD_SetCompr_Error.mch', '-strict',
5283 '-init', '-expcterr', well_definedness_error,
5284 '-opterr', 'setup_constants_fails', % as of 17.3.2023 we have partial_setup_constants
5285 '-opterr', setup_constants_unknown
5286 ], 'Check error detected and no constants found').
5287 cli_testcase(1922,[wd, tickets],[
5288 '../prob_examples/public_examples/B/Tickets/VBF_DB_EnumWarning/Ticket.mch', '-strict',
5289 '-init'
5290 ], 'Check no enum warning raised due to large CLPFD interval but small fd_size').
5291 cli_testcase(1923, [tickets,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5292 '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647,
5293 '-evalt', 'x <: INT - {0}',
5294 '-evalf', '{0,1,2} <: INT - {0}',
5295 '-evalt', '{-2147483647,1,2,2147483647} <: INT - {0}',
5296 '-evalf', '{2147483648} <: INT - {0}'
5297 ], 'ensure symbolic treatment of set difference').
5298 cli_testcase(1924,[tickets,while],[
5299 '../prob_examples/public_examples/B/Tester/OpCalls/ParaClash/Call1.mch', '-strict',
5300 '-t'
5301 ], 'Check no issue with compilation of operation calls with id clashes').
5302 cli_testcase(1925,[tickets,while],[
5303 '../prob_examples/public_examples/B/Tester/OpCalls/ParaClash/Call1_Clash.mch', '-strict',
5304 '-expcterr', bmachine_static_checks, % Warnings about variable clashes
5305 '-t'
5306 ], 'Check no issue with compilation of operation calls with id clashes').
5307 cli_testcase(1926,[alloy],[
5308 '../prob_examples/public_examples/Alloy/SimpleTests/Join_Binary.als',
5309 '../prob_examples/public_examples/Alloy/SimpleTests/Join_Complex.als',
5310 '../prob_examples/public_examples/Alloy/SimpleTests/Quantifiers.als',
5311 '../prob_examples/public_examples/Alloy/SimpleTests/Comprehension.als',
5312 '../prob_examples/public_examples/Alloy/SimpleTests/CartesianProduct.als',
5313 '../prob_examples/public_examples/Alloy/SimpleTests/Restrictions.als',
5314 '../prob_examples/public_examples/Alloy/SimpleTests/EmptyAssert.als',
5315 '../prob_examples/public_examples/Alloy/SimpleTests/EmptyPred.als',
5316 %'../prob_examples/public_examples/Alloy/SimpleTests/TestUtilInteger.als',
5317 '../prob_examples/public_examples/Alloy/SimpleTests/natural_no_alias.als',
5318 '../prob_examples/public_examples/Alloy/SimpleTests/natural.als',
5319 '../prob_examples/public_examples/Alloy/SimpleTests/Arithmetic.als',
5320 '../prob_examples/public_examples/Alloy/SimpleTests/TestUtilBool.als',
5321 '../prob_examples/public_examples/Alloy/SimpleTests/BinaryDifferentlyTyped.als',
5322 '../prob_examples/public_examples/Alloy/SimpleTests/ambiguous_field_name.als',
5323 '../prob_examples/public_examples/Alloy/Puzzles/harry-potter.als',
5324 '../prob_examples/public_examples/Alloy/Puzzles/queens.als',
5325 '../prob_examples/public_examples/Alloy/Puzzles/queens_with_pred.als',
5326 '-strict', '-t', '-p', 'ALLOY_STRICT_INTEGERS', 'TRUE'
5327 ], 'Check Alloy translation').
5328 cli_testcase(1927,[alloy,cbc,cbc_tests],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5329 '../prob_examples/public_examples/Alloy/alloy_models/toys/grandpa.als',
5330 '../prob_examples/public_examples/Alloy/alloy_models/toys/grandpa.als',
5331 '-cbc_sequence', run0,
5332 '-expcterr', 'cbc_sequence_no_solution_found',
5333 '-strict'], 'Test Alloy model and *no* solution for run0').
5334 cli_testcase(1928,[alloy,cbc],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5335 '../prob_examples/public_examples/Alloy/SimpleTests/multiplicity_birthday_test.als',
5336 '-t', '-mc', 100, '-cc', 3, 3, % 3 nodes: root, setup_constants, init
5337 '-strict'], 'Test Alloy models have exactly one solution').
5338 cli_testcase(1929,[alloy,cbc,cbc_tests],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5339 '../prob_examples/public_examples/Alloy/laws/orderings.als',
5340 '-cbc_sequence', run0,
5341 '-strict'], 'Test Alloy model and solution for run0 found').
5342 cli_testcase(1930,[alloy,cbc,cbc_tests],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5343 '../prob_examples/public_examples/Alloy/alloy_models/systems/lists.als',
5344 '-cbc_sequence', run0,
5345 '-strict'], 'Test Alloy model and solution for run0 found').
5346 cli_testcase(1931,[b_test],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5347 '../prob_examples/public_examples/B/FeatureChecks/DEFINITIONS/VariableListAsDEFINITION.mch',
5348 '-init'], 'Try using DEFINITION as variable list').
5349 cli_testcase(1932,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5350 '../private_examples/Thales/Hansen_CSV_Loop/CSV_Input.rmch',
5351 '-execute_all', '-animate_stats', '-p', 'CLPFD', 'TRUE'], 'Ensure complex set unification due to partial sequence skeleton is avoided').
5352 /* requires new parser: */
5353 cli_testcase(1933, [union,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5354 '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647,
5355 '-evalt', 'r = /*@symbolic*/ UNION(x).(x:NATURAL|{x,x+100}) & 100:r',
5356 '-evalf', 'r = /*@symbolic*/ UNION(x).(x:NATURAL|{x,x+100}) & -100:r',
5357 '-evalt', 'r = /*@symbolic*/ UNION(x).(x:NATURAL|{x+1}) & 1:r & 0/:r',
5358 '-evalt', 'r = /*@symbolic*/ UNION(x).(x:NATURAL|{x+2,x+3}) & 2:r & 1/:r',
5359 '-evalt', 'r = /*@symbolic*/ {u|#x.(x : NATURAL & u : {x |-> x * x,x |-> x + x})} & 10|->20 : r',
5360 '-evalt', '!y.(y:10..12 => #x.(x : NATURAL & y|->2*y : {x |-> x * x,x |-> x + x}))',
5361 '-evalf', '!y.(y:10..12 => #x.(x : NATURAL & y|->3*y : {x |-> x * x,x |-> x + x}))',
5362 '-evalt', 'r = /*@symbolic*/ UNION(x).(x:NATURAL|{x|->x*x, x|->x+x}) & r[10..11]=x',
5363 '-evalt', 'r = /*@symbolic*/ UNION(x).(x:NATURAL|{x|->x*x, x|->x+x}) & r[10..11]={20,22,100,121}',
5364 '-evalt', '{u,v|u=10|->v & #x.(x : NATURAL & u : {x |-> x * x,x |-> x + x})} = {((10|->20)|->20),((10|->100)|->100)}'
5365 ], 'ensure symbolic treatment of UNION').
5366 cli_testcase(1934,[cbc],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5367 '../prob_examples/public_examples/B/Tester/TestProjection.mch',
5368 '-assertions'], 'Ensure projection onto static assertion filters out unrelated constant').
5369 cli_testcase(1935,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5370 '../private_examples/Thales/Hansen_EnumerationProblem/Runner_EnumerationProblem.rmch',
5371 '-execute_all', '-animate_stats',
5372 '-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
5373 '-p', 'TRY_FIND_ABORT', 'TRUE', '-p', 'DATA_VALIDATION', 'TRUE',
5374 '-silent', '-noinv'], 'Ensure no time-out in COMP_CSVRecords').
5375 cli_testcase(1936,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5376 '../private_examples/Thales/Hansen_EnumerationProblem/Runner_EnumerationProblem.rmch',
5377 '-execute_all', '-animate_stats',
5378 '-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
5379 '-p', 'TRY_FIND_ABORT', 'FALSE', '-p', 'DATA_VALIDATION', 'TRUE',
5380 '-silent', '-noinv'], 'Ensure no time-out in COMP_CSVRecords (TRY_FIND_ABORT=FALSE)').
5381 cli_testcase(1937, [b_test,pragmas], ['../prob_examples/public_examples/B/Pragmas/TestLabel.mch', '-pp', '../prob_examples/public_examples/B/Pragmas/TestLabel_pp.mch', '-strict'], 'Check that pretty printing label pragma works').
5382 cli_testcase(1938, [laws,strings,external], ['../prob_examples/public_examples/B/Laws/StringLiteralTests.mch', '-assertions', '-strict'], 'Some tests about the STRING literals').
5383 cli_testcase(1939, [union,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5384 '-p', 'MAXINT', 127, '-p', 'MININT', -128,
5385 '-evalt', 'x = INTEGER \\ {1000} & !v.(v:x => v/=1000)',
5386 '-evalf', 'x = INTEGER \\ {1000} & !v.(v:x => v>2000)',
5387 '-evalt', 'x = INTEGER \\ {10} & x \\/ {11} = res & res=x'
5388 ], 'Test for not-member closures').
5389 cli_testcase(1940, [tickets,pragmas], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5390 '-aa', 2, 0, 0, % check that label pragmas respected
5391 '-properties',
5392 '../prob_examples/public_examples/B/Tickets/Pragmas/LabelBoolPragmaDisappears.mch'
5393 ], 'Test label pragma respected by assertions').
5394 cli_testcase(1941, [refinement,b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5395 '-init',
5396 '-dot', invariant, '../prob_examples/public_examples/B/RefinementChecking/LinkingInvariants/M1_invariant.dot',
5397 '-dot', machine_hierarchy, '../prob_examples/public_examples/B/RefinementChecking/LinkingInvariants/M1_hierarchy.dot',
5398 '../prob_examples/public_examples/B/RefinementChecking/LinkingInvariants/M1.ref'
5399 ], 'Test one invariant copied from abstract machine').
5400 cli_testcase(1942, [error_checks,private], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5401 '../prob_examples/examples/B/Satpathy/SystemOnChip/Router.mch', '-t'
5402 ], 'Check no bmachine_static_checks for disjunction in invariant').
5403 cli_testcase(1943, [b_test,external,regex], ['../prob_examples/public_examples/B/ExternalFunctions/TestLibraryRegexp.mch', '-assertions', '-force_no_silent'], 'Test Regular Expression Library').
5404 cli_testcase(1944,[eventb_test],[
5405 '../prob_examples/public_examples/EventBPrologPackages/TreeFileSysContPerm/FMCH02.eventb',
5406 '-t', '-p', 'DEFAULT_SETSIZE', 2
5407 ], 'Check Event-B model with complicated properties (and axiomatized transitive closure)').
5408 cli_testcase(1945,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5409 '../private_examples/ClearSy/N_ITERa_avec_DV_sans_DV/rule_avec_DV.mch',
5410 '-execute_all', '-animate_stats',
5411 '-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
5412 '-p', 'TRY_FIND_ABORT', 'FALSE', '-p', 'DATA_VALIDATION', 'TRUE',
5413 % '-p', 'LIFT_EXISTS', 'TRUE', % should also work without this
5414 '-execute_expect_steps', 44,
5415 '-evalt', 'caval__rule__1__done=TRUE & caval__rule__1__ALL={({}|->TRUE)} & caval__rule__1__isKO=FALSE',
5416 '-evalt', 'caval__rule__2__done=TRUE & caval__rule__2__dataverified={} & caval__rule__2__isKO=FALSE',
5417 '-evalt', 'caval__rule__3__done=TRUE & caval__rule__3__dataverified={} & caval__rule__3__isKO=FALSE',
5418 '-evalt', 'caval__rule__4__done=TRUE & card(caval__rule__4__ALL)=3 & caval__rule__4__isKO=TRUE',
5419 '-evalt', 'caval__rule__5__done=TRUE & card(caval__rule__5__ALL)=5 & caval__rule__5__isKO=TRUE',
5420 '-evalt', 'caval__rule__6__done=TRUE & caval__rule__6__dataverified={} & caval__rule__6__isKO=TRUE',
5421 '-silent', '-noinv'], 'Ensure no problem with caval__rule__2__ALL set comprehension and lifting out of exists quantifier').
5422 cli_testcase(1946,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5423 '../private_examples/ClearSy/N_ITERa_avec_DV_sans_DV/rule_avec_DV.mch',
5424 '-execute_all', '-animate_stats',
5425 '-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
5426 '-p', 'TRY_FIND_ABORT', 'FALSE', '-p', 'LIFT_EXISTS', 'TRUE',
5427 '-execute_expect_steps', 44,
5428 '-evalt', 'caval__rule__1__done=TRUE & caval__rule__1__ALL={({}|->TRUE)} & caval__rule__1__isKO=FALSE',
5429 '-evalt', 'caval__rule__2__done=TRUE & caval__rule__2__dataverified={} & caval__rule__2__isKO=FALSE',
5430 '-evalt', 'caval__rule__3__done=TRUE & caval__rule__3__dataverified={} & caval__rule__3__isKO=FALSE',
5431 '-evalt', 'caval__rule__4__done=TRUE & card(caval__rule__4__ALL)=3 & caval__rule__4__isKO=TRUE',
5432 '-evalt', 'caval__rule__5__done=TRUE & card(caval__rule__5__ALL)=5 & caval__rule__5__isKO=TRUE',
5433 '-evalt', 'caval__rule__6__done=TRUE & caval__rule__6__dataverified={} & caval__rule__6__isKO=TRUE',
5434 '-silent', '-noinv'], 'Ensure no problem with caval__rule__2__ALL set comprehension and lifting out of exists quantifier').
5435 cli_testcase(1947, [smt_solver_integration], [
5436 '../prob_examples/public_examples/B/Tickets/Z3/Aufgabe2.mch', '-init', %'-vv',
5437 '-evalt', ':z3-double-check x:liefert',
5438 '-evalt', ':z3-double-check x:bes',
5439 '-evalt', ':z3-double-check x|->a3:liefert',
5440 '-evalf', ':z3-double-check l2|->a3:liefert',
5441 '-evalt', ':z3-double-check x:liefert[{l1}]',
5442 '-evalt', ':z3-double-check x:liefert[{l1}] & k|->b : bes & x:b',
5443 '-evalf', ':z3-double-check x:liefert[{l1}] & k|->b : bes & x:b & k /= k2 & x /= a1 & k /= k3'
5444 ], 'some constraints that should be solved by z3; check ticket with ProB state').
5445 cli_testcase(1948, [infinite,tickets], [
5446 '../prob_examples/public_examples/B/Tickets/Hansen36_Lambda/TestBugly.mch', '-init',
5447 '-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
5448 '-p', 'TRY_FIND_ABORT', 'FALSE', '-p', 'TRACE_INFO', 'TRUE',
5449 '-mc', 100, '-nodead'
5450 ], 'check nested function calls cause no problem').
5451 cli_testcase(1949, [b_test], [
5452 '-evalt', '{x,res|IF x>2 THEN 22 ELSIF x<0 THEN 33 ELSE 44 END = res & x<3 & x>0} = {(1|->44),(2|->44)}'
5453 ], 'test ELSIF for expressions').
5454 cli_testcase(1950,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5455 '../private_examples/ClearSy/Well_def_1.9.0_b5/Err/rule_SSO_SLOT_MSG_ID_SET_SSO/rule.mch',
5456 '-execute_all', '-animate_stats',
5457 '-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
5458 '-p', 'DATA_VALIDATION', 'TRUE',
5459 '-p', 'COMPRESSION', 'TRUE',
5460 '-execute_expect_steps', 6,
5461 '-evalt', 'caval__rule__4__done=TRUE & caval__rule__4__isKO=TRUE',
5462 '-ppf', '../private_examples/ClearSy/Well_def_1.9.0_b5/Err/rule_SSO_SLOT_MSG_ID_SET_SSO/rule_SSO_SLOT_bugly.mch',
5463 '-p', 'BUGLY', 'TRUE',
5464 '-silent'
5465 ], 'Ensure wd-problem solved').
5466 cli_testcase(1951,[wd,tickets,private,data_validation],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5467 '../prob_examples/examples/B/ClearSy/Tickets/Well_def_1.9.0_b5/rule_bugly.mch',
5468 '-execute_all', '-animate_stats',
5469 '-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
5470 '-p', 'DATA_VALIDATION', 'TRUE',
5471 '-p', 'COMPRESSION', 'TRUE',
5472 '-silent'], 'Ensure wd-problem solved (BUGLY version of test 1950)').
5473 cli_testcase(1952,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5474 '../private_examples/ClearSy/ComparePv10Pv11/DebugPv10/rule_Test__RGP_71237__RI_091/rule.mch',
5475 '../private_examples/ClearSy/ComparePv10Pv11/DebugPv11/rule_Test__RGP_71237__RI_091/rule.mch',
5476 '-execute', 9, '-animate_stats', '-silent',
5477 '-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
5478 '-p', 'DATA_VALIDATION', 'TRUE',
5479 '-p', 'COMPRESSION', 'TRUE', '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647,
5480 '-silent'], 'Ensure in_domain delay solved').
5481 cli_testcase(1953,[b_test,operation_calls_in_expr],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5482 '../prob_examples/public_examples/B/NewSyntax/CallOperationInExprSimple.mch',
5483 '-p', 'ALLOW_OPERATION_CALLS_IN_EXPRESSIONS', 'TRUE',
5484 '-t', '-assertions',
5485 '-evalt', 'Double(33)=66',
5486 '-evalt', 'Double(Double(33))=132',
5487 '-evalf', 'Double(3)=3',
5488 '-evalt', 'Divisors(17)=2'
5489 ], 'Test calling operations in expressions').
5490 cli_testcase(1954,[b_test,operation_calls_in_expr],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5491 '../prob_examples/public_examples/B/NewSyntax/CallOperationInExpr_Compile.mch',
5492 '-p', 'ALLOW_OPERATION_CALLS_IN_EXPRESSIONS', 'TRUE',
5493 '-t'
5494 ], 'Test calling operations in expressions with closure compilation').
5495 cli_testcase(1955,[b_test],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5496 '../prob_examples/public_examples/B/Tester/LogXML/WD_Error.mch',
5497 '-execute_all', '-logxml', '../prob_examples/public_examples/B/Tester/LogXML/problog.xml',
5498 '-expcterr', well_definedness_error
5499 ], 'Test generation of locations in xml file').
5500 % file should contain start_line,end_line XML info; we cannot test with a diff, as time-stamp and prob version info is found in the logxml file !
5501 % xmllint --schema doc/logxml_xsd.xml ../prob_examples/public_examples/B/Tester/LogXML/problog.xml -noout
5502 cli_testcase(1956, [b_test,infinite,total_function], [
5503 '-evalf', '%(x,z).(x:NATURAL & z:NATURAL1|min({z,x,x/z,-x})) : (NATURAL*NATURAL1)-->NATURAL' % raises enum warning; but finds counter example
5504 ], 'Test symbolic treatment of total function').
5505 cli_testcase(1957,[private_source_not_available], % also covering operation_calls_in_expr
5506 ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5507 '../private_examples/Thales/Hansen_Compile/Main_StringToIPV4.mch',
5508 '-execute', 4, '-animate_stats', '-silent', '-expcterr', deadlock,
5509 '-p', 'CLPFD', 'FALSE', '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647,
5510 '-silent'], 'Ensure compilation of operation_call_in_expr with op(.) identifiers in read info solved; contains while'). % ALLOW_OPERATION_CALLS_IN_EXPRESSIONS
5511 cli_testcase(1958, [b_test,cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5512 '-evalt', '{x|1..x <: {1,2,3,5} & x>1} = 2..3',
5513 '-evalt', 'card({x|1..x <: {1,2,3,5} & x>1}) = 2',
5514 '-evalt', '{ss | ss <: 0..0 & ss /= {} & ss=0..max(ss)} = {{0}}',
5515 '-evalt', '{ss | ss <: 0..2 & ss /= {} & ss=0..max(ss)} = {{0},{0,1},{0,1,2}}'
5516 %'-evalt', '{x,y|x..y <: {10,12,13,15} & y>x} = 12..13', % requires CHR
5517 ], 'Ensure improved treatment of interval subset').
5518 cli_testcase(1959, [b_test,cbc], [
5519 '-evalt', '/*@symbolic */ {z|z>3 & z mod 3 =0} <: {x|x>5 & x mod 3=0}',
5520 '-evalf', '/*@symbolic */ {z|z>3 & z mod 3 =0} <: {x|x>6 & x mod 3=0}',
5521 '-evalt', '/*@symbolic */ {z|z>3 & z mod 3 =0} <: {x|x>1}',
5522 '-evalf', '{z|z:seq(BOOL) & 1|->TRUE:z} <: {z|z:seq(BOOL) & 1|->FALSE:z}',
5523 '-evalt', '/*@symbolic */ {z,v|z:seq(BOOL) & 1|->TRUE:z & v>2} <: /*@symbolic */ {v,z|v:seq(BOOL) & 1|->TRUE:v & z>1}',
5524 '-evalf', '/*@symbolic */ {z,v|z:seq(BOOL) & 1|->TRUE:z & v>2} <: /*@symbolic */ {v,z|v:seq(BOOL) & 1|->TRUE:v & z>3}',
5525 '-evalt', '{z|z>3 & z mod 3 =0} <: NATURAL'
5526 ], 'Ensure improved symbolic treatment of subset').
5527 cli_testcase(1960,[b_test,operation_calls_in_expr],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5528 '../prob_examples/public_examples/B/NewSyntax/OperationWithAssert.mch',
5529 '-p', 'ALLOW_OPERATION_CALLS_IN_EXPRESSIONS', 'TRUE',
5530 '-assertions'
5531 ], 'Test calling operations with assertions inside expressions').
5532 cli_testcase(1961,[refinement],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5533 '../prob_examples/public_examples/B/RefinementChecking/AtelierB_EventB/Main1.ref',
5534 '-mc', 1000
5535 ], 'Check that abstract events not copied to refinement machine, as they are refined.').
5536 cli_testcase(1962,[alloy,cbc,cbc_tests],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5537 '../prob_examples/public_examples/Alloy/laws/SetLaws_Scope2.als',
5538 '-cbc_sequence', check0,
5539 '-expcterr', 'cbc_sequence_no_solution_found',
5540 '-strict'], 'Test Alloy laws and *no* solution for check0').
5541 cli_testcase(1963, [b_test,cruise,codespeed], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5542 '../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-mc', '1400', '-bf',
5543 '-cc', '1361', '1379', % was 1360, but now we store transitions for uncovered operations
5544 '-strict', '-nodead', '-p', 'MAX_INITIALISATIONS', 5,
5545 '-p', 'SAFETY_MODEL_CHECK', 'TRUE'], 'Complete Model Check of Cruise Controller with SAFETY_MODEL_CHECK').
5546 cli_testcase(1964, [refinement], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5547 '../prob_examples/public_examples/B/RefinementChecking/AtelierB_EventB/Main1_v2.ref',
5548 '../prob_examples/public_examples/B/RefinementChecking/AtelierB_EventB/Main2_v2.ref',
5549 '../prob_examples/public_examples/B/RefinementChecking/AtelierB_EventB/Main2_v3.ref',
5550 '-strict','-mc', '1000'], 'Check invariants copied correctly').
5551 cli_testcase(1965, [refinement], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5552 '../prob_examples/public_examples/B/RefinementChecking/AtelierB_EventB/Main1_err.ref',
5553 '-expcterr', 'invariant_violation', '-strict',
5554 '-mc', '1000'], 'Check invariants copied correctly').
5555 cli_testcase(1966, [wd,exists,rulesdsl], [
5556 '../prob_examples/public_examples/B/Tickets/Hansen37_WD_Exists/WD_Exists.rmch',
5557 '-expcterr', well_definedness_error, '-expcterr', animate,
5558 '-animate', 3], 'Check WD error inside negated existential quantifier detected').
5559 cli_testcase(1967, [b_test,infinite,total_function,wd], [
5560 '-evalnwd', '%(x,z).(x:NATURAL & z:NATURAL|min({z,x,x/z,-x})) : (NATURAL*NATURAL)-->NATURAL', % raises enum warning; but finds counter example
5561 '-expcterr', well_definedness_error,
5562 '-opterr', eval_string_enum_warning
5563 ], 'Test wd error found due to division by 0').
5564 cli_testcase(1968, [b_test,infinite,memoize], ['../prob_examples/public_examples/B/FunctionalProgramming/MemoizationTests.mch', '-assertions'], 'Check function memoization works').
5565 cli_testcase(1969, [b_test,operation_calls_in_expr], ['../prob_examples/public_examples/B/NewSyntax/ExpressionsWithOperations/TopologyOpExpr.mch',
5566 '-p', 'ALLOW_OPERATION_CALLS_IN_EXPRESSIONS', 'TRUE',
5567 '-t', '-assertions'], 'Check local operations called in expressions').
5568 cli_testcase(1970, [laws,rel_fnc,wd,memoize], ['../prob_examples/public_examples/B/Laws/FunLawsWithLambdaMemo.mch',
5569 '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict','-p', 'DOUBLE-EVALUATION', 'TRUE',
5570 '-p', 'MEMOIZE_FUNCTIONS', 'TRUE',
5571 '-expcterr', 'model_check_incomplete'], 'Test 458 with MEMOIZE_FUNCTIONS.').
5572 cli_testcase(1971, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5573 '-evalt_rc', '%x.(x:NATURAL|x) : NATURAL +-> NATURAL',
5574 '-evalt_rc', '%x.(x:NATURAL1|x) : INTEGER +-> NATURAL1',
5575 '-evalf_rc', '%x.(x:NATURAL|x) : NATURAL1 +-> NATURAL',
5576 '-evalf_rc', '%x.(x:NATURAL|x) : NATURAL +-> NATURAL1',
5577 '-evalt_rc', '%x.(x:NATURAL|x+1) : NATURAL +-> NATURAL',
5578 '-evalt_rc', '%x.(x:NATURAL|x+1) : NATURAL +-> NATURAL1',
5579 '-evalf_rc', '%x.(x:NATURAL|x-1) : NATURAL +-> NATURAL',
5580 '-evalt_rc', 'f=%x.(x:NATURAL1|x-1) & f: NATURAL1 +-> NATURAL',
5581 '-evalt_rc', 'f=%x.(x:NATURAL1|x-1) & f: NATURAL +-> NATURAL',
5582 '-evalt_rc', 'f=%x.(x:NATURAL1|x-1) & f: INTEGER +-> NATURAL',
5583 '-evalt_rc', '%(x,y).(x:NATURAL&y:NATURAL|x+y) : NATURAL*NATURAL +-> NATURAL',
5584 '-evalf_rc', '%(x,y).(x:NATURAL&y:NATURAL|x+y) : NATURAL*NATURAL +-> NATURAL1',
5585 '-evalt_rc', '%(x,y).(x:1..100 & y:1..100|x+y) : (1..100)*(1..100) +-> (2..200)',
5586 '-evalt_rc', '%(x,y).(x:1..100 & y:1..100|x+y) : (1..100)*(1..100) +-> (1..10000)',
5587 '-evalf_rc', '%(x,y).(x:1..100 & y:1..100|x+y) : (1..100)*(1..100) +-> (3..200)',
5588 '-evalt_rc', '%(x,y).(x:1..100 & y:1..100|x*y) : (1..100)*(1..100) +-> (1..10000)',
5589 '-evalf_rc', '%(x,y).(x:1..100 & y:1..100|x*y) : (1..100)*(1..100) +-> (2..10000)',
5590 '-evalf_rc', '%(x,y).(x:1..100 & y:1..101|x*y) : (1..100)*(1..101) +-> (1..10000)',
5591 '-evalt_rc', '%(x,y).(x:0..9999 & y:0..9999|(x*y) mod 10000) : (0..9999)*(0..9999) +-> (0..9999)',
5592 '-evalt_rc', '%(aa).(aa : INTEGER | [aa]) : INTEGER +-> seq(INTEGER)',
5593 %'-evalf_rc', '%(aa).(aa : INTEGER | [aa]) : INTEGER +-> seq(NATURAL)', % succeeds but has non-critical enum warning
5594 '-evalt_rc', '%(aa).(aa : NATURAL1 | [aa]) : NATURAL +-> seq(NATURAL1)'
5595 ], 'Check new symbolic partial function range detection').
5596 cli_testcase(1972, [tickets,sequences], [
5597 '../prob_examples/public_examples/B/Tickets/ReversePendingCoroutine/TestSuffixWithReverse.mch',
5598 '-mc', 100, '-nodead', '-assertions', '-cc', 5,4], 'Check no pending co-routine in reverse of sequence').
5599 cli_testcase(1973,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5600 '../private_examples/ClearSy/2019_June/string_tail/rule_nok.mch',
5601 '-execute', 4, '-animate_stats', '-silent', '-expcterr', deadlock,
5602 '-execute_expect_steps', 3,
5603 '-evalt', 'caval__rule__1__done=TRUE',
5604 '-evalt', 'caval__rule__1__isKO=FALSE',
5605 '-silent'], 'Ensure pending co-routing in reverse of sequence solved').
5606 cli_testcase(1974,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5607 '../private_examples/ClearSy/2019_June/performance/toto_ko.mch',
5608 '-execute', 4, '-animate_stats', '-expcterr', deadlock,
5609 '-execute_expect_steps', 3,
5610 '-evalt', 'caval__rule__5__done=TRUE',
5611 '-evalt', 'caval__rule__5__isKO=TRUE',
5612 '-evalt', 'caval__rule__5__ALL = {({(1|->2|->3|->4|->2)}|->FALSE),({(1|->2|->3|->4|->3)}|->FALSE)}',
5613 '-silent'], 'Ensure we do not wait for identifier in exists using used_ids_defined_by_equality optimisation').
5614 cli_testcase(1975, [b_test,exists], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-version',
5615 '-evalt_rc', '{x | x=1 & #(OO,MM).(MM>x & OO:NATURAL1)} = {1}',
5616 '-evalt_rc', '{x | x>1 & x<10 & #(OO,MM).(MM>x & OO:NATURAL1)} = 2..9',
5617 '-evalt_rc', '{x | x=1 & #(OO,MM,VV).(MM>x & OO:NATURAL1 & VV>x)} = {1}',
5618 '-evalt_rc', '{x | x:10..12 & #(OO,MM,VV).(MM>x & OO:NATURAL1 & MM<12 & VV>x)} = {10}'
5619 ], 'Partitioning of exists works').
5620 cli_testcase(1976, [laws,rel_fnc,data_validation], ['../prob_examples/public_examples/B/Laws/ExplicitComputations.mch', '-t', '-mc', '100000', '-nodead', '-cs', '-strict',
5621 '-p', 'CLPFD', 'TRUE', % currently fails with FALSE !
5622 '-p', 'TIME_OUT', '7000',
5623 '-p', 'DATA_VALIDATION', 'TRUE'], 'Test 292 in DATA_VALIDATION mode.').
5624 cli_testcase(1977,[private_source_not_available],[
5625 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', % Note: generated virtual timeout, no longer does after override does not try to expand symbolic closures anymore
5626 '../private_examples/ClearSy/2019_Aug/call_residue/rule_erreur.mch',
5627 '-p', 'RAISE_ABORT_IMMEDIATELY', 'TRUE', % FALSE was necessary as of 3974491412f39ab8b6beea3d2a7c47e7c56315ae
5628 '-execute_all', '-animate_stats', '-noinv',
5629 '-execute_expect_steps', 23,
5630 '-evalt', 'caval__ic___DFCT___COMPUTED__CLA_01218__Poste_enclenchement__done=TRUE',
5631 '-evalt', 'caval__ic___DFCT___COMPUTED__ATR_42912__Numero_poste_organe__done=TRUE',
5632 '-silent'], 'Ensure we have no call_residue internal error').
5633 cli_testcase(1978, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'OPTIMIZE_AST', 'FALSE',
5634 '-evalf_rc', '2=3 & 1=1 <=> 4=5 & 2=2',
5635 '-evalt_rc', '2**3**2 = 512',
5636 '-evalt_rc', '10-5+4-3=6',
5637 '-evalt_rc', '8 / 2 * 4 = 16',
5638 '-evalt_rc', '8 / 4 / 2 = 1',
5639 '-evalf_rc', '!x.(x=100 & x>50 => x>100)',
5640 '-evalt_rc', '#x.(not(x:BOOL --> {1,2}))'
5641 ], 'Test associativity of certain B operators').
5642 cli_testcase(1979, [error_checks,wd,sequences], [
5643 '-eval', 'x:perm(NATURAL)',
5644 '-expcterr', infinite_sequence, '-expcterr', eval_string_enum_warning
5645 ], 'Test error raised for x:perm(S) for infinite set S').
5646 cli_testcase(1980,[private_source_not_available],[
5647 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5648 '../private_examples/ClearSy/2019_Sep/rule_dummy/rule_dummy_acc.mch',
5649 '-execute_all', '-animate_stats', '-noinv',
5650 '-execute_expect_steps', 3,
5651 '-evalt', 'caval__rule__1__done=TRUE',
5652 '-evalt', 'card(caval__rule__1__ALL)=4299'
5653 ], 'Ensure that compilation of set_extension works properly').
5654 cli_testcase(1981,[private_source_not_available,regex],[
5655 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5656 '../private_examples/ClearSy/2019_Sep/non_ground_closure/rule.mch',
5657 '-execute_all', '-animate_stats', '-noinv',
5658 '-execute_expect_steps', 13,
5659 '-evalt', 'caval__rule__1__done=TRUE',
5660 '-evalt', 'caval__rule__10__done=TRUE',
5661 '-evalt', 'card(caval__rule__10__ALL)=254',
5662 '-evalt', 'caval__rule__11__done=TRUE',
5663 '-evalt', 'card(caval__rule__11__ALL)=254'
5664 ], 'Ensure that no internal error due to non-ground closure').
5665 cli_testcase(1982, [eventb_test,private], ['../prob_examples/examples/EventBPrologPackages/Abrial/ess_simple/m0_mch.eventb',
5666 '-expcterr', 'virtual_time_out', '-t'],
5667 'Test trace replay and execute by predicate for Event-B.').
5668 cli_testcase(1983,[private,regex],[
5669 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5670 '../prob_examples/examples/B/ClearSy/Caval/2019_Sep/memo_error/rule.mch',
5671 '-execute', 5, '-animate_stats', '-noinv',
5672 '-evalt', 'caval__rule__1__done=TRUE',
5673 '-evalt', 'caval__rule__2__done=TRUE',
5674 '-evalt', 'caval__rule__3__done=TRUE',
5675 '-evalt', 'caval__rule__3__ALL={({}|->{428}|->{}|->TRUE),({}|->{447}|->{}|->TRUE),({}|->{464}|->{}|->TRUE),({}|->{483}|->{}|->TRUE),({}|->{503}|->{}|->TRUE),({}|->{521}|->{}|->TRUE),({}|->{540}|->{}|->TRUE),({}|->{560}|->{}|->TRUE)}',
5676 '-evalt', 'caval__rule__4__done=FALSE'
5677 ], 'Ensure memoization expansion problem solved').
5678 cli_testcase(1984,[private_source_not_available],[
5679 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'TRUE',
5680 '../private_examples/ClearSy/2019_Sep/wd_issue/rule.mch',
5681 '-execute_all', '-animate_stats',
5682 '-execute_expect_steps', 3,
5683 '-evalt', 'caval__rule__1__done=TRUE',
5684 '-evalt', 'caval__rule__1__ALL={({("WholeGuideway"|->"struct(segment: [struct(segment: struct(edge: 1, offset0: 0.00, offset1: 999.99), direction: UP), struct(segment: struct(edge: 2, offset0: 0.00, offset1: 199.99), direction: UP)])")}|->FALSE),({("WholeGuideway"|->"struct(segment: [struct(segment: struct(edge: 2, offset0: 0.00, offset1: 199.99), direction: DOWN), struct(segment: struct(edge: 1, offset0: 0.00, offset1: 999.99), direction: DOWN)])")}|->FALSE),({("WholeGuideway"|->"struct(segment: [struct(segment: struct(edge: 5, offset0: 0.00, offset1: 199.99), direction: DOWN)])")}|->FALSE),({("WholeGuideway"|->"struct(segment: [struct(segment: struct(edge: 5, offset0: 0.00, offset1: 199.99), direction: UP)])")}|->FALSE)}'
5685 ], 'Ensure no spurious wd error due to enumeration of assertion_expression for function application').
5686 cli_testcase(1985, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'OPTIMIZE_AST', 'FALSE',
5687 '-evalt_rc', 'hl : 1..10 +-> 0..11 & (DL=TRUE => (2..4) * {11} <: hl) & (6 |-> hl(4) : hl) & DL=TRUE',
5688 '-evalt_rc', 'hl : 1..10 +-> 0..11 & (DL=TRUE => (2..4) * {11} <: hl) & (6 |-> hl(4) : hl)',
5689 '-evalt_rc', 'hl : 1..10 +-> 0..11 & (DL=TRUE => (2..4) * {11} <: hl) & (6 |-> hl(4) : hl) & (DL=FALSE => (3..5) * {11} <: hl) & (6 |-> hl(4) : hl)',
5690 '-evalt_rc', 'hl : 1..12 +-> 0..300 & (DL=TRUE => (2..4) * {100} <: hl) & (6 |-> hl(4) : hl) & (DL=FALSE => (3..5) * {11} <: hl) & (6 |-> hl(4) : hl)'
5691 ], 'Ensure reified subset test instantiates solution').
5692 cli_testcase(1986, [b_test,cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5693 '-evalt_rc', '{b,x,y|({x|->y}: 1..2 +-> 3..4 <=> b=TRUE) & x:0..1 & y:2..3} = {(FALSE|->0|->2),(FALSE|->0|->3),(FALSE|->1|->2),(TRUE|->1|->3)}',
5694 '-evalt_rc', '{b,x,y|({x|->y,x+1|->y+1}: 1..2 --> 3..4 <=> b=TRUE) & x:0..1 & y:2..3} = {(FALSE|->0|->2),(FALSE|->0|->3),(FALSE|->1|->2),(TRUE|->1|->3)}',
5695 '-evalt_rc', '{b,x,y|({x|->y}: 1..2 +-> 3..4 <=> b=TRUE) & x:0..1 & y:2..3} = {(FALSE|->0|->2),(FALSE|->0|->3),(FALSE|->1|->2),(TRUE|->1|->3)}',
5696 '-evalt_rc', '{b,x,y|({x|->y}: 1..2 +-> 3..4 <=> b=TRUE) & x:0..1 & y:2..3} = {(FALSE|->0|->2),(FALSE|->0|->3),(FALSE|->1|->2),(TRUE|->1|->3)}',
5697 '-evalt_rc', '{b,x,y|({x|->y}: 1..3 +-> 3..4 <=> b=TRUE) & x:0..1 & y:2..3} = {(FALSE|->0|->2),(FALSE|->0|->3),(FALSE|->1|->2),(TRUE|->1|->3)}',
5698 '-evalt_rc', '{b,x,y|({x|->y}: 1..3 --> 3..4 <=> b=TRUE) & x:0..1 & y:2..3} = {(FALSE|->0|->2),(FALSE|->0|->3),(FALSE|->1|->2),(FALSE|->1|->3)}'
5699 ], 'Ensure reification of partial_function works').
5700 cli_testcase(1987, [alloy,cbc_tests], ['../prob_examples/public_examples/Alloy/SimpleTests/sequence_tests.als', '-cbc_sequence', 'run0;run1;run2'], 'Test translation of sequences from Alloy to B.').
5701 cli_testcase(1988, [b_test,external], ['../prob_examples/public_examples/B/ExternalFunctions/TestDoNotEnumerate.mch', '-t', '-assertions'], 'Test DO_NOT_ENUMERATE external function works.').
5702 cli_testcase(1989, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'OPTIMIZE_AST', 'FALSE',
5703 '-evalt_rc', ' f = {1|->2,2|->x} & f /: 1..2 -->> 2..3 & x :2..3',
5704 '-evalt_rc', '{x| #f.(f = {1|->2,2|->x} & f /: 1..2 -->> 2..3) & x :2..3} = {2}',
5705 '-evalt_rc', ' f = {1|->2,x|->x} & f /: 1..2 -->> 2..3 & x :2..4',
5706 '-evalt_rc', ' {x|#f.(f = {1|->2,x|->x} & f /: 1..2 -->> 2..3) & x :2..4} = 2..4',
5707 '-evalt_rc', ' {x|#f.(f = {1|->2,x|->x+1} & f /: 1..2 -->> 2..3) & x :2..4} = 3..4',
5708 '-evalt_rc', ' {x|#f.(f = {1|->2,x|->x+1} & f /: 1..2 -->> 2..4) & x :2..4} = 2..4',
5709 '-evalt_rc', ' f = {1|->2,2|->x} & f /: 1..2 >-> 2..4 & x :2..3',
5710 '-evalt_rc', ' {x|#f.(f = {1|->2,2|->x} & f /: 1..2 >-> 2..4) & x :2..3} = {2}',
5711 '-evalt_rc', ' {x|#f.(f = {1|->3,2|->x} & f /: 1..2 >-> 2..4) & x :2..5} = {3,5}'
5712 ], 'Ensure reified total_function test for not total surjection and injection works').
5713 cli_testcase(1990, [strings,external], [
5714 '-evalt_rc', 'size("abc")=3',
5715 '-evalt_rc', 'conc(["a","b","c"])= "abc"',
5716 '-evalt_rc', 'conc(["a","b","c"])= "a"^"b"^"c"',
5717 '-evalt_rc', 'size(conc(["a","b","c"]))= 3',
5718 '-evalt_rc', 'size(conc([ [1],[2],[3]]))= size(conc(["a","b","c"]))',
5719 '-evalt_rc', 'conc([x,".",y]) = "file.txt"',
5720 '-evalt_rc', '{x,y|conc([x,".",y]) = "file.txt"} = {("file","txt")}'
5721 ], 'Test conc and size can be applied to STRING literals').
5722 cli_testcase(1991, [b_test,error_checks],
5723 ['../prob_examples/public_examples/B/ErrorMachines/InconsistentPROPERTIES.mch',
5724 '-p', 'ALLOW_INCOMPLETE_SETUP_CONSTANTS', 'FALSE',
5725 '-execute_all', '-expcterr', 'setup_constants_inconsistent'], 'Test inconsistent PROPERTIES detected in execute.').
5726 cli_testcase(1992, [b_test,error_checks],
5727 ['../prob_examples/public_examples/B/ErrorMachines/InconsistentPROPERTIES.mch',
5728 '-p', 'ALLOW_INCOMPLETE_SETUP_CONSTANTS', 'TRUE',
5729 '-execute_all', '-expcterr', 'setup_constants_inconsistent'], 'Test inconsistent PROPERTIES detected in execute with ALLOW_INCOMPLETE_SETUP_CONSTANTS.').
5730 cli_testcase(1993,[alloy],[
5731 '../prob_examples/public_examples/Alloy/SimpleTests/TestUtilInteger.als',
5732 '-strict', '-t', '-p', 'ALLOY_STRICT_INTEGERS', 'FALSE'
5733 ], 'Check Alloy translation without strict integers').
5734 cli_testcase(1994, [cbc,smt,chr], [
5735 '../prob_examples/public_examples/Eval/smtlib_trans_for_z3/z3_pow.smt2',
5736 '../prob_examples/public_examples/Eval/smtlib_trans_for_z3/z3_knights_knaves.smt2',
5737 '-p', 'SMTLIB_BOOL_ARRAYS_TO_SETS', 'TRUE',
5738 '-p', 'SMTLIB_PREPROCESS', 'TRUE',
5739 '-p', 'CHR', 'TRUE', '-p', 'SMT', 'TRUE'], 'Test SMT interface and solving').
5740 cli_testcase(1995, [b_test], [
5741 '-p', 'DATA_VALIDATION', 'TRUE',
5742 '-evalt_rc', '([1,2] ; %x.(x:NATURAL|x+2) ; %y.(y:NATURAL|bool(y>3)) ; {TRUE|->"true", FALSE |-> "false"})(2) = "true"',
5743 '-evalt_rc', '([1,2] ; %x.(x:NATURAL|x+2) ; (%y.(y:NATURAL|bool(y>3)) ; {TRUE|->"true", FALSE |-> "false"}))(2) = "true"',
5744 '-evalt_rc', '([1,2] ; %x.(x:NATURAL|x+2) ; %y.(y:NATURAL|bool(y>3)) ; {TRUE|->"true", FALSE |-> "false"})(1) = "false"',
5745 '-evalt_rc', ' ([1,2] ; %x.(x:NATURAL|x+2) ; %y.(y:NATURAL|bool(y>3)))(2)=TRUE',
5746 '-evalt_rc', '([1,2,3] ; %x.(x:NATURAL|x+2) ; %y.(y:NATURAL|y*2))(2) = 8'
5747 ], 'Test relational composition ast cleanup rewrites').
5748 cli_testcase(1996, [laws,strings,external], ['stdlib/AssertionsForLibraries.mch', '-assertions', '-strict'], 'Assertions for external functions'). % for LibraryMath, LibraryStrings
5749
5750 cli_testcase(1997, [private,data_validation], ['../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_DB_Route_0001ori.mch', '-animate_all', '-strict', '-cc', 97, 96, '-p', 'TIME_OUT', 28000, '-p', 'CLPFD', 'FALSE', '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647, '-his', '../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_DB_Route_0001ori.his',
5751 '-p', 'DATA_VALIDATION', 'TRUE'], 'Rule Test 1 of Alstom compilation project (test 981) with DATA_VALIDATION').
5752 cli_testcase(1998, [private,data_validation,siemens,closure1], ['../prob_examples/examples/B/Siemens/CBTC_Sol_Line4_SaoPaulo/pas_as_env_inv_cv_sui_v2.mch','-strict',
5753 '-p','CLPFD', 'TRUE',
5754 '-p', 'DATA_VALIDATION', 'TRUE',
5755 '-aa', 61, 2, 0, % was '-aa', 62, 1, 0, for pas_as_env_inv_cv_sui.mch with prior closure(.) definition
5756 '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 25000, '-p', 'WARN_IF_DEFINITION_HIDES_VARIABLE', 'FALSE','-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test 799 with DATA_VALIDATION.').
5757 cli_testcase(1999, [private,data_validation,siemens,closure1], ['../prob_examples/examples/B/Siemens/CBTC_Sol_Line4_SaoPaulo/pas_as_env_inv_cv_sui_v2.mch','-strict',
5758 '-p','CLPFD', 'FALSE',
5759 '-p', 'DATA_VALIDATION', 'TRUE',
5760 '-aa', 61, 2, 0, % was '-aa', 62, 1, 0, for pas_as_env_inv_cv_sui.mch with prior closure(.) definition
5761 '-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 25000, '-p', 'WARN_IF_DEFINITION_HIDES_VARIABLE', 'FALSE','-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test 799 with DATA_VALIDATION and CLPFD FALSE.').
5762 cli_testcase(2000, [private,data_validation], ['../prob_examples/examples/B/Systerel/C578/2013/machines_24092013/07_001.mch',
5763 '-init' ,'-assertions', '-p', 'SYMBOLIC', 'TRUE', '-p', 'MEMO', 'TRUE', '-p', 'TIME_OUT', 9500,
5764 '-p', 'DATA_VALIDATION', 'TRUE',
5765 '-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', 0 ], 'Test 1161/1890 with DATA_VALIDATION').
5766 cli_testcase(2001, [b_test,hash], [
5767 '../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch',
5768 '-machine_statistics', '-machine_files',
5769 '-machine_hash',
5770 '-machine_hash_check', '18cb322231c1f57fbdb2c535f00910ecb1efeee9',
5771 % before adding hygienic_def infos ed7d35c52140690e56423762063b8d71b59042d7',
5772 % before adding read_output_positions info 'fc7a46352bd24dbbf8120aef128a2e4dd6f2a1eb',
5773 % before extending raw_operator/list_operator for def. position '712fcdfdbc7482738bd9a616ced01c9b457e77ed',
5774 % before improved position info for operation names, etc. (parser 2.13.5): '5f2171aad61098a8bff85cc09ea09f9ad8b72c8a',
5775 % before avoiding duplicate removed_typing: 'db72de00b9638c148db966df68d234226261418e',
5776 % before avoiding duplicate nodeid entries in info field for conjunct/1: 'ff47205b5011f1e35f75002b2d2fc115d3d9aff1',
5777 % before flat conjunct term format (parser 2.9.31): 'aab862683ad0396cce6178d6a3fe024be7504866',
5778 % before new parser pos infos: '749253625ce2e799e722ab57631d67859e7f0774',
5779 % before removing if_elsif position infos: '5159c4e2368c5be7b393a588434b86dc8588fedb',
5780 % before removing nodeid(none): '9644995ace8f8f24e2ac48d026503b1e4ed4520c', 3/3/2021
5781 % before fixing computation of reads info for SELECT: '0612a27195f445d314bdd5f7cc8de5ef91c91577',
5782 % before adding meta about header positions: '841add099ffe2d4c2f049649586f0c4013417af0',
5783 '-strict'], 'Test machine information commands').
5784 cli_testcase(2002,[private_source_not_available],[
5785 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'TRUE',
5786 '-p', 'DATA_VALIDATION', 'TRUE',
5787 '../private_examples/ClearSy/2020/01_Jan/regressions2/rule_Regle_Transverse_Variable_Q_DIR/rule.mch',
5788 '-execute_all', '-silent',
5789 '-execute_expect_steps', 6,
5790 '-evalt', 'caval__rule__1__done=TRUE & caval__rule__2__done=TRUE & caval__rule__3__done=TRUE & caval__rule__4__done=TRUE',
5791 '-evalt', 'card(caval__rule__1__ALL) = 1187 & card(caval__rule__4__ALL) = 180'
5792 ], 'Ensure useless existentially quantified variable (value) does not perturb enumeration').
5793 cli_testcase(2003,[private_source_not_available],[
5794 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'TRUE',
5795 '-p', 'DATA_VALIDATION', 'TRUE',
5796 '../private_examples/ClearSy/2020/01_Jan/ticket_record_typing/ruleERR_missingdata.mch',
5797 '-execute_all',
5798 '-execute_expect_steps', 3, '-silent',
5799 '-evalt', 'caval__rule__1__done=TRUE',
5800 '-evalt', 'caval__rule__1__ALL={({("FINAL_GEIF__id1"|->1|->"eq11"|->"eq11"|->1|->"aa")}|->FALSE),({("FINAL_GEIF__id1"|->1|->"eq21"|->"eq21"|->1|->"aa")}|->FALSE),({("FINAL_GEIF__id1"|->2|->"A_equ2__tst2"|->"A_equ2__tst2"|->2|->"aa")}|->FALSE),({("FINAL_GEIF__id2"|->3|->"A_equ2__tst1"|->"A_equ2__tst1"|->3|->"aa")}|->FALSE),({("FINAL_GEIF__id2"|->4|->"A_equ2__tst2"|->"A_equ2__tst1"|->4|->"aa")}|->FALSE)}'
5801 ], 'Ensure problem with type checker and wrongly sorted record fields solved').
5802 cli_testcase(2004,[private_source_not_available],[
5803 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'TRUE',
5804 '-p', 'DATA_VALIDATION', 'TRUE',
5805 '../private_examples/ClearSy/2020/01_Jan/ticket_record_typing/ruleOK_noExpectedName.mch',
5806 '-execute_all', '-execute_expect_steps', 3,
5807 '-silent',
5808 '-evalt', 'caval__rule__1__done=TRUE',
5809 '-evalt', 'caval__rule__1__ALL={({("FINAL_GEIF__id1"|->1|->"eq11"|->1|->"{1,2,3,4}")}|->FALSE),({("FINAL_GEIF__id1"|->1|->"eq21"|->1|->"{1,2,3,4}")}|->FALSE),({("FINAL_GEIF__id1"|->2|->"A_equ2__tst2"|->2|->"{1,2,3,4}")}|->FALSE),({("FINAL_GEIF__id2"|->3|->"A_equ2__tst1"|->3|->"{1,2,3,4}")}|->FALSE),({("FINAL_GEIF__id2"|->4|->"A_equ2__tst2"|->4|->"{1,2,3,4}")}|->FALSE)} '
5810 ], 'Variation of test 2003 with file which did not exhibit initial problem').
5811 cli_testcase(2005,[tickets,records],[
5812 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5813 '../prob_examples/public_examples/B/Tester/RecordInDefinitions.mch',
5814 '-mc', '10', '-assertions'
5815 ], 'Ensure problem with type checker and wrongly sorted record fields solved').
5816 cli_testcase(2006,[tickets],[
5817 '../prob_examples/public_examples/B/Tickets/Vu_Inclusion/BError_1.mch',
5818 '-init'
5819 ], 'Check no variable clash in machine inclusion').
5820 cli_testcase(2007,[private_source_not_available],[
5821 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'TRUE',
5822 '-p', 'DATA_VALIDATION', 'TRUE',
5823 '../private_examples/ClearSy/2020/01_Jan/memory/Debug__2486__INF/rule_OPS_SDS_2486/rule.mch',
5824 '../private_examples/ClearSy/2020/01_Jan/memory/Debug__2486__TO_STRING/rule_OPS_SDS_2486/rule.mch',
5825 '-execute_all', '-silent',
5826 '-evalt', 'caval__rule__1__done=TRUE & caval__rule__2__done=TRUE & caval__rule__3__done=TRUE'
5827 ], 'Test infinite loop in instantiated_enough for filter_cannot_match in b_compiler solved').
5828 cli_testcase(2008, [cbc,wd,sequences,strings], ['-p', 'STRING_AS_SEQUENCE', 'TRUE',
5829 '-evalt', 'rev("ab")="ba"',
5830 '-evalt', '{"abc","aba","a",""} = a & {x|x:a & x=rev(x)} = {"","a","aba"}',
5831 '-evalt', 'rev("a" ^ "b" ^ "c") = "cba"',
5832 '-evalt', 'rev(conc(["a" , "b" , "c"])) = "cba"'
5833 ], 'Check rev operator works on strings').
5834 cli_testcase(2009, [b_test,card,sequences], ['-p', 'CLPFD', 'TRUE',
5835 '-evalt', '/*@symbolic */ {x|x:seq(0..1) & card(x)>5} /= /*@symbolic */ {x|x:seq(0..1) & card(x)>5 & card(x) /= 10}',
5836 '-evalt', '/*@symbolic */ {x|x:seq(0..1) & card(x)>5} /= /*@symbolic */ {x|x:seq(0..1) & card(x)>6}',
5837 '-evalt', '/*@symbolic */ {x|x:seq(0..2) & card(x)>5} /= /*@symbolic */ {x|x:seq(0..1) & card(x)>5}',
5838 '-evalt', '/*@symbolic */ {x|x:seq(0..1) & card(x)>5} /= /*@symbolic */ {x|x:seq(0..2) & card(x)>5}',
5839 '-evalf', '/*@symbolic */ {x|x:seq(0..2) & card(x)>5} /= /*@symbolic */ {x|x:seq(0..2) & card(x)>5}',
5840 '-evalt', 'z : seq(0 .. 2) & card(z) > 5 & not ( z : seq(0 .. 1) & card(z) > 5)',
5841 '-evalf', '!z.(z :seq(INTEGER) => (z : /*@symbolic*/ {x|x : seq((0 .. 1)) & card(x) > 5}) <=> (z : /*@symbolic*/ {x|x : seq((0 .. 2)) & card(x) > 5}))'
5842 %'-evalf', '!z.(z : POW(INTEGER * INTEGER) => (z : /*@symbolic*/ {x|x : seq((0 .. 1)) & card(x) > 5}) <=> (z : /*@symbolic*/ {x|x : seq((0 .. 2)) & card(x) > 5}))' % requires to infer seq type from RHS of forall with <=>
5843 ],'Check symbolic treatment works'). % also works without /*@symbolic */
5844 % skipped on 3.3.2026: btypechecker no longer infers seq(.) type, leading to failure for get_identity_as_equivalence
5845 % unskipped on 4.3.2026 after adding infer_seq_type to create_forall and comprehension_sets
5846 cli_testcase(2010,[cbc],[
5847 '../prob_examples/public_examples/B/Mathematical/DominatingSets/TestSolverStrength_DomBV.mch',
5848 '-init', '-p', 'TIME_OUT', 7500 % Linux Gitlab runners seem considerably slower than MacBook here
5849 ], 'Check SOLVER_STRENGTH used for reification').
5850 cli_testcase(2011, [cbc,tickets], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5851 '-evalt', '{Knights,Knaves| Knights \\/ Knaves = All & Knights /\\ Knaves = {} & (1:Knights <=> (2:Knaves or 3:Knaves)) & (2:Knights <=> 1:Knights)}=Res & All=1..3 & Res = {({1,2}|->{3})}',
5852 '-evalt', 'Knights \\/ Knaves = All & Knights /\\ Knaves = {} & (1:Knights <=> (2:Knaves or 3:Knaves)) & (2:Knights <=> 1:Knights)',
5853 '-evalt', '{ck,Knights,Knaves| ck=card(Knights) & Knights \\/ Knaves = All & Knights /\\ Knaves = {} & (1:Knights <=> (2:Knaves or 3:Knaves)) & (2:Knights <=> 1:Knights)}=Res & All=1..3 & Res = {(2|->{1,2}|->{3})}'
5854 ], 'Test would produce set lists with repeated entries').
5855 cli_testcase(2012,[cbc],[
5856 '../prob_examples/public_examples/B/PerformanceTests/Generated/Assertions/GenAssertions1000.mch',
5857 '../prob_examples/public_examples/B/PerformanceTests/Generated/Assertions/GenPowAssertions1000.mch',
5858 '-p', 'DOUBLE_EVALUATION', 'TRUE',
5859 '-init', '-assertions'
5860 ], 'Check generated assertions all solvable').
5861 cli_testcase(2013,[cbc],[
5862 '../prob_examples/public_examples/B/PerformanceTests/SAT_Tests/ReificationCompTests.mch',
5863 '-t'
5864 ], 'Check reification with function applications work').
5865 cli_testcase(2014, [private,data_validation,pragmas], ['../prob_examples/examples/B/Systerel/C578/2013/machines_06092013/T_032_002_pragmas.mch',
5866 '-init' ,'-aa', 0,1,0, '-p', 'SYMBOLIC', 'FALSE', '-p', 'TIME_OUT', 7500, '-p', 'CLPFD', 'TRUE',
5867 '-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', 0 ], 'Test 1146 with SYMBOLIC FALSE').
5868 cli_testcase(2015,[private_source_not_available],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
5869 '../private_examples/ClearSy/2020/02_Feb/well-def2/rule_OK.mch',
5870 '-execute_all', '-silent',
5871 '-evalt', 'caval__rule__1__done=TRUE & caval__rule__2__done=TRUE & caval__rule__3__done=TRUE & caval__rule__4__done=TRUE',
5872 '-evalt', 'caval__rule__4__ALL = {({}|->36|->TRUE),({}|->114|->TRUE),({("DVP_OK_paquet_commutable.xls"|->"MSG_P_SI11_MA_SI11-SI21-S"|->"P_SI11_E1"|->444)}|->132|->FALSE)}'
5873 ], 'Test idle waitflag not variable issue in exists solved').
5874 cli_testcase(2016, [codespeed], ['-version', '-cpp-version'], 'Just check startup time').
5875 cli_testcase(2017,[wd],[
5876 '../prob_examples/public_examples/EventBPrologPackages/Tests/testPowerWD_ctx.eventb',
5877 '-init', '-expcterr', well_definedness_error, '-expcterr', setup_constants_fails,
5878 '-opterr', 'setup_constants_unknown' %% ?? or unknown ???
5879 ], 'Test WD error for power_of with negative base found').
5880 cli_testcase(2018,[wd,wd_prover],[
5881 '-evalt', ':wd x = 10/2',
5882 '-evalf', ':wd x = 10/0',
5883 '-evalt', ':wd a>0 & x>0 & x:1..10 & f:1..10-->INTEGER & f(x)=2 & x>1',
5884 '-evalt', ':wd z:2..8 & f=%x.(x:2..10|x) & y=f(z)',
5885 '-evalt', ':wd x:2..4 & f=%x.(x:1..8|x) & r=f(x)',
5886 '-evalt', ':wd %x.(x:2..8 | %x.(x:2..8|10/3)(x)) = x',
5887 '-evalt', ':wd %x.(x:2..8 | %x.(x:2..8|10/x)(x)) = x',
5888 '-evalt', ':wd x:NATURAL1 & y:NATURAL1 & x mod y = x/y',
5889 '-evalt', ':wd x:NAT1 & y:1..MAXINT & x mod y = x/y',
5890 '-evalt', ':wd s:perm(1..10) & f=s(1)',
5891 '-evalf', ':wd s:perm(1..10) & f=s(0)',
5892 '-evalf', ':wd s:perm(1..10) & f=s(11)',
5893 '-evalt', ':wd s:perm(1..10) & x:dom(s) & s2:perm(1..10) & s2(x)=res',
5894 '-evalt', ':wd x:iseq(BOOL) & size(x) = 1',
5895 '-evalt', ':wd x:POW(1..2) & card(x)=1',
5896 '-evalt', ':wd x:FIN(NATURAL1) & card(x)=1',
5897 '-evalt', ':wd card(iseq(BOOL))=r',
5898 '-evalf', ':wd card(seq(BOOL))=r',
5899 '-evalt', ':wd x:seq(NATURAL) & card(x)=2',
5900 '-evalt', ':wd x:seq(NATURAL1) & size(x)=2',
5901 '-evalt', ':wd size([1,2,x])=3',
5902 '-evalt', ':wd x={} & card(x)=0 & 1:x',
5903 '-evalt', ':wd size([1,2,4])=3',
5904 '-evalt', ':wd first(x->[2])=1',
5905 '-evalt', ':wd first(rev([1,2,3])) = 1',
5906 '-evalt', ':wd y:iseq(1..2) & first(y^rev([1,2,3])) >1',
5907 '-evalt', ':wd conc([[1] , [2]]) = res',
5908 '-evalt', ':wd first([1,2,3])=res',
5909 '-evalt', ':wd [1,2,3] /|\\ 2 = res',
5910 '-evalt', ':wd f = aGraph*{[]} & g:aGraph & f(g)=[2] & aGraph<:BOOL',
5911 '-evalt', ':wd f: BOOL +-> seq(INTEGER) & f = aGraph*{[]} & g:aGraph & f(g)=[2]',
5912 '-evalt', ':wd x:NATURAL1 & y>=x & x mod y = x/y',
5913 '-evalt', ':wd f : NATURAL1 --> INTEGER & x>2 & res=f(x)',
5914 '-evalt', ':wd x/={} & inter(x)={1}',
5915 '-evalt', ':wd f = %(p1,z1).(p1:A & z1:A|p1+z1) & A <: INTEGER & g: INTEGER +-> A & 1:dom(g) & res = f(g(1),g(1))',
5916 '-evalt', ':wd SIGMA(x).(x:1..10|x) =res',
5917 '-evalt', ':wd x:1..10 & f:1..10 --> BOOL & r=f(x)',
5918 '-evalf', ':wd x:1..10 & f:2..10 --> BOOL & r=f(x)',
5919 '-evalt', ':wd x=0 or res=10/x',
5920 '-evalt', ':wd f : NATURAL1 --> NATURAL1 & x>2 & res=f( f(x) )',
5921 '-evalt', ':wd f : NATURAL --> NATURAL1 & x>2 & res=f( f(x) )',
5922 '-evalt', ':wd f : INTEGER --> NATURAL1 & x>2 & res=f( f(x) )',
5923 '-evalf', ':wd f : NATURAL1 --> NATURAL & x>2 & res=f( f(x) )',
5924 '-evalt', ':wd f: 1..10 --> BOOL & card(S <| f)=9 & card(f <+ {x|->TRUE})=10 & card(S2 <<| f)=0 & card(f|>{TRUE})=0',
5925 '-evalt', ':wd f: 1..10 -->BOOL & res = (f <+ {11 |-> TRUE})(10)',
5926 '-evalf', ':wd f: 1..10 -->BOOL & res = (f <+ {11 |-> TRUE})(0)',
5927 '-evalt', ':wd f : 1..n --> BOOL & n=3 & f(3)=TRUE',
5928 '-evalt', ':wd f : {1,3,5,7,9} --> {1,3,5,7,9} & f(5)=3',
5929 '-evalt', ':wd f : {a,b} --> {1,3,5,7,9} & f(a)=3 & a:INTEGER',
5930 '-evalt', ':wd teamr : 1..11 >-> 1..22 & pp:ran(teamr) & res=teamr~(pp)',
5931 '-evalt', ':wd teamr : 1..11 >-> 1..22 & pp:ran(teamr) & res=teamr(teamr~(pp))',
5932 '-evalt', ':wd card( { tr | tr: 1..NRTrains & tr : other}) = 1',
5933 '-evalt', ':wd S <: NATURAL1 & f : S >+> S & pl : ran(f) & vps : S --> 0..mx & res=vps(pl)',
5934 '-evalt', ':wd S <: NATURAL1 & f : S >+> S & pl : dom(f) & vps : S --> 0..mx & res=vps(pl)',
5935 '-evalt', ':wd a:iseq(BOOL) & x:dom(a) & r=10/x',
5936 '-evalt', ':wd a:INTEGER+->NATURAL1 & x:ran(a) & r=10/x',
5937 '-evalf', ':wd a:INTEGER+->NATURAL1 & x:dom(a) & r=10/x',
5938 '-evalf', ':wd a:INTEGER+->z..y & x:ran(a) & r=10/x',
5939 '-evalf', ':wd a:INTEGER+->x..y & x:ran(a) & r=10/x',
5940 '-evalt', ':wd S_ESPC <: NAT & aspect_pi : S_ESPC --> INT & S_ESPC = {PL02,PL04} & res = aspect_pi (PL02)',
5941 '-evalt', ':wd a:1..10 & b:2..20 & f: (1..10)*(2..40) --> BOOL & f(a|->b)=TRUE',
5942 '-evalt', ':wd a:1..10 & b:2..20 & f: (1..10) --> ((2..40) --> BOOL) & f(a)(b)=TRUE',
5943 '-evalt', ':wd x:FIN(x) & x<:INTEGER & card(x)=10',
5944 '-evalt', ':wd x:FIN(x) & x<:INTEGER & y <: x & card(y)=10',
5945 '-evalt', ':wd x:FIN(x) & x<:INTEGER & y <<: x & card(y)=10',
5946 '-evalt', ':wd f:NATURAL1 --> NATURAL1 & a:NATURAL1 & b:NATURAL & f(a)=c & f(b+1)=c', %% PP runs forever
5947 '-evalt', ':wd f:NATURAL1 --> NATURAL1 & a:NATURAL1 & b:NATURAL & 10 / f(a) = 10 / a & 10 / f(b+1) = 10 / (b+1)', %% PP runs forever
5948 '-evalt', ':wd f:NATURAL1 --> NATURAL1 & a:NATURAL1 & b:NATURAL & max({a,b,c})=c',
5949 '-evalt', ':wd f:NATURAL1 --> NATURAL1 & a:NATURAL1 & b:NATURAL & c>a & max(a..c)=c',
5950 '-evalt', ':wd g:a..c --> NATURAL1 & a:NATURAL1 & b:NATURAL & c>a & g(a)=g(c)',
5951 '-evalt', ':wd a:NATURAL1 & b:NATURAL & c>a & s <: {a,b,c} & card(s)=3',
5952 '-evalt', ':wd %x.(x:2..4 | %x.(x:4..8|10/x)(2*x)) = x',
5953 '-evalf', ':wd %x.(x:2..4 | %x.(x:4..7|10/x)(2*x)) = x',
5954 '-evalf', ':wd %x.(x:2..4 | %x.(x:5..8|10/x)(2*x)) = x',
5955 '-evalt', ':wd x:1..10 & f:1..100 --> INT & f(9*x+10)=res',
5956 '-evalt', ':wd x:1..10 & f:1..99 --> INT & f(9*x+9)=res',
5957 '-evalf', ':wd x:1..10 & f:1..99 --> INT & f(9*x+10)=res',
5958 '-evalt', ':wd x:10..109 & f:1..10 --> INT & f(x/10)=res',
5959 '-evalf', ':wd x:9..109 & f:1..10 --> INT & f(x/10)=res',
5960 '-evalf', ':wd x:10..110 & f:1..10 --> INT & f(x/10)=res',
5961 '-evalt', ':wd a : 1 .. sz --> INTEGER & p : perm(dom(a)) & i : 1 .. sz - 1 & res= p(i)',
5962 '-evalt', ':wd a : 1 .. sz --> INTEGER & sz=5 & p : perm(dom(a)) & i : 1 .. sz - 1 & res= p(i)',
5963 '-evalt', ':wd ff: BOOL <-> BOOL & x:dom(ff) & fnc(ff)(x) = res',
5964 '-evalt', ':wd y /=0 & res = x/-y',
5965 '-evalt', ':wd x>0 & (y>=0 & z>=0 => (x**(y*z) = (x**y)**z))',
5966 '-evalt', ':wd (y>=0 & z>=0 & x:INTEGER => (x**(y+z) = x**y * x**z)) ',
5967 '-evalt', ':wd card(perm(1..10)) > 10 & card({x,y|x:1..22 & y=x}) = 22 & card({x,y|x<:1..10 & y=x}) = 1024',
5968 '-evalf', ':wd card({x,y|x:INTEGER & y=x})> 0',
5969 '-evalt', ':wd {n| #x.(x<:(BOOL*BOOL*BOOL) & card(x)=n)} = 0..8',
5970 '-evalt', ':wd x<:INTEGER & {n| #x.(x<:(BOOL*BOOL*BOOL) & card(x)=n)} = 0..8',
5971 '-evalf', ':wd x<:BOOL & {n| #x.(x<:(BOOL*INTEGER*BOOL) & card(x)=n)} = 0..8',
5972 '-evalt', ':wd tail( %x.(x:1..10|TRUE) )=res',
5973 '-evalf', ':wd tail( %x.(x:1..yy|TRUE) )=res',
5974 '-evalt', ':wd card({rr|rr:BOOL<->BOOL & closure1(rr)=rr}) =res',
5975 '-evalt', ':wd r={TRUE|->FALSE} & card({y,x|x|->y:r})=c',
5976 '-evalt', ':wd card({rr|rr:BOOL+->BOOL & closure1(rr)=rr}) =res',
5977 %'-evalt', ':wd f = {x,y|x<:1..10 & y=x} & res = f((1..2))',
5978 %'-evalt', ':wd f = {x,y|x<:1..10 & y=x} & res = f({1,10})',
5979 '-evalt', ':wd r=[1,11,111] & card({y,x|x|->y:r}) = s',
5980 '-evalt', ':wd r = [1,11,11] & card(r~[{11}])=1',
5981 '-evalt', ':wd r = pred & card(r[1..10])=10',
5982 '-evalt', ':prove r = pred => pred:INTEGER +->INTEGER',
5983 '-evalt', ':prove r = pred => pred:INTEGER -->INTEGER',
5984 '-evalt', ':wd r = succ & card(r[1..10])=10',
5985 '-evalt', ':wd x={1|->11,3|->33,5|->55,7|->77,9|->99,100000|->0} & y:dom(x) & res= x(y)',
5986 '-evalt', ':wd x={1|->rec(d:11),3|->rec(d:33),100000|->rec(d:0)} & y:dom(x) & res= x(y)',
5987 '-evalt', ':wd f={1|->x, 3|->y} & 11=f(1)',
5988 '-evalt', ':wd x:1..n-->BOOL & !i.(i:1..(n-2) => (x(i)=TRUE <=> (x(i+1)=FALSE & x(i+2)=FALSE)))',
5989 '-evalt', ':wd s1 |-> s2 : {(1,2),(2,3),(3,5)} & [0,100,200,300,400,500,600,700](s1) = res',
5990 '-evalt', ':wd s1 |-> s2 : {(1,2),(2,3),(3,5)}~ & [0,100,200,300,400,500,600,700](s2) = res',
5991 '-evalt', ':wd s2 : ran({(1,2),(2,3),(3,5)}) & [0,100,200,300,400,500,600,700](s2) = res',
5992 '-evalt', ':wd i5 = %x.(x>10|100+x) & 100:dom(i5) & res=i5(100)',
5993 '-evalf', ':wd i5 = %x.(x>10|100+x) & 11:dom(i5) & res=i5(10)',
5994 '-evalt', ':wd card(struct(f1:1..2,f2:1..2))=res',
5995 '-evalf', ':wd card(struct(f1:1..2,f2:NATURAL))=res',
5996 '-evalt', ':wd target = [2,1,1,2,1] & n=size(target) & i:1..n & target(i)=res',
5997 '-evalf', ':wd target = [2,1,1,2,1] & n=size(target) & i:1..n & target(i+1)=res',
5998 '-evalf', ':wd target = [2,1,1,2,1] & n=size(target) & i:0..n & target(i)=res',
5999 '-evalt', ':wd Right:seq(BOOL) & (Right/=[] => tail(Right)=res)',
6000 '-evalt', ':wd Right:seq(BOOL) & (Right<-FALSE)(1)=cur',
6001 '-evalt', ':wd ds : (POW(INTEGER)*seq(BOOL)) --> POW(INTEGER) & res=ds(cur,[input])',
6002 '-evalt', ':wd K : seq(BOOL) <-> seq(BOOL) & ix|->iy:K & res= ix^iy',
6003 '-evalt', ':wd arr : 1 .. n --> BOOL & j : 1 .. n - 1 & i=j & i2=i+1 & arr(i2)=res',
6004 '-evalf', ':wd f: BOOL --> 1..10 & g : 2..20 --> BOOL & bb:BOOL & (f;g)(bb)=res',
6005 '-evalt', ':wd f: BOOL --> 1..10 & g : 0..20 --> BOOL & bb:BOOL & (f;g)(bb)=res',
6006 '-evalt', ':wd f: BOOL --> 1..10 & g : 0..20 --> BOOL & bb:BOOL & fg = (f;g) & (fg)(bb)=res',
6007 '-evalt', ':wd f: BOOL --> 1..10 & g : 0..20 --> 8..16 & bb:BOOL & g(((f;g))(bb))=res',
6008 '-evalt', ':wd f: BOOL --> 1..10 & g : 0..20 --> 8..16 & bb:BOOL & fg = (f;g) & g((fg)(bb))=res',
6009 '-evalt', ':wd max({1} \\/ (1..100 /\\ {x|x>2 & x<2}))=res',
6010 '-evalf', ':wd max((1..100 /\\ {x|x>2 & x<2}))=res',
6011 '-evalt', ':wd iv:seq(BOOL) & size(iv)>0 & res=first(iv)',
6012 '-evalt', ':wd iv:seq(INT) & size(iv)>=1 & res=first(iv)',
6013 '-evalt', ':wd iv:seq(NAT) & card(iv)>=1 & res=first(iv)',
6014 '-evalf', ':wd iv:seq(INT) & size(iv)>=0 & res=first(iv)',
6015 '-evalt', ':wd iv:seq(NATURAL1) & size(iv)>x & x>=1 & res=first(iv)',
6016 % '-evalt', ':wd iv:seq(NATURAL1) & b:seq(BOOL) & size(iv)>size(b) & res=first(iv)',
6017 '-evalt', ':wd iv:seq(NATURAL1) & b:seq(BOOL) & size(iv)>size(b) & size(b) > 0 & res=first(iv)',
6018 '-evalt', ':wd iv:seq(NATURAL1) & b:seq(BOOL) & size(iv)>size(b) & card(b) > 0 & res=first(iv)',
6019 '-evalt', ':wd iv:seq(NATURAL1) & b:seq(BOOL) & size(iv)>size(b) & b /= {} & res=first(iv)',
6020 '-evalt', ':wd ff:seq(BOOL) & (ff/=<> => (first(ff) = last(rev(ff)) & last(ff) = first(rev(ff))))',
6021 '-evalt', ':wd ff:seq(BOOL) & card(ff^ff) > card(rev(ff))',
6022 '-evalt', ':wd ff:seq1(INT) & x=max(ran((ff)))',
6023 '-evalt', ':wd ff:seq1(INT) & x=max(ran(rev(ff)))',
6024 '-evalt', ':wd ff:seq1(INT) & x=max(ran(ff^ff))',
6025 '-evalt', ':wd ff: 1..10 --> INT & m = max(ran(ff))',
6026 '-evalf', ':wd ff: 1..10 +-> INT & m = max(ran(ff))',
6027 '-evalt', ':wd ff:seq(BOOL) & xx:1..(size(ff)) => (( (ff/|\\xx)/\\(ff\\|/xx) ) = <> )',
6028 '-evalt', ':wd ff:seq(BOOL) & xx:NAT1 & xx:1..(size(ff)) => (( (ff/|\\xx)/\\(ff\\|/xx) ) = <> )',
6029 '-evalt', ':wd f:1..10 --> BOOL & x:NATURAL1 & x<11 & res=f(x)',
6030 '-evalt', ':wd f:1..10 --> BOOL & x:NATURAL1 & x<=card(f) & res=f(x)',
6031 '-evalt', ':wd f:1..10 --> BOOL & x:NAT1 & x<11 & res=f(x)',
6032 '-evalt', ':wd f:1..10 --> BOOL & x:NAT1 & x<size(f) & res=f(x)',
6033 '-evalt', ':wd f:1..10 --> BOOL & x:NAT1 & x<card(f) & res=f(x)',
6034 '-evalt', ':wd min(NAT1)=1 & min(NAT)=0 & max(NAT)=maxint',
6035 '-evalt', ':wd ff:seq1(BOOL) => (first(ff)=ff(1) & last(ff) = ff(size(ff)))',
6036 '-evalt', ':wd s:seq(BOOL) & i:NATURAL1 & i<= size(s) & res=s(i)',
6037 '-evalt', ':wd s:seq(BOOL) & j:NATURAL1 & i>j & i<= size(s) & res=s(i)',
6038 '-evalt', ':wd (IF y>0 THEN [1] ELSE [2] END)^[3] = x',
6039 '-evalt', ':wd (IF y>0 THEN [1] ELSE [2] END)^[3,4] = x',
6040 '-evalt', ':wd first(IF y>0 THEN [1] ELSE [2] END) = x',
6041 '-evalt', ':wd y:seq(INT) & r=tail(IF x<0 THEN [0] ELSE [x] END^y)',
6042 '-evalt', ':wd yy:1..9 & xx<yy & r=1/(10-xx)',
6043 '-evalt', ':wd yy:1..10 & xx<yy & r=1/(10-xx)', % requires to store < in hyps
6044 '-evalt', ':wd yy:1..10 & yy>xx & r=1/(10-xx)', % ditto
6045 '-evalf', ':wd yy:1..10 & xx<=yy & r=1/(10-xx)',
6046 '-evalt', ':wd ts = [TRUE,FALSE,TRUE] & t={1,3,5} & i:1..card(t) & res=ts(i)',
6047 '-evalt', ':wd ts = [TRUE,FALSE,TRUE] & t={1,3,5} & i:0..card(t)-1 & res=ts(i+1)',
6048 '-evalt', ':wd d=1..n & a:d --> 1..100 & d /= {} & res=max(d)',
6049 '-evalt', ':wd a:1..n --> 1..100 & 1..n /= {} & res=a(1)',
6050 '-evalt', ':wd d=1..n & a:d --> 1..100 & d /= {} & res=a(1)',
6051 '-evalt', ':wd d=1..n & a:d --> 1..100 & d /= {} & res=a(n)',
6052 '-evalt', ':wd g : 1 .. n >-> NATURAL & k:1..n & j:k..n & n>k & j>=k & res = min(g[k..j])',
6053 '-evalt', ':wd f : i..j --> BOOL & x:i..j & res=f(i)',
6054 '-evalt', ':wd g : 1 .. n >-> NATURAL & k:1..n & j:k..n & res = min(g[k..j])',
6055 '-evalt', ':wd j : k .. n & ll : k .. j & g : 1 .. n >-> NATURAL & k : 1 .. n & ll:NATURAL & res = g(ll)',
6056 '-evalt', ':wd j:1..k & f:1..k --> BOOL & j/=k & res=f(j+1)',
6057 '-evalt', ':wd j:1..k & f:1..k --> BOOL & j/=1 & res=f(j-1)',
6058 '-evalt', ':wd f: 1..10 +-> BOOL & 1..9 <: dom(f) & res=f(1)',
6059 '-evalt', ':wd f: 1..10 +-> BOOL & !x.(x:1..9 => x:dom(f)) & res=f(1)',
6060 '-evalf', ':wd f: 1..10 +-> BOOL & !x.(x:1..9 => x:dom(f)) & 1..9 <: dom(f) &res=f(10)',
6061 '-evalt', ':wd s:seq(BOOL) & size(s)=10 & xx:1..n & n<10 & res = (s /|\\ n)(xx)',
6062 '-evalt', ':wd s:seq(BOOL) & size(s)=10 & xx:1..n & n<=10 & res = (s /|\\ n)(xx)',
6063 '-evalf', ':wd s:seq(BOOL) & size(s)=10 & xx:1..n & n<=10 & res = (s /|\\ n)(xx+1)',
6064 '-evalf', ':wd s:seq(BOOL) & size(s)=10 & xx:1..11 & n<=10 & res = (s /|\\ n)(xx)',
6065 '-evalt', ':wd sze = 8 & MSG = 1 .. sze --> BIT & BIT = {0,1} & c:MSG & res = c(1)',
6066 '-evalf', ':wd sze = 8 & MSG = 1 .. sze --> BIT & BIT = {0,1} & c:MSG & res = c(0)',
6067 '-evalt', ':wd make = id(INTEGER * INTEGER) & coord = make~ & xcoord = (coord ; %(z_,z__).(z_ : INTEGER & z__ : INTEGER|z_)) & res = xcoord((1,2))',
6068 '-evalt', ':wd make = id(NATURAL1 * NATURAL1) & coord = make~ & xcoord = (coord ; %(z_,z__).(z_ : INTEGER & z__ : INTEGER|z_)) & res = xcoord((1,2))',
6069 '-evalf', ':wd make = id(NATURAL1 * NATURAL1) & coord = make~ & xcoord = (coord ; %(z_,z__).(z_ : INTEGER & z__ : INTEGER|z_)) & res = xcoord((1,0))',
6070 '-evalf', ':wd j : k .. n & l: k..j & g : 1 .. n >-> NATURAL & res = g(l)', % l not guaranteed >= 1
6071 '-evalt', ':wd k>=1 & j : k .. n & l: k..j & g : 1 .. n >-> NATURAL & res = g(l)',
6072 '-evalt', ':wd BVc=16 & BIdx = 1..BVc & s:BIdx --> BOOL & res=size(s)',
6073 '-evalf', ':wd BVc>=0 & BIdx = 1..BVc & s:BIdx --> BOOL & res=first(s)',
6074 '-evalt', ':wd BVc>0 & BIdx = 1..BVc & s:BIdx --> BOOL & res=first(s)',
6075 '-evalt', ':wd BVc=16 & BIT={0,1} & BIdx = 1..BVc & bt:BIdx --> BIT & bit_not : BIT >->> BIT & res = bit_not(bt(1))',
6076 '-evalt', ':wd BVc=16 & BIT={0,1} & BIdx = 1..BVc & BV16 = BIdx --> BIT & bt:BV16 & bit_not : BIT >->> BIT & res = bit_not(bt(1))',
6077 '-evalt', ':wd U_MAX = (pow2__16) -1 & U_MIN = 0 & USHORT = U_MIN..U_MAX & v0 : USHORT & res = v0 mod 2',
6078 '-evalt', ':wd U_MAX = pow2__8 - 1 & U_MIN = 0 & UCHAR = ( U_MIN .. U_MAX) & uchar_byte = % ( v0 ) . ( v0 : UCHAR | [v0 mod 2,v0/2]) & w1:UCHAR & res=uchar_byte(w1)',
6079 '-evalt', ':wd x: iseq(BOOL) & TRUE:ran(x) & res = x~(TRUE)',
6080 '-evalt', ':wd f : BOOL --> iseq(BOOL) & x=f(TRUE) & p1:dom(x) & res=x(p1)',
6081 '-evalt', ':wd f : BOOL --> iseq(BOOL) & x:ran(f) & p1:dom(x) & res=x(p1)',
6082 '-evalt', ':wd PFT = BOOL --> iseq(BOOL) & f : PFT & x:ran(f) & p1:dom(x) & res=x(p1)',
6083 '-evalt', ':wd PFT = iseq(BOOL) --> BOOL & f : PFT & x:dom(f) & p1:dom(x) & res=x(p1)',
6084 '-evalt', ':wd s : seq1(BOOL) & i=size(s) & res = s(i)',
6085 '-evalt', ':wd s : seq1(BOOL) & i=size(s) & res = s /|\\ i',
6086 '-evalt', ':wd s : seq1(BOOL) & i=size(s)/2 & res = s /|\\ (size(s)/2)',
6087 % does not work yet: :wd s : seq1(BOOL) & i=size(s)/2 & res = s /|\ i
6088 '-evalt', ':wd stackTypes : -4 .. MaxSize --> BOOL & MaxSize : 0 .. 9 & stackSz <= MaxSize & stackSz > 1 & shart = stackTypes(stackSz)',
6089 % does not work yet: :wd stackTypes : -4 .. MaxSize-1 --> BOOL & MaxSize : 0 .. 9 & stackSz <= MaxSize & stackSz > 1 & shart = stackTypes(stackSz-1)
6090 '-evalt', ':wd ZO=3 & ZQ=4 & adz = {ZO|->TRUE,ZQ|->FALSE} & r:dom(adz) & res=adz(r)',
6091 '-evalt', ':wd ZO=3 & ZQ=4 & adz = {ZO|->TRUE,ZQ|->FALSE} & r:{3} & res=adz(r)',
6092 '-evalt', ':wd ZO=3 & ZQ=4 & adz = {ZO|->TRUE,ZQ|->FALSE} & r:{ZO,ZQ} & res=adz(r)',
6093 % :wd ZO=3 & ZQ=4 & adz = {3|->TRUE,4|->vv} & r:{3,4} & res=adz(r) % TODO
6094 % :wd ZO=3 & ZQ=4 & adz = {ZO|->TRUE,ZQ|->FALSE} & r:{3,4} & res=adz(r) % TODO
6095 '-evalt', ':wd CS : INTEGER +-> INTEGER & {3,4} <: dom(CS) & 5:dom(CS) & res=CS(3)',
6096 '-evalt', ':wd CS : INTEGER +-> INTEGER & {3,x} <: dom(CS) & res=CS(x)',
6097 '-evalt', ':wd CS : INTEGER +-> INTEGER & {y,x} <: dom(CS) & res=CS(x)',
6098 '-evalt', ':wd CS : INTEGER +-> INTEGER & ds <: dom(CS) & x:ds & res=CS(x)',
6099 '-evalt', ':wd CS : INTEGER +-> INTEGER & x = dom(CS) - other & 3:x & res=CS(3)',
6100 '-evalt', ':wd CS : INTEGER +-> INTEGER & {3} = dom(CS) - other & res=CS(3)',
6101 '-evalt', ':wd x:struct(f:BOOL --> STRING,g:POW(1..2)) & res= card(x\'g)',
6102 '-evalt', ':wd x:TS & TS=struct(f:BOOL --> STRING,g:POW(1..2)) & res= card(x\'g)',
6103 '-evalt', ':wd x:struct(f:BOOL --> STRING, g:BOOL) & res= x\'f(TRUE)',
6104 '-evalt',':wd x:struct(f:BOOL --> STRING) & xf = x\'f & res= xf(TRUE)',
6105 '-evalt', ':wd x:TS & TS=struct(f:BOOL --> STRING) & xf = x\'f & res= xf(TRUE)',
6106 '-evalt', ':wd X = Y \\/ Z & Y /\\ Z = {} & Y<:1..10 & Z <:1..10 & Y /= {} & res=max(X)',
6107 '-evalt', ':wd X = Y \\/ Z & Y /\\ Z = {} & Y<:1..10 & Z <:1..10 & 2:Y & res=max(X)',
6108 '-evalt', ':wd v:NAT1 & {TRUE|->v,FALSE|->w/v}(bool(x>10)) = res',
6109 '-evalt', ':wd V : N >-> NAT & da /= {} & V[da] /= {} & da <: 1..100 & res = V~(max(V[da]))',
6110 '-evalf', ':wd V : N >-> NAT & da /= {} & da <: 1..100 & res = V~(max(V[da]))', % cannot prove not empty
6111 '-evalt', ':wd f = %v1.(v1 : 0..512 & v1 <= SMAX|v1) \\/ %v1.(v1 : 0..512 & not(v1 <= SMAX)|v1 - 256) & f(0)=res',
6112 '-evalt', ':wd A<:NAT & f:A*A --> INTEGER & g:BOOL-->A & res= f(g(x),g(y))',
6113 '-evalt', ':wd N<:NAT & V : N >-> NAT & y:dom(V) & k = V(y) & m = (V~ ; a) & a : N +-> N & n : N >->> N & k |-> y : m & res = V~(k)',
6114 '-evalt', ':wd SIG : ran(fst) >->> NAT & fst : BOOL --> NATURAL & res = SIG(fst(r))',
6115 '-evalt', ':wd accel : 1 .. VEH --> MIN_A .. MAX_A & VEH >= 2 & v : 2 .. d_veh - 1 & d_veh : 1 .. VEH + 1 & res=accel(v-1)',
6116 '-evalt', ':wd b : RwSmallDom --> BOOL & x:RwDom & RwSmallDom = MinRwAddress .. MaxRwAddress & RwDom = MinRwPointer .. MaxRwPointer & MinRwAddress = MinRwPointer & MaxRwAddress = 3 + MaxRwPointer & res =b(x)',
6117 '-evalf', ':wd lightArcTo = {towinglight |-> 2475} \\/ {allroundlight |-> 3600} \\/ {sternlight |-> 2475} \\/ {sidelightPort |-> 3600} \\/ {sidelightStarboard |-> 1125} \\/ {mastheadlight |-> 1125} & towinglight:STRING & res = lightArcTo(towinglight)',
6118 '-evalt', ':wd lightArcTo = {11 |-> 2475} \\/ {22 |-> 3600} \\/ {33 |-> 2475} \\/ {44 |-> 3600} \\/ {55 |-> 1125} \\/ {66 |-> 1125} & res = lightArcTo(55)',
6119 '-evalt', ':wd cdoor=1..10 & cmd_doors : BOOL --> POW(cdoor) & carriage_ds : cdoor --> BOOL & cmd:dom(cmd_doors) & d : cmd_doors(cmd) & res = carriage_ds(d)',
6120 '-evalf', ':wd res = 3 mod -2',
6121 '-evalt', ':wd f: NAT +-> NAT & dom(f) /\\ {a} /= {} & res=f(a)',
6122 '-evalt', ':wd f: NAT >+> NAT & {a} /\\ ran(f) /= {} & res=f~(a)',
6123 '-evalf', ':wd f: BOOL <-> INTEGER & card({TRUE} <| f)=10',
6124 '-evalt', ':wd f: NATURAL <-> 2..10 & card(1..10 <| f)=10',
6125 '-evalt', ':wd f: BOOL <-> INTEGER & card(f |> {11})=10',
6126 '-evalt', ':wd f: BOOL <-> NATURAL & card(f |> {11})=10',
6127 '-evalt', ':wd f : BOOL <-> INTEGER & card(dom(f))=1',
6128 '-evalt', ':wd f : 1..10 <-> INTEGER & card(dom(f))=1',
6129 '-evalf', ':wd f : INTEGER <-> 1..10 & card(dom(f))=1',
6130 '-evalt', ':wd f : INTEGER <-> 1..10 & card(ran(f))=1',
6131 '-evalt', ':wd x : {f | f: 1..10 --> BOOL & f(1)=f(10)} & res=x(1)',
6132 '-evalf', ':wd ff : NATURAL +-> BOOL & res=card(ff |> {FALSE})',
6133 '-evalt', ':wd f: NATURAL <-> NATURAL & x<:1..10 & res = card((1..2) <| f |> x)',
6134 '-evalt', ':wd T=BOOL & sq = {f|f : INTEGER +-> T & #n.(n >= 0 & f : 1 .. n --> T)} & 1:dom(s) & s:sq & res=s(1)',
6135 '-evalt', ':wd T=BOOL & sq = {f|f : INTEGER +-> T & #n.(n >= 0 & f : 1 .. n --> T)} & s1 = sq - {{}} & 1:dom(s) & s:s1 & res=s(1)',
6136 '-evalt', ':wd vehicle = 1 & accel : 1 .. VEHICLES --> BOOL & vehicle : 1 .. VEHICLES + 1 & VEHICLES : NAT1 & res = accel(vehicle)',
6137 '-evalt', ':wd D=1..10 & f:D-->BOOL & g:D-->BOOL & h:{f,g} & res= h(2)',
6138 '-evalt', ':wd i : BOOL --> dom(wtp) & wtp : NAT1 +-> BOOL & res = wtp(i(TRUE))',
6139 '-evalt', ':wd i : BOOL --> (BOOL --> dom(wtp)) & wtp : NAT1 +-> BOOL & res = wtp(i(TRUE)(TRUE))',
6140 '-evalt', ':wd MAtemp: BOOL +-> POW(INTEGER) & res = (({tr} <<| MAtemp) \\/ {tr |-> 1..2})(tr)',
6141 '-evalt', ':wd MAtemp: BOOL +-> POW(INTEGER) & res = ((MAtemp) <+ {tr |-> 1..2})(tr)',
6142 '-evalt', ':wd s = {1|->3} & res = s(card(s))',
6143 '-evalt', ':wd D=1..10 & d1:D & res = rev({} /\\ {1 |-> d1})',
6144 '-evalt', ':wd D=1..10 & d1:D & res = rev({1 |-> d1} /\\ [])',
6145 '-evalf', ':wd D=1..10 & d1:D & res = rev({1 |-> 1, 1 |-> d1})',
6146 '-evalt', ':wd D=1..10 & d1:D & res = rev({2 |-> d1, 1 |-> d1})',
6147 '-evalf', ':wd q: 0..10 --> BOOL & a>0 & res=q(a mod 12)',
6148 '-evalt', ':wd q: 0..10 --> BOOL & a>0 & res=q(a mod 11)',
6149 '-evalt', ':wd q: 0..10 --> BOOL & a>0 & a<11 & res=q(a mod 101)',
6150 '-evalt', ':wd n:NAT1 & q: 0..(n) --> BOOL & a>0 & res=q(a mod n)',
6151 '-evalt', ':wd n:NAT1 & q: 0..(n-1) --> BOOL & a>0 & res=q(a mod n)',
6152 '-evalt', ':wd wt : 1..w --> BOOL & wtp : NAT1 +-> BOOL & wt <: wtp & m:dom(wt) & res=wtp(m)',
6153 '-evalt', ':wd wt : 1..w --> BOOL & wtp : NAT1 +-> BOOL & wt <: wtp & m>0 & m<w & w>1 & res=wtp(m)',
6154 '-evalf', ':wd Trains <: NATURAL & isConnected : (trainKind~)[{13}] --> BOOL & tr : Trains & trainKind = {t1 |-> 11,t2 |-> 22} & trainKind : Trains --> TrainKind & res = isConnected(tr)',
6155 %'-evalt', ':wd Trains <: NATURAL & isConnected : (trainKind~)[{11}] --> BOOL & tr : Trains & trainKind = {t1 |-> 11,t2 |-> 22} & trainKind : Trains --> TrainKind & res = isConnected(tr)', % TODO: fix again
6156 '-evalt', ':wd tpp = {1,2} & ppp : tpp & ers = {1|->2,2|->1}(ppp)',
6157 '-evalf', ':wd a:NAT & tpp = {a,b} & a/=b & ppp : tpp & ers = {a|->1,a|->2}(ppp)',
6158 '-evalt', ':wd a:NAT & tpp = {a,b} & a/=b & ppp : tpp & ers = {a|->b,b|->a}(ppp)',
6159 '-evalt', ':wd f = %x.(x<10 |x-1) & res=f(1)',
6160 '-evalf', ':wd f = %x.(x<10 |x-1) & res=f(10)',
6161 '-evalt', ':wd f = %x.(x:NATURAL1 & x<10 |x-1) & res=f(1)',
6162 '-evalt', ':wd f = %x.(x:NATURAL1 & x:{1,3,5,7,y} |x-1) & res=f(1)',
6163 '-evalt', ':wd ic = struct(val:(1..2 --> BOOL)) & x:ic & res = x\'val(1)',
6164 '-evalt', ':wd ic = struct(val:seq1(BOOL)) & x:ic & res = x\'val(1)',
6165 '-evalt', ':wd ic = struct(val:seq1(BOOL)) & x:BOOL-->ic & res = x(TRUE)\'val(1)',
6166 '-evalt', ':wd ic = struct(val:seq1(BOOL)) & x:BOOL+->ic & TRUE:dom(x) & res = x(TRUE)\'val(1)',
6167 '-evalt', ':wd f = (%(x,y,z).(x:BOOL & y:1..2 & z:BOOL|1)) & res = f(TRUE,2,FALSE)',
6168 '-evalt', ':wd f = %x.(x:1..100 & x:aa|x+1) & y:aa & y:2..5 & res=f(y)',
6169 '-evalt', ':wd s = ["a","b"] & y:ran(s) & x: {s~(y)} & res = s(x)',
6170 '-evalt', ':wd s = ["a","b"] & y:ran(s) & v:dom(s) & x: {v,s~(y)} & res = s(x)',
6171 '-evalt', ':wd s = ["a","b"] & y:ran(s) & v:dom(s) & x: {v} \\/ {s~(y)} & res = s(x)',
6172 '-evalt', ':wd s = ["a","b"] & r = ["x","y","z"] & x:dom(s) & res= r(x)',
6173 '-evalf', ':wd s = ["a","b"] & r = ["x","y","z"] & x:dom(r) & res= s(x)',
6174 '-evalt', ':wd s = ["a","b"] & r = ["a","b","c"] & x:ran(s) & res= r~(x)',
6175 '-evalf', ':wd s = ["a","b"] & r = ["a","b","c"] & x:ran(r) & res= s~(x)',
6176 '-evalt', ':wd s = {"a","b","c","d"} & r = ["a","b","c","d","e","f"] & x:s & res= r~(x)',
6177 '-evalf', ':wd s = {"a","b","cc","d"} & r = ["a","b","c","d","e","f"] & x:s & res= r~(x)',
6178 '-evalf', ':wd y<10 & res=%x.(x:NATURAL1|x-1)(y)', % test assertion_expression
6179 '-evalt', ':wd y>1 & res=%x.(x:NATURAL1|x-1)(y)',
6180 '-evalt', ':wd f : BOOL --> (NATURAL * (BOOL --> BOOL)) & g = prj2(INTEGER,(BOOL<->BOOL))(f(TRUE)) & res = g(x)',
6181 '-evalt', ':wd f : BOOL --> ((BOOL --> BOOL)*NAT) & g = prj1((BOOL<->BOOL),INTEGER)(f(TRUE)) & res = g(x)',
6182 '-evalt', ':wd f : BOOL --> ((BOOL --> BOOL)*NAT) & g = prj1((BOOL<->BOOL),NAT)(f(TRUE)) & res = g(x)',
6183 '-evalt', ':wd f: BOOL +-> BOOL & g:BOOL +-> BOOL & dom(f) <: dom(g) & y:dom(f) & res=g(y)',
6184 '-evalt', ':wd f: BOOL +-> BOOL & g:BOOL +-> BOOL & !x,y.(x|->y:f => x:dom(g)) & y:dom(f) & res=g(y)',
6185 '-evalt', ':wd f: BOOL +-> BOOL & g:BOOL >+> BOOL & !x,y.(x|->y:f => x:ran(g)) & y:dom(f) & res=g~(y)',
6186 '-evalt', ':wd TRACK : FIN(NATURAL1) & x: TRACK +-> NATURAL1 & card(x)<3',
6187 '-evalt', ':wd TRACK : FIN(NATURAL1) & x: TRACK --> NATURAL1 & card(x)<3',
6188 '-evalf', ':wd TRACK : FIN(NATURAL1) & x: TRACK <-> NATURAL1 & card(x)<3',
6189 '-evalt', ':wd TRACK : FIN(NATURAL1) & x: TRACK <-> BOOL & card(x)<3',
6190 '-evalt', ':wd TRACK : FIN(NATURAL1) & x: TRACK <->> BOOL & card(x)<3',
6191 '-evalf', ':wd TRACK : FIN(NATURAL1) & x: NATURAL1 +-> TRACK & card(x)<3',
6192 '-evalt', ':wd TRACK : FIN(NATURAL1) & x: NATURAL1 >-> TRACK & card(x)<3',
6193 '-evalt', ':wd x>=0 & res= 10 / (2**x)',
6194 '-evalf', ':wd x>=0 & res= 10 / (x**2)',
6195 '-evalt', ':wd x>0 & res= 10 / (x**2)',
6196 '-evalt', ':wd x/=0 & res= 10 / (x**2)',
6197 '-evalt', ':wd x>=0 & res= 10 mod (2**x)',
6198 '-evalt', ':wd a:0..2**8 & z:0..8 & res = (a/(2**z)) mod 2',
6199 '-evalt', ':wd f = %(x,y).(x:NATURAL1 & y:NATURAL1 &x<y | x+y) & res = f(1,2)',
6200 '-evalf', ':wd f = %(x,y).(x:NATURAL1 & y:NATURAL1 &x<y | x+y) & res = f(2,2)',
6201 '-evalt', ':wd f = %(x,y,z).(x:NATURAL1 & y:NATURAL1 & z:NATURAL & x<y | x+y+z) & res = f(1,2,3)',
6202 '-evalt', ':wd f=%x.(x:seq1({0,1})|x) & res = f([1,0])',
6203 '-evalt', ':wd f=%(x,y).(x:POW(BOOL) & y:POW(BOOL) & card(x)=card(y)|x) & res = f({TRUE},{FALSE})',
6204 '-evalt', ':wd f=%(x,y).(x:POW1(BOOL) & y:POW1(BOOL) & card(x)=card(y)|x) & res = f({TRUE},{FALSE})',
6205 '-evalt', ':wd card({a,b|a:{1..2,1..3} & b:1..3}) = res',
6206 '-evalt', ':wd card({a,b|a={1,2} & b:1..3}) = res',
6207 '-evalf', ':wd card({x,y|x:{y,y+1} & y:{x,x-1} & x:INTEGER})=res',
6208 '-evalf', ':wd card({y,x|x:{y,y+1} & y:{x,x-1} & x:INTEGER})=res',
6209 '-evalt', ':wd card({y,x|x:{y,y+1} & y:1..2 & x:INTEGER})=res',
6210 '-evalt', ':wd card({x,y|x:{y,y+1} & y:1..2 & x:INTEGER})=res',
6211 '-evalt', ':wd card({v,w,x|x ={{1,v},{3,w}} & v:2..3 & w:2..3}) = res',
6212 '-evalt', ':wd card({v,w,x,a,b|x ={{1,v},{3,w}} & a=x & b=x & v:2..3 & w:2..3}) = res',
6213 '-evalt', ':wd card({x,y,z|z:{1,3} & x:1..z & {y}<:{x,x+1}})=8',
6214 '-evalt', ':wd card({x,y,z|z:{1,3} & x:1..z & {y}<<:{x,x+1}})=8',
6215 '-evalt', ':wd tt : BOOL --> FIN1(NATURAL) & res=max(tt(TRUE))',
6216 '-evalt', ':wd t : BOOL --> A & A<:BOOL & f : A --> BOOL & loc:ran(t) & res = f(loc)',
6217 '-evalt', ':wd t : BOOL --> FIN(A) & A<:BOOL & f : A --> BOOL & loc:ran(t) & pos: loc & res = f(pos)',
6218 '-evalf', ':wd t : BOOL --> FIN(A) & A<:BOOL & B<:A & f : B --> BOOL & loc:ran(t) & pos: loc & res = f(pos)',
6219 '-evalt', ':wd t : BOOL --> (A+->A) & A<:BOOL & f : (A*A) --> BOOL & loc:ran(t) & pos: loc & res = f(pos)',
6220 '-evalf', ':wd t : BOOL --> (A+->A) & A<:BOOL & B<:A & f : (A*B) --> BOOL & loc:ran(t) & pos: loc & res = f(pos)',
6221 '-evalt', ':wd t : BOOL --> (A+->B) & A<:BOOL & B<:A & f : (A*A) --> BOOL & loc:ran(t) & pos: loc & res = f(pos)',
6222 '-evalt', ':wd f: BOOL --> FIN(NATURAL) & f: BOOL <-> POW1(INTEGER) & res = max(f(TRUE))',
6223 '-evalt', ':wd f: BOOL --> FIN(NATURAL) & ran(f) <: POW1(INTEGER) & res = max(f(TRUE))',
6224 '-evalt', ':wd f: FIN(NATURAL) >+>> BOOL & dom(f) <: POW1(INTEGER) & res = max(f~(TRUE))',
6225 '-evalt', ':wd f: BOOL --> FIN(NATURAL) & !x.(x:ran(f)=> x/={}) & res = max(f(TRUE))',
6226 '-evalt', ':wd f: BOOL --> POW(NATURAL) & !x.(x:ran(f)=> x/={} & x:FIN(x)) & res = max(f(TRUE))',
6227 '-evalt', ':wd ll<:INTEGER & ll/={} & ll:FIN(ll) & ff=max(ll)', % added integer type
6228 '-evalt', ':wd xx : dom(ff) \\/ {yy} & ff: BOOL +-> BOOL & res = (ff <+ {yy |-> TRUE})(xx)',
6229 '-evalt', ':wd (xx : dom(ff) or xx: {yy}) & ff: BOOL +-> BOOL & res = (ff <+ {yy |-> TRUE})(xx)',
6230 '-evalt', ':wd f: NATURAL +-> INTEGER & x|->y:f & f(x)=res',
6231 '-evalt', ':wd a=[2,3,4] & res=first(front(a))',
6232 '-evalt', ':wd a=[2,3,4] & res=front(tail(a))',
6233 '-evalt', ':wd a=[2,3,4] & res=front(rev(tail(a)))',
6234 '-evalt', ':wd a=[2,3,4] & res=front(front(rev(a)))',
6235 '-evalt', ':wd a=[2,3,4] & res=front(front(rev(front(a))))',
6236 '-evalt', ':wd aa = [2,3,4,5] & size(1..3 <| aa) = 3',
6237 '-evalt', ':wd aa = [2,3,4,5] & b=[2,3] & size(dom(b) <| aa) = 2',
6238 '-evalf', ':wd a = {1|->2, 2|->3} & b = {2|->4,3|->5} & gg:1..10+->1..10 & x:1..3 & res = ((a;b) <+ (ss <| gg)) (x)',
6239 '-evalf', ':wd a = {1|->2, 2|->3, 3|->4} & b = {2|->4,3|->5} & gg:1..10+->1..10 & x:1..3 & res = ((a;b) <+ (ss <| gg)) (x)',
6240 '-evalt', ':wd a = {1|->2, 2|->3} & b = {2|->4,3|->5} & gg:1..10+->1..10 & x:1..2 & res = ((a;b) <+ (ss <| gg)) (x)',
6241 '-evalt', ':wd a = {1|->"a", 2|->"b"} & b = {"a"|->4,"b"|->5} & gg:1..10+->1..10 & x:1..2 & res = (a;b) (x)',
6242 '-evalt', ':wd a = {"A"|->"a", "B"|->"b"} & b = {"a"|->4,"b"|->5} & gg:STRING+->1..10 & x:{"A","B"} & res = ((a;b) <+ (ss <| gg)) (x)',
6243 '-evalt', ':wd f = %x.(x:1..10 & x mod 2 =0 | x/2) & y:1..10 & y mod 2 = 0 &res=f(y)',
6244 '-evalt', ':wd f = %x.(x:1..10 & x mod 2 =0 | x/2) & res=f(4)',
6245 '-evalf', ':wd x=card({x,y| x+y = 1})',
6246 '-evalt', ':wd x=card({x,y| [x,y] : iseq({0,1,2})})',
6247 '-evalt', ':wd x=card({x,y| rev([x,y]) : iseq({0,1,2})})',
6248 '-evalt', ':wd x=card({x,y| x:seq(INT) & y:seq(INT) & rev(x ^ y) : iseq({0,1,2})})',
6249 '-evalt', ':wd x=card({x,y| x \\/ y <: 1..5})',
6250 '-evalt', ':wd x=card({x| x+2 = 10})',
6251 '-evalt', ':wd x=card({x| x*2 : 1..10})',
6252 '-evalt', ':wd x=card({x,y| {x+1,y+2} \\/ {3} <: 1..5})',
6253 '-evalt', ':wd card({x| [0,0] <+ {x|->1} : 1..3 --> 0..1})=res',
6254 '-evalt', ':wd f : BOOL \\ a --> BOOL & x /: a & res = f(x)',
6255 '-evalf', ':wd f:INTEGER \\ (2..10) --> NAT & x<=2 & res=f(x)',
6256 '-evalt', ':wd f:INTEGER \\ (2..10) --> NAT & x<2 & res=f(x)',
6257 '-evalt', ':wd f:INTEGER \\ (2..10) --> NAT & x>10 & res=f(x)',
6258 '-evalt', ':wd f:INTEGER \\ ELS --> NAT & ELS = (2..10) & x<2 & res=f(x)',
6259 '-evalf', ':wd f = {x,r | x:BOOL & r > 2} & res = max(ran(f))',
6260 '-evalt', ':wd f = %x.(x:BOOL | 10+12) & res = max(ran(f))', % check we do not loose typing info of dom(f)=BOOL
6261 '-evalt', ':wd a:1..n --> 1..100 & a /= {} & res=a(1)',
6262 '-evalt', ':wd a:1..n --> 1..100 & a /= {} & res=a(n)',
6263 '-evalt', ':wd cf: BOOL <->BOOL & cf={} & x:dom(cf) & r=cf(x)',
6264 %'-evalt', ':wd a/=FALSE & f = {TRUE|->11} & res =f(a)',
6265 '-evalt', ':wd card(union({{1,2},{3,4}})) = r',
6266 '-evalt', ':wd x:POW(1..3) & card(union({{1,2},{3,4} \\/ x})) = r',
6267 '-evalt', ':wd real(1)=1.0',
6268 '-evalt', ':wd 1=floor(1.0)',
6269 '-evalt', ':wd 1=ceiling(1.0)',
6270 '-evalt', ':wd 1.0/2.0 > 0.0',
6271 '-evalt', ':wd SIGMA(x).(x:{1.0,2.0}|x/2.0) = 1.5',
6272 '-evalt', ':wd PI(x).(x:{4.0,2.0}|x/2.0) = 2.0',
6273 '-evalt', ':wd x<:POW(1..3) & card(union( x )) = r',
6274 '-evalt', ':wd x<:POW(1..3) & card(union({{1,2},{3,4}} \\/ x)) = r',
6275 '-evalt', ':wd x<:perm(1..3) & card(union( x )) = r',
6276 '-evalt', ':wd x:NAT & y:NAT & y=prj2(INT,INT)((x,y))',
6277 '-evalt', ':wd x<:INTEGER & card(inter({x,y,{1}})) = 1',
6278 '-evalt', ':wd x<:POW(INTEGER) & card(inter({{1}}\\/x) ) = 1',
6279 '-evalf', ':wd x<:POW(INTEGER) & card(inter({NATURAL}\\/x) ) = 1',
6280 '-evalf', ':wd SIGMA(x).(x:NATURAL|x) =res',
6281 '-evalt', ':wd PI(x).(x:1..100|x) =res',
6282 '-evalf', ':wd PI(x).(x:NATURAL|x) =res',
6283 '-prob-profile'
6284 % '-evalt', ':wd BV>0 & BIdx = 1..BV & s:BIdx --> BOOL & res=first(s)' % needs fix in parser: resetdefinitions
6285 ], 'Test new well-definedness analysis').
6286 cli_testcase(2019,[b_test],[
6287 '../prob_examples/public_examples/B/Tester/ASSERT_Disabled_Test.mch',
6288 '-t'
6289 ], 'Test ASSERT_CHECKING preference').
6290 cli_testcase(2020,[b_test],[
6291 '../prob_examples/public_examples/B/Tester/ASSERT_Enabled_Test.mch',
6292 '-mc', 100, '-no-state-errors', '-nodead',
6293 '-cc', 8, 10,
6294 '-expcterr', assert_error % assert error is still registered, but model checking runs to the end
6295 ], 'Test -no-state-errors model checking option').
6296 cli_testcase(2021,[cbc],[
6297 '-evalt', '{x} /\\ {y} /= {} & x:1000000..20000000 & y:0..2000000',
6298 '-evalt', 'x:1000000..20000000 & y:0..2000000 & {x} /\\ {y} /= {}' % used to be very slow
6299 ], 'Performance issue with intersection of two singleton sets, Check that non-empty set detected and x and y are unified').
6300 cli_testcase(2022, [disprover,infinite,total_function,wd], [
6301 '../prob_examples/public_examples/EventBPrologPackages/Tests/WD/TestWD_Prover_ctx.pl',
6302 '-check_disprover_result', 11,0,0,
6303 '-timeout', 200 % timeout per PO
6304 ],'WD proof obligations all discharged using new rule-based WD prover').
6305 cli_testcase(2023, [disprover,wd], [
6306 '../prob_examples/public_examples/EventBPrologPackages/Tests/WD/BitFunctions_ctx.pl',
6307 '-check_disprover_result', 4,0,0,
6308 '-timeout', 200 % timeout per PO
6309 ],'WD proof obligations all discharged using new rule-based WD prover (involving division)').
6310 cli_testcase(2024, [wd,wd_prover], [
6311 '../prob_examples/public_examples/B/Demo/SortByPermutation5.mch',
6312 '-wd', 10, 10, '-timeout', 200 % timeout per PO
6313 ],'Test all WD POs generated and discharged').
6314 cli_testcase(2025, [wd,wd_prover], [
6315 '../prob_examples/public_examples/B/Laws/ArithmeticLaws.mch',
6316 '-wd', 69, 71, % changed from 67/69 on Jul 29th 2023 due to change in machine
6317 '-timeout', 200, % timeout per PO
6318 '-silent' %-expcterr', 'well_def_analyser' % warnings for 2 undischarged POs due to min/max in non-silent mode
6319 ],'Test all WD POs generated and discharged').
6320 cli_testcase(2026, [wd,wd_prover], [
6321 '../prob_examples/public_examples/B/Mathematical/NFA_to_DFA_Unicode.mch',
6322 '-wd', 16, 16, '-timeout', 200 % timeout per PO
6323 ],'Test all WD POs generated and discharged').
6324 cli_testcase(2027, [wd,wd_prover], [
6325 '../prob_examples/public_examples/B/Mathematical/CardTrick.mch',
6326 '-wd', 28, 28, '-timeout', 200 % timeout per PO
6327 ],'Test all WD POs generated and discharged').
6328 cli_testcase(2028, [error_checks], [
6329 '../prob_examples/public_examples/B/Tester/Warnings/VarNotWritten.mch',
6330 '-lint',
6331 '-expcterrpos', bmachine_static_checks, 1, 8,
6332 '-expcterrpos', check_all_variables_written, 3, 10
6333 ],'Test extended static checking (ESC) aka linting').
6334 cli_testcase(2029, [wd,wd_prover], [
6335 '../prob_examples/public_examples/B/Tester/WD_Tests/Substitutions/SeqComp1.ref',
6336 '-wd', 1, 1, '-timeout', 200 % timeout per PO
6337 ],'Test sequential composition correctly dealt withby WD').
6338 cli_testcase(2030, [wd,wd_prover,sequences], ['../prob_examples/public_examples/B/Benchmarks/SeqLaws.mch',
6339 '-wd', 59, 59, '-timeout', 200 % timeout per PO
6340 ], 'Test all WD POs generated and discharged').
6341 cli_testcase(2031, [enabling,read_write], ['../prob_examples/public_examples/B/Benchmarks/CAN_BUS_tlc.mch',
6342 '-read_write_matrix_csv', '../prob_examples/public_examples/B/Benchmarks/CAN_BUS_tlc_rw_matrix.csv',
6343 '-strict'],
6344 'Check correct computation of read_write_matrix.').
6345 cli_testcase(2032, [b_test,records], ['../prob_examples/public_examples/B/FeatureChecks/AssignToRecordField.mch',
6346 '-t'
6347 ], 'Check that we can assign to the field of a record variable').
6348 cli_testcase(2033, [b_test,recursion,infinite], ['../prob_examples/public_examples/B/RecursiveFunctions/Tests/NFA_DFA_Explosion.mch',
6349 '-mc', 100
6350 ], 'Check that we total function check works for recursive function').
6351 cli_testcase(2034,[wd],[
6352 '-evalt', 'BOOL <<->> {TRUE} = {{(FALSE|->TRUE),(TRUE|->TRUE)}}',
6353 '-evalt', 'BOOL <->> {TRUE} = {{(FALSE|->TRUE)},{(FALSE|->TRUE),(TRUE|->TRUE)},{(TRUE|->TRUE)}}',
6354 '-evalt', 'BOOL <<-> {TRUE} = {{(FALSE|->TRUE),(TRUE|->TRUE)}}',
6355 '-evalt', '{TRUE} <<-> {BOOL} = {{(TRUE|->{FALSE,TRUE})}}',
6356 '-evalt', 'card((1..2)<<->BOOL) = 9',
6357 '-evalt', 'card((1..2)<<->>BOOL) = 7',
6358 '-evalt', 'card((1..2)<->>BOOL) = 9',
6359 '-evalt', 'card((1..5)<<->BOOL) = 3**5',
6360 '-evalt', 'card((1..5)<<->>BOOL) = 241',
6361 '-evalt', 'card((1..5)<->>BOOL) = 961',
6362 '-evalt', 'card((1..5)<->>BOOL) = card(BOOL <<-> (1..5))',
6363 '-evalt', 'card((1..8)<->>BOOL) = card(BOOL <<-> (1..8))',
6364 '-evalt', 'card((1..20)<<->BOOL) = 3486784401',
6365 '-evalt', 'card((1..20)<->>BOOL) = 1099509530625',
6366 '-evalt', 'card(BOOL<<->(1..20)) = 1099509530625',
6367 '-evalt', 'card((1..200)<<->{TRUE}) = 1'
6368 ], 'Check that Event-B special relation operators are supported').
6369 cli_testcase(2035, [cbc,bmc], ['../prob_examples/public_examples/B/CBC/DeadlockTest.mch', '-bdc', 5,
6370 '-expcterr', 'deadlock',
6371 '-his', '../prob_examples/public_examples/B/CBC/DeadlockTest_his.txt', '-his_option','show_states'
6372 ], 'Check new bounded deadlock checking command').
6373 cli_testcase(2036, [wd,wd_prover,sequences], ['../prob_examples/public_examples/B/ErrorMachines/FunLaws_wderror.mch',
6374 '-wd', 84, 90, '-timeout', 200, % timeout per PO
6375 '-silent' %-expcterr', 'well_def_analyser' % warnings for undischarged POs
6376 ], 'Test no cycle and timeout').
6377 cli_testcase(2037,[sequences],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
6378 '-evalt', 'cur = [1,2,3,4] & {pre,LHS | pre:seq(INTEGER) & LHS : {2,3,4} & cur = pre^[LHS]} = xx & [1,2,3]|->4:xx',
6379 '-evalt', 'cur = [1,2,3,4] & {pre,LHS | pre:seq(INTEGER) & LHS : {2,3,4} & cur = pre<-LHS} = xx & [1,2,3]|->4:xx',
6380 '-evalt', 'cur = [1,2,3,4] & {pre,RHS | pre:seq(INTEGER) & RHS : {1,3} & cur = RHS->pre} = xx & [2,3,4]|->1:xx',
6381 '-evalt', 'cur = [1,2,3,4] & {pre,post,LHS | LHS : {2,3} & cur = pre^([LHS]^post)} = xx & ran(xx)={2,3}',
6382 '-evalt', 'cur = [1,2,3,4] & {pre,post,LHS | LHS : {2,3} & cur = (pre^[LHS])^post} = xx & ran(xx)={2,3}'
6383 ], 'Check improved treatment of insert_tail and insert_front').
6384 cli_testcase(2038,[sequences,json_trace_replay],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
6385 '../prob_examples/public_examples/B/Mathematical/Info4/Kapitel3-CF/PDA/PDA_to_CFG.mch',
6386 '-trace_replay', 'json', '../prob_examples/public_examples/B/Mathematical/Info4/Kapitel3-CF/PDA/PDA_to_CFG.prob2trace'
6387 ], 'Check no enumeration warnings (insert_tail improvement)').
6388 cli_testcase(2039, [private_source_not_available], ['../private_examples/ClearSy/2020/03_Mar/wd_timeout/invalidRef_welldef.mch',
6389 '-wd', 616, 1132,
6390 % was 612/1132 until May 8th 2024 ba38a0d451ed87533a5c2df30edd2c16d35ef8c5 eval_set_extension improved,
6391 % was 620/1140 before 89519d2dc27ac03d4a6233dbe9fc4b6c2dcf3b50,
6392 % was 618/1148 was 711, and 714 before commit 5e3cb4b7 move assertions from LibraryFiles.mch to AssertionsForLibraryFiles.mch
6393 '-silent' %-expcterr', 'well_def_analyser' % warnings for undischarged POs
6394 ], 'Test performance on larger machine').
6395 cli_testcase(2040, [wd,wd_prover], ['../prob_examples/public_examples/EventBPrologPackages/EventB2Java/sort_m2_data400.mch',
6396 '-wd', 39, 39, '-timeout', 200 % timeout per PO
6397 ], 'Test machine with a lot of index computations').
6398 cli_testcase(2041, [wd,wd_prover], ['../prob_examples/public_examples/EventBPrologPackages/EventB2Java/sort_m2_data400_mch.eventb',
6399 '-wd', 43, 43, '-timeout', 200 % timeout per PO
6400 ], 'Test machine with a lot of index computations').
6401 cli_testcase(2042, [wd,wd_prover,records], ['../prob_examples/public_examples/EventBPrologPackages/Records/SampleThreeRecordsTranslated.mch',
6402 '-wd', 46, 46, '-timeout', 200 % timeout per PO
6403 ], 'Test machine with records and id usage').
6404 cli_testcase(2043, [wd,wd_prover], ['../prob_examples/public_examples/TLA/Consumer_Producer/buffer11_10_v3.mch',
6405 '-wd', 5, 5, '-timeout', 200 % timeout per PO
6406 ], 'Test machine with sequence manipulations').
6407 cli_testcase(2044, [wd,wd_prover], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
6408 '../prob_examples/public_examples/B/Tester/NastySetComprehensions.mch',
6409 '../prob_examples/public_examples/B/PerformanceTests/PartitionIntoComponentsTest2.mch',
6410 '../prob_examples/public_examples/B/Puzzles/EulerOfficers6.mch',
6411 '../prob_examples/public_examples/B/PerformanceTests/SAT_Tests/IceCream_kSAT.mch',
6412 '../prob_examples/public_examples/TLC/GOAL/RushHour_TLC.mch',
6413 '../prob_examples/public_examples/B/ABCD/TraceChecking/TravelAgency_TraceCheck.mch',
6414 '../prob_examples/public_examples/B/Tickets/Valerio1/BIT_DEFINITION.mch',
6415 '../prob_examples/public_examples/B/SymmetryReduction/Rubik_2by2_Sym.mch',
6416 '../prob_examples/public_examples/B/Puzzles/PeaceableQueens/NineQueensAndKingBW.mch',
6417 '../prob_examples/public_examples/B/TestCaseGeneration/Schleusen.mch',
6418 '../prob_examples/public_examples/B/BZTT/TestBZTT2.mch',
6419 '../prob_examples/public_examples/B/CBC/RiverCrossing_BMC.mch',
6420 '../prob_examples/public_examples/B/EventB/rodin_train_4.mch',
6421 '../prob_examples/public_examples/B/Mathematical/Voting/NoCondorcetWinnerKodkod.mch',
6422 '../prob_examples/public_examples/B/Laws/FunLawsWithLambda.mch',
6423 '../prob_examples/public_examples/B/PerformanceTests/SAT_Tests/ReificationCompTests.mch',
6424 '../prob_examples/public_examples/B/EventB/ETH_Elevator/elevator10.mch',
6425 '../prob_examples/public_examples/B/Benchmarks/SeqLaws.mch',
6426 '../prob_examples/public_examples/B/Compilers/LLParsingStaged.mch',
6427 '../prob_examples/public_examples/B/Puzzles/GardnerSwitchingPuzzle_v3.mch',
6428 % now no longer fully proven due to remove_finite rule made more conservative
6429 %'../prob_examples/public_examples/EventBPrologPackages/ProofDirected/benchmarks/mondex_m3.eventb',
6430 '../prob_examples/public_examples/TLC/NoError/USB_4Endpoints.mch',
6431 '../prob_examples/public_examples/EventBPrologPackages/ABZ_Landing_Gear_Journal/Ref3_ControllerSensors_mch_eventb.mch',
6432 '../prob_examples/public_examples/EventBPrologPackages/Advance/Safety_Metro_23_08_2012/EmergencyDoors_M2_mch.eventb',
6433 '../prob_examples/public_examples/EventBPrologPackages/platoon/platoon_3_0_mch.eventb',
6434 '-wd-check-all', '-global_time_out', 400 % time out per PO
6435 ], 'Test machine with sequence manipulations').
6436 cli_testcase(2045, [b_test,kodkod], ['../prob_examples/public_examples/B/Kodkod/GraphMiningSimple.mch', '-strict', '-p','TIME_OUT',1000, '-p', 'SOLVER_FOR_PROPERTIES', 'kodkod', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE', '-properties'], 'Check that Kodkod translator works for LET expressions.').
6437 cli_testcase(2046, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/ReplicatedLinkedParallel.csp', '-nodead', '-mc', 100, '-assertions'], 'Test order of replicated linked parallel processes').
6438 cli_testcase(2047,[wd,wd_prover],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
6439 '-evalt', ':prove x:INTEGER & (x>y & y>z) => x>=z',
6440 '-evalu', ':prove x:INTEGER & (x>y & z>y) => x>=z',
6441 '-evalt', ':prove 2>1',
6442 '-evalt', ':prove (x:STRING & x/=y) => y/=x',
6443 '-evalt', ':prove x+1>=x',
6444 '-evalt', ':prove x/=1+x',
6445 '-evalt', ':prove x+2>x',
6446 '-evalt', ':prove x>x-1',
6447 '-evalt', ':prove (x:1..10 & f:1..11 --> BOOL => x:dom(f))',
6448 '-evalu', ':prove (x<:STRING) => (x <<: x)',
6449 '-evalt', ':prove (x<:STRING) => (x <: x)',
6450 '-evalt', ':prove (x<:STRING) => (x /\\ y <: x)',
6451 '-evalu', ':prove (x<:STRING) => (x \\/ y <: x)',
6452 '-evalt', ':prove (x<:STRING) => (x <: x \\/ y)',
6453 '-evalt', ':prove (x<:STRING & y={} ) => (x \\/ y <: x)',
6454 '-evalt', ':prove (x<y => x:x..y)',
6455 '-evalt', ':prove (x<=y => x:x..y)',
6456 '-evalu', ':prove (x>y => x:x..y)',
6457 '-evalt', ':prove (z:x..y => x:x..y)',
6458 '-evalu', ':prove (z:y..y => x:x..y)',
6459 '-evalt', ':prove (a>0 => 10+a>=10)',
6460 %'-evalt', ':prove (a>0 & b=10 => b+a>=b)', % TO DO
6461 '-evalt', ':prove (b>0 => a mod b <= b)',
6462 %'-evalt', ':prove (b>0 => a mod b < b)', % TO DO
6463 '-evalu', ':prove (x:1..n & n>1 => (x+1) mod n : 1..(n))', % mod could be 0
6464 '-evalt', ':prove (x:1..n & n>1 => (x+1) mod n : 0..(n))',
6465 '-evalu', ':prove (x:1..n & n>1 => (x+1) mod n : 0..(n-2))', % interval could be empty
6466 '-evalt', ':prove (x:1..n & n>1 => (x+1) mod n : 0..(n-1))',
6467 '-evalt', ':prove x:INTEGER & x<y & y<z => x < z',
6468 '-evalt', ':prove x:INTEGER & x<y & y<=z => x < z', % TO DO: x<=y & y<z => x < z
6469 '-evalu', ':prove x:INTEGER & x<=y & y<=z => x < z',
6470 '-evalt', ':prove (r : ran(V) & V: BOOL --> AType & AType = struct(attrs: STRING +-> STRING) ) => r\'attrs : (STRING) +-> (STRING)',
6471 '-evalt', ':prove a:NATURAL1 +-> BOOL & a/={} & dom(a)=1..n => 1:dom(a)',
6472 '-evalt', ':prove a:1..n --> BOOL & a/={} => 1:dom(a)',
6473 '-evalt', ':prove a:1..n >-> BOOL & a/={} => 1:dom(a)',
6474 '-evalu', ':prove a:1..n +-> BOOL & a/={} => 1:dom(a)',
6475 '-evalt', ':prove (A: BOOL+->BOOL & dom(A)={TRUE} => A /= {})',
6476 '-evalt', ':prove a:perm(BOOL) => 1:dom(a)',
6477 '-evalt', ':prove a:perm(BOOL) => 2:dom(a)',
6478 '-evalu', ':prove a:perm(BOOL) => 3:dom(a)',
6479 '-evalu', ':prove a:perm(BOOL) => 0:dom(a)',
6480 '-evalt', ':prove not(x=7) or not(x=3)',
6481 '-evalt', ':prove x=TRUE => x /= FALSE',
6482 '-evalt', ':prove x="TRUE" => x /= "FALSE"',
6483 '-evalu', ':prove (x="T" or x="F")',
6484 '-evalt', ':prove (x=TRUE or x=FALSE)',
6485 '-evalt', ':prove i={2} => i/={1}',
6486 '-evalt', ':prove i={2} => i/={1,3}',
6487 '-evalt', ':prove i={2,4} => i/={1}',
6488 '-evalu', ':prove i={2,4} => i/={4,2}',
6489 '-evalu', ':prove i={2,4} => i/={4,z}',
6490 '-evalu', ':prove {1,2}/={2,z1,z2,z3}',
6491 '-evalt', ':prove {1,2,4} /= {1,2,5} & {1,2,4} /= {xx,yy}',
6492 '-evalt', ':prove 1 < z => - z <= -2',
6493 '-evalu', ':prove 1 < z => - z < -2',
6494 '-evalt', ':prove z>2 => -3* z < -6',
6495 '-evalt', ':prove z>=3 => -3* z <= -9',
6496 '-evalu', ':prove z>=3 => -3* z <= -10',
6497 '-evalt', ':prove z <= 1 => 3*z <= 4',
6498 '-evalu', ':prove z <= 2 => 3*z <= 4',
6499 '-evalu', ':prove z <= -1 => 3*z <= -4',
6500 '-evalt', ':prove z <= -2 => 3*z <= -4',
6501 '-evalt', ':prove z <= -2 => 3*z <= -5',
6502 '-evalt', ':prove z <= -34 => 3*z <= -100',
6503 '-evalu', ':prove z <= -33 => 3*z <= -100',
6504 '-evalt', ':prove x>=6 => 11 <= 2*x',
6505 '-evalt', ':prove x>=5 => 10 <= 2*x',
6506 '-evalu', ':prove x>=5 => 11 <= 2*x',
6507 '-evalt', ':prove x>=-5 => -11 <= 2*x',
6508 '-evalt', ':prove z>=4 => (-3*z <= -10 & -3*z <= -12)',
6509 '-evalu', ':prove z>=3 => -3*z <= -10',
6510 '-evalt', ':prove x:INTEGER & -x>=-y => x <= y',
6511 '-evalt', ':prove x:INTEGER & x>y => -x < -y',
6512 '-evalt', ':prove not(- lo755 <= -1) or - lo755 <= 0',
6513 '-evalt', ':prove li2 <= 4 & -li2 <= -4 => not(li2 <= 0)',
6514 '-evalt', ':prove not(li2 <= 1) or (not(- li2 <= -1) or not(li2 <= 0))',
6515 '-evalt', ':prove (not(li2 <= 1) or not(- li2 <= -1)) or not(li2 <= 0)',
6516 '-evalt', ':prove ((x>0 => y>0) & x>0) => y>0',
6517 '-evalt', ':prove f:BOOL<->BOOL & (x<:dom(f) or x<:dom(g)) => x <: dom(f\\/g)',
6518 '-evalt', ':prove f:BOOL<->BOOL & (x:dom(f) or x:dom(g)) => x : dom(f\\/g)',
6519 '-evalt', ':prove !(x,f).(f:INTEGER +-> INTEGER => x:dom(f <+ {x|->x}))',
6520 '-evalt', ':prove !(x,y).(x<:INTEGER & x<:y & y<:x => y=x)',
6521 '-evalt', ':prove f:BOOL --> 0..n & p>f(TRUE) => p>=1',
6522 '-evalu', ':prove f:BOOL --> 0..n & p>f(TRUE) => p>=2',
6523 '-evalt', ':prove f:BOOL --> 1..n & p>f(TRUE) => p>=2',
6524 '-evalt', ':prove p>l1(niz) & p<=l2(niz) & l1:BOOL --> 1..TE & l2:BOOL-->1..TE & TE:NATURAL1 => ( p-1:1..TE )',
6525 '-evalt', ':prove f:BOOL --> 0..10 & p<f(TRUE) => p<=9',
6526 '-evalt', ':prove f:BOOL --> 0..10 & p<f(TRUE) => p+1<=10',
6527 '-evalt', ':prove f:BOOL --> 0..n & p<f(TRUE) => p+1<=n',
6528 '-evalt', ':prove f:BOOL --> m..n & p>f(TRUE) => p-1>=m',
6529 '-evalt', ':prove x>y => x/: 1..y',
6530 '-evalt', ':prove 10 <= n1 & 10 <= n2 => 20 <= n1+n2',
6531 '-evalu', ':prove 1 <= n1 & 1 <= n2 => 3 <= n1+n2',
6532 '-evalt', ':prove 1 <= n1 & 1 <= n2 => 2 <= n1+n2',
6533 '-evalu', ':prove -2 <= n1 & -2 <= n2 => -3 <= n1+n2',
6534 '-evalt', ':prove -1 <= n1 & -1 <= n2 => -3 <= n1+n2',
6535 '-evalu', ':prove 5 >= n1 & 5 >= n2 => 9 >= n1+n2',
6536 '-evalt', ':prove 10 >= n1 & 10 >= n2 => 20 >= n1+n2',
6537 '-evalu', ':prove -1 >= n1 & -1 >= n2 => -3 >= n1+n2',
6538 '-evalt', ':prove -1 >= n1 & -1 >= n2 => -2 >= n1+n2',
6539 '-evalu', ':prove x<= y & z <= y => x+z <= 1*y',
6540 '-evalt', ':prove x<= y & z <= y => x+z <= 2*y',
6541 '-evalt', ':prove x:INTEGER & x<= y1 & z <= y2 => x+z <= y1+y2',
6542 '-evalt', ':prove x:INTEGER & x<= y1 & z <= y2 => x+z <= y2+y1',
6543 '-evalt', ':prove a:INTEGER & a>=b & c>=d => a+c >= b+d',
6544 % :prove x:INTEGER & x<= y2 & z <= y1 => x+z <= y2+y1 % would require decompose_floor to be non-det
6545 % :prove (x>y & y>z) => x/=z % TO DO
6546 '-evalt', ':prove x=3 => not( x=3 => x=2)',
6547 '-evalt', ':prove x=2 => x=2',
6548 '-evalu', ':prove x=2 => x=3',
6549 '-evalu', ':prove not(x=3 => x=2)',
6550 '-evalt', ':prove (s2 = s \\/ {0} & s3 = s \\/ {0} & s4 = s2 \\/ {1} & s5 = s3 \\/ {1}) => s4 = s5',
6551 '-evalt', ':prove a={1|->11,2|->22} & b={1|->33,4|->44} & ab= a><b => 1:dom(ab)',
6552 '-evalu', ':prove a={1|->11,2|->22} & b={1|->33,4|->44} & ab= a><b => dom(ab) <: 2..4',
6553 '-evalt', ':prove a={1|->11,2|->22} & b={1|->33,4|->44} & ab= a><b => dom(ab) <: 1..4',
6554 '-evalt', ':prove f=%x.(x:1..10|x) & g=%y.(y:5..15|y+1) & fg=f><g & a:5..10 => a:dom(fg)',
6555 '-evalt', ':prove f=%x.(x:1..10|x+xx) & g=%y.(y:5..15|y+yy) & fg=f><g & a:5..10 => a:dom(fg)',
6556 '-evalu', ':prove f=%x.(x:1..10|x+xx) & g=%y.(y:5..zz|y+yy) & fg=f><g & a:5..10 & zz>=9 => a:dom(fg)',
6557 '-evalt', ':prove f=%x.(x:1..10|x+xx) & g=%y.(y:5..zz|y+yy) & fg=f><g & a:5..10 & zz>=10 => a:dom(fg)',
6558 '-evalt', ':prove {A,B,C} <: POW(INTEGER) & a:A+->B & b:A+->C => dom(a><b) <: A',
6559 '-evalt', ':prove {A,B,C} <: POW(INTEGER) & a:A+->B & b:A+->C => a><b : A+->(INTEGER*INTEGER)',
6560 '-evalt', ':prove f=%x.(x:INTEGER|{TRUE|->1,FALSE|->0}(bool(x>0))) => f(a):0..1',
6561 '-evalt', ':prove f=%x.(x:INTEGER|IF (x>0) THEN 0 ELSE 1 END) => f(a):0..1',
6562 '-evalt', ':prove f=%x.(x:INTEGER|IF (x>0) THEN -1 ELSE 1 END) => f(a):{-1,1}',
6563 '-evalu', ':prove a=0 & f=%a.(a:0..3|a) & x:0..10 => x:dom(f)',
6564 '-evalu', ':prove a:0..1 & f=%a.(a:2..3|a) => f(x) : 0..1',
6565 '-evalt', ':prove a:0..1 & f=%b.(b:2..3|a) => f(x) : 0..1',
6566 '-evalu', ':prove x:1..10 & y:1..11 => max({x,y}) : 1..10',
6567 '-evalt', ':prove x:1..10 & y:1..10 => max({x,y}) : 1..10',
6568 '-evalt', ':prove f = %x.(x:INTEGER|max({x,-x})) => f(y) >=0',
6569 '-evalt', ':prove f = %x.(x:INTEGER|max({-x,x})) => f(y) >=0',
6570 '-evalu', ':prove f:BOOL +-> BOOL & x|->TRUE /: (f) => f \\/ {x|->TRUE} : BOOL +-> BOOL', %% WRONG
6571 % '-evalt', ':prove f:BOOL +-> BOOL & x /: dom(f) => f \\/ {x|->TRUE} : BOOL +-> BOOL', %% NOT yet proven
6572 '-evalt', ':prove f:BOOL +-> BOOL & g <: f => f \\/ g : BOOL +-> BOOL',
6573 '-evalt', ':prove f:BOOL +-> BOOL & g <: f => g \\/ f : BOOL +-> BOOL',
6574 '-evalt', ':prove f:BOOL +-> BOOL & g <: f => f \\/ f : BOOL +-> BOOL',
6575 '-evalt', ':prove f:BOOL +-> BOOL & g <: f => g \\/ g : BOOL +-> BOOL',
6576 '-evalt', ':prove f:{FALSE} +-> BOOL => f \\/ {TRUE|->x} : BOOL +-> BOOL',
6577 '-evalt', ':prove f:BOOL +-> BOOL & x /: dom(f) => f \\/ {x|->TRUE} : BOOL +-> BOOL',
6578 '-evalt', ':prove f:BOOL +-> BOOL & x /: a & a=dom(f) => f \\/ {x|->TRUE} : BOOL +-> BOOL',
6579 '-evalt', ':prove a /\\ b = {} & a<:BOOL => (a-c) /\\ b = {}',
6580 '-evalt', ':prove a /\\ b = {} & a<:BOOL => (a-{x}) /\\ b = {}',
6581 '-evalt', ':prove a /\\ b = {} & a<:BOOL & a2 = a -{x} => b /\\ a2 = {}',
6582 '-evalt', ':prove a /\\ b = {} & a<:BOOL & a2 = a -{x} & b2=b => a2 /\\ b2 = {}',
6583 '-evalt', ':prove a <: b & b<:BOOL & B2 = b \\/ {x} => a<:B2',
6584 '-evalt', ':prove f:BOOL<->BOOL & f[a] <: b & b<:BOOL & B2 = b \\/ {x} => f[a]<:B2',
6585 '-evalt', ':prove T2_readpriority : NATURAL & BUSwrite : NATURAL +-> INTEGER & 0 : dom(BUSwrite) & T2_readpriority:dom(BUSwrite) & BUSwrite2 = BUSwrite <+ {ppriority |-> pv} => (T2_readpriority:dom(BUSwrite2))',
6586 '-evalt', ':prove NS=1..5 & BW:NS+->INTEGER & pmax=max(dom(BW)) => pmax>0',
6587 '-evalt', ':prove NS=1..5 & BW:NS+->INTEGER & B=pmax & v=BW(pmax) & pmax=max(dom(BW)) => B>0',
6588 '-evalt', ':prove A<:INT & f:A+->A => B <| f : A+->A',
6589 '-evalt', ':prove A<:INT & f:A+->A => B <<| f : A+->A',
6590 '-evalt', ':prove A<:INT & f:A+->A => f |> B : A+->A',
6591 '-evalt', ':prove A<:INT & f:A+->A => f |>> B : A+->A',
6592 '-evalt', ':prove A<:INT & f:A+->A => B <| f |> C : A+->A',
6593 '-evalt', ':prove x:1..5 & y:1..10 => !z.(z:x..y => z>=1)',
6594 '-evalt', ':prove x:1..5 & y:1..10 & z:0..3 => !z.(z:x..y => z>=1)',
6595 '-evalt', ':prove x:1..5 & y:1..10 & z:2..3 => !z.(z:x..y => z>=1)',
6596 '-evalu', ':prove x:1..5 & y:1..10 & z:2..3 => !z.(z:x..y => z>=2)',
6597 '-evalt', ':prove c<: INTEGER & a <: b & b<: c => a <: b',
6598 '-evalu', ':prove c<: INTEGER & a <: b & b<: c => c <: b',
6599 % '-evalt', ':prove a:0..1 & f=%b.(b:2..3|b) => f(x) : 2..3', % TO DO: add b:2..3 to hyps
6600 '-timeout', 200 % timeout per PO
6601 ], 'Test WD prover directly').
6602 cli_testcase(2048,[cbc],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
6603 '-evalt', 'dom(%(x,y,z).(x:BOOL & y:11..22 & z:BOOL|1)) = (X*A)*Z',
6604 '-evalf', 'dom(%(x,y,z).(x:BOOL & y:11..22 & z:BOOL|1)) \\/ {(TRUE,33,TRUE)} = (X*A)*Z',
6605 '-evalt', 'dom(%(x,y,z).(x:BOOL & y:11..22 & z:BOOL|1)) \\/ (BOOL*{33})*BOOL = (X*A)*Z',
6606 '-evalt', 'dom(%(x,y,z).(x:BOOL & y:11..22 & z:BOOL|1)) \\/ (BOOL*{33})*{TRUE} /= (BOOL*(1..1000000))*BOOL',
6607 '-evalt', 'dom(%(x,y,z).(x:BOOL & y:11..11 & z:BOOL|1)) \\/ (BOOL*{11})*{TRUE,FALSE} = (XX*AA)*XX',
6608 '-evalt', 'dom(%(x,y,z).(x:BOOL & y:11..22 & z:BOOL|1)) \\/ {(TRUE,33,TRUE)} = (X*A)*X <=> (A /= {100} or X/={TRUE})',
6609 '-evalt', 'avl = {1|->2, 1|->3} & avl = A*B',
6610 '-evalt', 'avl = {(1|->2),(1|->33),(2|->2),(2|->33)} & avl = A*B',
6611 '-evalt', 'avl = {(1|->2),(1|->33),(2|->2),(2|->33),(44|->2),(44|->33)} & avl = A*B',
6612 '-evalf', 'avl = {1|->2, 2|->3} & avl = A*B',
6613 '-evalf', 'avl = {1|->2, 1|->3, 2|->2} & avl = A*B',
6614 '-evalf', 'avl = {(1|->2),(1|->33),(2|->2),(2|->33),(44|->2),(44|->33),(44|->44)} & avl = A*B',
6615 '-evalf', 'avl = {(1|->2),(1|->33),(2|->2),(2|->33),(44|->2)} & avl = A*B',
6616 '-evalf', 'avl = {(1|->2),(1|->33),(2|->2),(44|->2),(44|->33)} & avl = A*B',
6617 '-evalf', 'avl = {(1|->2),(1|->33),(2|->33),(44|->2),(44|->33)} & avl = A*B',
6618 '-p', 'DATA_VALIDATION', 'TRUE'
6619 ], 'Test improved cartesian product equality').
6620 cli_testcase(2049,[kodkod],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
6621 '-evalt', ':kodkod-double-check A={1,2,44} & B={2,33} & avl = {1|->2, 1|->33, 2|->2, 2|->33, 44|->2, 44|->33} & avl = A*B',
6622 '-evalt', ':kodkod-double-check A={1,2,44} & avl = {1|->2, 1|->33, 2|->2, 2|->33, 44|->2, 44|->33} & avl = A*B',
6623 '-evalt', ':kodkod-double-check avl = {1|->2, 1|->33, 2|->2, 2|->33, 44|->2, 44|->33} & avl = A*B',
6624 '-evalt', ':kodkod-double-check x = {1|->TRUE,2|->TRUE,5|->TRUE} & x=a*b',
6625 '-evalf', ':kodkod-double-check x = BOOL*BOOL*{TRUE} \\/ {(TRUE,TRUE,FALSE)} & x=a*b',
6626 '-evalt', ':kodkod-double-check x = BOOL*BOOL*BOOL & x=a*b'
6627 ], 'Test corrected cartesian product kodkod propagation rule').
6628 cli_testcase(2050, [b_test,enabling], ['../prob_examples/public_examples/B/Tester/ReadWriteAnalysis/BecomesSuchTest.mch',
6629 '-read_write_matrix_csv', '../prob_examples/public_examples/B/Tester/ReadWriteAnalysis/BecomesSuchTest_rw.csv'
6630 ], 'Check that read write analysis works for becomes such').
6631 cli_testcase(2051, [b_test,enabling], ['../prob_examples/public_examples/B/Tester/ReadWriteAnalysis/BecomesSuchTest2.mch',
6632 '-read_write_matrix_csv', '../prob_examples/public_examples/B/Tester/ReadWriteAnalysis/BecomesSuchTest2_rw.csv'
6633 ], 'Check that read write analysis works for becomes such').
6634 cli_testcase(2052, [wd,wd_prover], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
6635 '../prob_examples/examples/B/ClearSy/cbi/sydb.mch',
6636 '-wd-check-all', '-timeout', 200 % timeout per PO
6637 ], 'Test private machines can be proven 100%').
6638 cli_testcase(2053,[cbc],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
6639 '-evalf', ':core (A=TRUE or B=TRUE) & (A=TRUE or C=FALSE) & (A=FALSE or B=FALSE) & (B=TRUE or C=FALSE) & (A=FALSE or B=FALSE) & (A=FALSE or B=TRUE) & (B=FALSE or C=TRUE)',
6640 '-evalf', ':core x > 1 & x>2 & x>0 & x <10 & y > x & x > z & z > y & z <12 & y > 2',
6641 '-evalf', ':core LET a BE a=x+10 IN y<a & y<100 & y>0 & y>a END',
6642 '-evalf', ':core x>2 & y>2 & z>2 & y<2 & z<2 & x<2',
6643 '-evalf', ':cores x>2 & y>2 & z>2 & y<2 & z<2 & x<2',
6644 '-evalf', ':cores not(x<10 or x>=10 or z>0)',
6645 '-evalf', ':cores not(x<10 or x>=10 or z>0 or x>9)',
6646 '-evalf', ':min-core x>1 & x<y & y<z & z<2 & x<2',
6647 '-evalf', ':min-core x>2 & y>2 & z>2 & y<2 & z<2 & x<v & v<2 & x+y+v /= 0',
6648 '-evalf', ':core (x=TRUE => (y>1 & z>1)) & y<0 & (x=FALSE => (y>1 & z<1))'
6649 % '-evalf', ':core x>0 & 10/(x*x) < 1 & x<4' % we need to clear WD error !
6650 % '-evalu', ':core x<: POW(BOOL) & x={} & card(res)>1 & res = inter(x) '
6651 ], 'Test unsat core computation').
6652 cli_testcase(2054,[cbc,tickets],[ '-p', 'NORMALIZE_AST', 'TRUE', '-p', 'OPTIMIZE_AST', 'TRUE',
6653 '-evalt', '(# /* LET */ (v_1,v_0).( v_1=(8388608 + (P_4 * 2097152 + P_5)) & v_0=((IF P_9 = TRUE THEN 16 ELSE 0 END) + P_10) & (# /* LET */ (v_2).( v_2=bool(mux_I_87477 + v_1 * (3 * - 1) * 64 + P_6 + mux_I_87463 * P_8 + ((IF v_0 < 16 THEN v_0 ELSE v_0 - 32 END) * v_1 * 4 + 0) < 0) & 2 * dz + 1 = (IF not(mux_I_87448 = 0) & v_2 = TRUE THEN 1 ELSE 0 END) - (IF v_2 = TRUE THEN 1 ELSE 0 END))))) & mux_I_87463 <= 15 & 0 <= mux_I_87463 & mux_I_87477 <= 1073741823 & 1073741824 * - 1 <= mux_I_87477 & mux_I_87448 <= 4398046511103 & 0 <= mux_I_87448 & P_10 <= 15 & 0 <= P_10 & P_8 <= 58720268 & 0 <= P_8 & P_7 <= 15 & 0 <= P_7 & P_6 <= 3848290795520 & 0 <= P_6 & P_5 <= 3 & 0 <= P_5 & P_4 <= 3 & 0 <= P_4 & P_3 <= 1 * - 1 & 939524288 * - 1 <= P_3 & P_2 <= 43 & 0 <= P_2'
6654 ], 'Test unsat normalize AST issue fixed').
6655 cli_testcase(2055,[smt_solver_integration],[ '-p', 'NORMALIZE_AST', 'TRUE', '-p', 'OPTIMIZE_AST', 'TRUE',
6656 '-p', 'TIME_OUT', '10000',
6657 '-evalt', ':z3-double-check (# /* LET */ (v_1,v_0).( v_1=(8388608 + (P_4 * 2097152 + P_5)) & v_0=((IF P_9 = TRUE THEN 16 ELSE 0 END) + P_10) & (# /* LET */ (v_2).( v_2=bool(mux_I_87477 + v_1 * (3 * - 1) * 64 + P_6 + mux_I_87463 * P_8 + ((IF v_0 < 16 THEN v_0 ELSE v_0 - 32 END) * v_1 * 4 + 0) < 0) & 2 * dz + 1 = (IF not(mux_I_87448 = 0) & v_2 = TRUE THEN 1 ELSE 0 END) - (IF v_2 = TRUE THEN 1 ELSE 0 END))))) & mux_I_87463 <= 15 & 0 <= mux_I_87463 & mux_I_87477 <= 1073741823 & 1073741824 * - 1 <= mux_I_87477 & mux_I_87448 <= 4398046511103 & 0 <= mux_I_87448 & P_10 <= 15 & 0 <= P_10 & P_8 <= 58720268 & 0 <= P_8 & P_7 <= 15 & 0 <= P_7 & P_6 <= 3848290795520 & 0 <= P_6 & P_5 <= 3 & 0 <= P_5 & P_4 <= 3 & 0 <= P_4 & P_3 <= 1 * - 1 & 939524288 * - 1 <= P_3 & P_2 <= 43 & 0 <= P_2'
6658 ], 'Test overflow issue in Z3 interface solved').
6659 cli_testcase(2056,[chr,tickets],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'CHR', 'TRUE',
6660 '-evalt', 'c1<c2 & x>=-5000 & c1+c2+x < -5000 & c1=-1 & c2=0'
6661 ], 'Test bug in CHR/clpfd_check_geq_nr fixed').
6662 cli_testcase(2057, [external, reals], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
6663 '../prob_examples/public_examples/B/NewSyntax/Reals/RealExternalFunctions.mch',
6664 '-evalt', 'r = /*@symbolic*/ {f|f/=1.0} & 2.0 : r',
6665 '-assertions'
6666 ], 'Test new features on reals').
6667 cli_testcase(2058,[cse,tickets],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'CSE', 'TRUE',
6668 '-evalt', 'cc=0 & CUST=1..3 & tokens:CUST+->0..3 & not(cc:dom(tokens) & (tokens(cc)<3 => tokens<+{(cc,tokens(cc)+1)}:CUST+->0..3))'
6669 ], 'Test bug in CSE and compiling of lazy_lookup with non-WD expression fixed').
6670 cli_testcase(2059,[cse,tickets],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'CSE', 'TRUE',
6671 '../prob_examples/public_examples/B/Laws/BoolLaws.mch',
6672 '-evalt', 'bool(not(pt or qt))=bool(not(pt) & not(qt)) & bool(not(PP=TRUE or TRUE=TRUE))=bool(not(QQ=TRUE) & not(TRUE=TRUE))'
6673 ], 'Test bug in CSE and double negation (and negated_cse info) fixed').
6674 cli_testcase(2060, [smt_solver_integration], [
6675 '../prob_examples/public_examples/B/Benchmarks/phonebook7.mch', % for SETS NAME, Code = {c1,c2,c3,c4}
6676 '-eval', ':z3-version',
6677 '-evalt', ':z3-double-check a<:{11}*{TRUE} & x:a',
6678 '-evalt', ':z3-double-check x = 2',
6679 '-evalt', ':z3-double-check a<:-1..3 & -1:a',
6680 '-evalf', ':z3-double-check a<:-1..3 & -2:a',
6681 '-evalt', ':z3-double-check x:BOOL & x=y',
6682 '-evalt', ':z3-double-check x:INTEGER & x=y',
6683 '-evalt', ':z3-double-check a<:(1..3)*{22} & x:a',
6684 %'-evalt', ':z3 a<:(1..n)*{22} & n:0..2 & x:a',
6685 '-evalt', ':z3-double-check x ={1|->TRUE, 2|->FALSE} & y=x', % ISSUE SSIMT-2
6686
6687 % some :prove examples from test 2047
6688 '-evalt', ':z3 x:INTEGER & (x>y & y>z) => x>=z',
6689 '-evalt', ':z3 !(x,y,z).(x:INTEGER & (x>=y & y>z) => x>z)',
6690 '-evalt', ':z3 !(x,y,z).(x:INTEGER & (x>y & y>=z) => x>z)',
6691 '-evalf', ':z3 !(x,y,z).(x:INTEGER & (x>=y & y>=z) => x>z)',
6692 '-evalt', ':z3 !x.(x:INTEGER => x+1>=x)',
6693 '-evalt', ':z3 !x.(x:INTEGER => x/=1+x)',
6694 '-evalt', ':z3 !x.(x:INTEGER => x>x-1)',
6695 %'-evalt', ':z3 !(x,f).(x:1..10 & f:1..11 --> BOOL => x:dom(f))', % UNKNOWN
6696 '-evalt', ':z3 !(x,y).(x:INTEGER & x<y => x:x..y)',
6697 '-evalt', ':z3 !(x,y).(x:INTEGER & x<=y => x:x..y)',
6698 '-evalf', ':z3 !(x,y).(x:INTEGER & x>y => x:x..y)',
6699 '-evalt', ':z3 !(x,y,z).(x:INTEGER & z:x..y => x:x..y)',
6700 '-evalf', ':z3 !(x,y,z).(x:INTEGER & z:y..y => x:x..y)',
6701 '-evalt', ':z3 !a.(a:INTEGER & a>0 => 10+a>=10)',
6702 '-evalt', ':z3 !(a,b).(a:INTEGER & a>=0 & b>0 => a mod b <= b)',
6703 '-evalt', ':z3 !(a,b).(a:INTEGER => a mod b <= b)',
6704 % :z3 !(x,n).(x:1..n & n>1 => (x+1) mod n : 1..(n)) % UNKNOWN
6705 '-evalt', ':z3 !(x,y,z).(x:INTEGER & x<y & y<z => x < z)',
6706 % :z3 !(a,n).(a:NATURAL1 +-> BOOL & a/={} & dom(a)=1..n => 1:dom(a)) % UNKNOWN
6707 % :z3 !(x,f).(f:INTEGER +-> INTEGER => x:dom(f <+ {x|->x})) % UNKNOWN
6708 % :z3 !(x,f).(f:1..10 --> INTEGER & x>1 & x<10 => x:dom(f)) % UNKNOWN
6709 '-evalt', ':z3 !(x,y).(x<:INTEGER & x<:y & y<:x => y=x)',
6710
6711 % examples using enumerated/deferred sets
6712 '-evalt', ':z3-double-check res = {c1} \\/ ({c2} /\\ {c1})',
6713 '-evalt', ':z3-double-check res = {c1} \\/ ({c2} \\ {c1})',
6714 '-evalt', ':z3-double-check not(c1:res) & not(c2:res) & c3:res',
6715
6716 '-evalt', ':z3-double-check x =[2,3] & y=x~ & d = {v|#(w).(w:{3} & (w,v):y)}',
6717 '-evalt', ':z3-double-check x =[2,3] & y=x~ & d = y[{3,4}]', % z3 sometimes reports d = {z_|z_ /: {1}} instead of d = {2} here and double-check fails
6718 '-evalt', ':z3 x =[2,3] & d = x~[{3,4}]',
6719
6720 '-evalt', ':z3-double-check x ={1|->TRUE, 2|->FALSE} & y=x~',
6721 '-evalt', ':z3-double-check x ={1|->TRUE, 2|->FALSE} & y= {TRUE|->FALSE}',
6722 '-evalt', ':z3-double-check x = %i.(i:1..10|i+i) & x[{5,j}]={16,10}',
6723 '-evalt', ':z3 dom({1|->1}/\\{2|->3}) = {}',
6724 '-evalt', ':z3-double-check ((IF id0 /= 0.0 THEN {1,2,3} ELSE inter({}) END) /<: {})',
6725 '-evalt', ':z3-double-check id0 : POW(POW(REAL)) & id1 : POW(INTEGER * POW(REAL)) & id3 : POW(INTEGER * (POW(INTEGER * POW(INTEGER * BOOL)) * POW(INTEGER * POW(INTEGER * (POW(INTEGER * (POW(INTEGER * REAL) * REAL)) * POW(INTEGER * POW(INTEGER * POW(INTEGER * INTEGER)))))))) * INTEGER * INTEGER & not(id0 /= {} & (id1 : seq1(POW(REAL)) & (inter(id0) - first(id1) /= {} & inter(id0) - first(id1) : FIN(inter(id0) - first(id1)) & /* falsity */ {} /= {})) & max(inter(id0) - first(id1)) < MU({}) * real(prj2(id3)))',
6726 '-evalt', ':z3-double-check id0 : POW(BOOL * POW(REAL)) & not(id0 /= {} & id0 : FIN(id0) & card(id0) <= 1 & (prj2(MU(id0)) /= {} & prj2(MU(id0)) : FIN(prj2(MU(id0))) & card(prj2(MU(id0))) <= 1 & /* falsity */ {} /= {}) & MU(prj2(MU(id0))) < - min({}))',
6727 '-evalt', ':z3-double-check id0 : REAL * INTEGER & id1 : REAL & id10 : REAL & id11 : POW(POW(POW(INTEGER * BOOL))) & id2 : REAL & id3 : POW(INTEGER * POW(INTEGER * INTEGER)) & id4 : INTEGER & id5 : POW(INTEGER * INTEGER) & id9 : POW(INTEGER * (REAL * INTEGER)) & not(id10 <= id10 & iseq(BOOL) <: union(id11) & ((id1 < 0.0 => 84.55477380542352 = real(floor(84.55477380542352))) & ((id1 = 0.0 => 0.0 <= 84.55477380542352) & (- id2 /= 0.0 & (RPOW(id1,84.55477380542352) / - id2 : dom({id0,id0} <+ {}) & ({id0,id0} <+ {} : REAL +-> INTEGER & ((pred : FIN(pred) => id3 : seq1(POW(INTEGER * INTEGER))) & ((not(pred : FIN(pred)) => id5 : seq(INTEGER)) & ((IF pred : FIN(pred) THEN first(id3) ELSE id4 -> id5 END) : seq1(INTEGER) & /* falsity */ -2548 > 0))))))) & ({id0,id0} <+ {})(RPOW(id1,84.55477380542352) / - id2) + first(IF pred : FIN(pred) THEN first(id3) ELSE id4 -> id5 END) = prj2(last(id9)) mod -2548))',
6728 '-evalt', ':z3-double-check id0 : POW(INTEGER * POW(INTEGER * INTEGER)) & id1 : INTEGER & id2 : POW(INTEGER * INTEGER) & not(id1 : dom(id0) & (id0 : INTEGER +-> POW(INTEGER * INTEGER) & (id2 : seq1(INTEGER) & (id0(id1) : seq(INTEGER) & (id0(id1) ^ front(id2) : seq1(INTEGER) & /* falsity */ -40 > 0)))) & last(id0(id1) ^ front(id2)) > - ((MININT + 1) mod -40))',
6729 '-evalt', ':z3-double-check id0 : POW(INTEGER * POW(INTEGER * INTEGER)) & id1 : INTEGER & id2 : POW(INTEGER * INTEGER) & not(id1 : dom(id0) & (id0 : INTEGER +-> POW(INTEGER * INTEGER) & (id2 : seq1(INTEGER) & (id0(id1) : seq(INTEGER) & (id0(id1) ^ front(id2) : seq1(INTEGER) & /* falsity */ -40 > 0)))) & last(id0(id1) ^ front(id2)) > - ((MININT + 1) mod -40))',
6730 '-evalt', ':z3-double-check id0 : INTEGER & id1 : POW(INTEGER * (INTEGER * REAL)) & not((31 / id0 >= MININT ** MININT => id1 : seq1(INTEGER * REAL)) & /* falsity */ {} /= {} & (IF id0 /= 0 & MININT >= 0 & 31 / id0 >= MININT ** MININT THEN prj1(first(id1)) ELSE min(pred[NAT1]) END) > inter({})(floor(real(MININT))))',
6731 '-evalt', ':z3-double-check id1 : POW(POW(POW(INTEGER * INTEGER)) * REAL * BOOL) & id2 : POW(POW(POW(INTEGER * INTEGER)) * REAL * BOOL) & id3 : INTEGER & id4 : POW(INTEGER * INTEGER) & id5 : REAL & not(id4 : seq(INTEGER) & (ceiling(id5) : 0 .. size(id4 <- MININT) & /* falsity */ {} /= {}) & (LET id0 BE id0=((id4 <- MININT) \\|/ ceiling(id5)) IN ( ASSERT_EXPR (bool(id1 <: id2),"lambda function %(id0) called outside of domain, condition false: ",MININT / id3 )) END) >= ceiling(3.405527294103958 - 65.31562945967323) + max({}))',
6732 '-evalt', ':z3-double-check id0 : INTEGER & id1 : POW(POW(POW(POW(POW(REAL)) * POW(INTEGER * INTEGER) * REAL)) * INTEGER) & id2 : POW(POW(POW(POW(REAL)) * POW(INTEGER * INTEGER) * REAL)) & id3 : POW(INTEGER * POW(INTEGER * INTEGER)) & id4 : POW(INTEGER * POW(INTEGER * INTEGER)) & not(MININT >= 0 & (id2 : dom(id1) & (id1 : POW(POW(POW(POW(REAL)) * POW(INTEGER * INTEGER) * REAL)) +-> INTEGER & (id1(id2) /= 0 & /* falsity */ {} /= {}))) & (id0 ** MININT / id1(id2)) ** MU({}) = last(conc(id3) ^ last(id4)))',
6733 '-evalt', ':z3-double-check id0 : POW(INTEGER * (POW(REAL * REAL) * (REAL * INTEGER))) & id1 : POW(BOOL * (REAL * REAL)) & not(id0 : seq(POW(REAL * REAL) * (REAL * INTEGER)) & (44 : 0 .. size(id0) & (rev(id0 \\|/ 44) : seq1(POW(REAL * REAL) * (REAL * INTEGER)) & /* falsity */ {} /= {})) & last(rev(id0 \\|/ 44)) /= (ran(BOOL <| id1) |-> MU({})))',
6734 '-evalt', ':z3-double-check id0 : POW(POW(INTEGER * POW(REAL)) * POW(INTEGER * REAL)) & id1 : POW(POW(BOOL)) * REAL * REAL & not([] : dom(id0) & (id0 : POW(INTEGER * POW(REAL)) +-> POW(INTEGER * REAL) & (id0([]) : seq1(REAL) & (tail(id0([])) : seq1(REAL) & /* falsity */ {} /= {}))) & last(tail(id0([]))) < min({}) / prj2(prj1(id1)))',
6735 '-evalt', ':z3-double-check id4 : POW(INTEGER * POW(REAL)) & not(id4 : seq1(POW(REAL)) & (first(id4) /= {} & first(id4) : FIN(first(id4)) & card(first(id4)) <= 1 & /* falsity */ {} /= {}) & MU(first(id4)) < min({}))',
6736 '-evalt', ':z3-double-check not(MININT : 0 .. size([]) & ([] \\|/ MININT : seq1(REAL) & /* falsity */ {} /= {}) & first([] \\|/ MININT) + MU({}) <= union(NAT1 +-> FLOAT)(floor(- 36.68245935131156)))',
6737 '-evalt', ':z3-double-check not({id3,id4,id5|id3 : INTEGER & id4 : BOOL * POW(POW(BOOL)) & id5 : POW(INTEGER)} : FIN({id3,id4,id5|id3 : INTEGER & id4 : BOOL * POW(POW(BOOL)) & id5 : POW(INTEGER)}) & ({id3,id4,id5,id6|id3 : POW(INTEGER * (BOOL * REAL)) & id4 : REAL & id5 : REAL & id6 : BOOL & bfalse} : FIN({id3,id4,id5,id6|id3 : POW(INTEGER * (BOOL * REAL)) & id4 : REAL & id5 : REAL & id6 : BOOL & bfalse}) & (SIGMA(id3,id4,id5,id6).(id3 : POW(INTEGER * (BOOL * REAL)) & id4 : REAL & id5 : REAL & id6 : BOOL & bfalse|MININT) /= 0 & /* falsity */ {} /= {})) & FDIV(PI(id3,id4,id5).(id3 : INTEGER & id4 : BOOL * POW(POW(BOOL)) & id5 : POW(INTEGER)|MAXINT),SIGMA(id3,id4,id5,id6).(id3 : POW(INTEGER * (BOOL * REAL)) & id4 : REAL & id5 : REAL & id6 : BOOL & bfalse|MININT)) <= MU({}))',
6738 '-evalt', ':z3-double-check id0 : POW(INTEGER * (BOOL * REAL)) & id1 : INTEGER & id2 : POW(INTEGER * POW(INTEGER * BOOL)) * REAL * REAL & id3 : POW(INTEGER * REAL) & id4 : POW(INTEGER * REAL) * POW(REAL) * REAL & not(id1 : dom(id0) & (id0 : INTEGER +-> BOOL * REAL & (id3 : seq1(REAL) & ((prj2(id2) < 0.0 => last(id3) = real(floor(last(id3)))) & ((prj2(id2) = 0.0 => 0.0 <= last(id3)) & /* falsity */ {} /= {})))) & prj2(id0(id1)) - RPOW(prj2(id2),last(id3)) : MU({}) /\\ prj2(prj1(id4)))',
6739 '-evalt', ':z3-double-check id4 : POW(INTEGER * INTEGER) & id5 : POW(INTEGER * REAL) & not({id0,id1,id2,id3|id0 : POW(INTEGER * BOOL) & id1 : BOOL & id2 : REAL & id3 : POW(BOOL * (BOOL * BOOL)) & (id5 : seq1(REAL) & (9.31527276375276 < 0.0 => 75.22337798147748 = real(floor(75.22337798147748))) & (id4 : seq1(INTEGER) & last(id4) > ceiling(13.145672480086924)))} : FIN({id0,id1,id2,id3|id0 : POW(INTEGER * BOOL) & id1 : BOOL & id2 : REAL & id3 : POW(BOOL * (BOOL * BOOL)) & (id5 : seq1(REAL) & (9.31527276375276 < 0.0 => 75.22337798147748 = real(floor(75.22337798147748))) & (id4 : seq1(INTEGER) & last(id4) > ceiling(13.145672480086924)))}) & /* falsity */ {} /= {} & SIGMA(id0,id1,id2,id3).(id0 : POW(INTEGER * BOOL) & id1 : BOOL & id2 : REAL & id3 : POW(BOOL * (BOOL * BOOL)) & (id5 : seq1(REAL) & (9.31527276375276 < 0.0 => 75.22337798147748 = real(floor(75.22337798147748))) & (id4 : seq1(INTEGER) & last(id4) > ceiling(13.145672480086924)))|first(id5) * RPOW(9.31527276375276,75.22337798147748)) <= RPOW(MU({}),MU(REAL) / MU(REAL)))',
6740 '-evalt', ':z3-double-check id0 : POW(POW(INTEGER)) & id3 : POW(POW(REAL)) * INTEGER & not((NAT1 <: inter(id0) => union({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(INTEGER) & bfalse}) /= {} & union({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(INTEGER) & bfalse}) : FIN(union({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(INTEGER) & bfalse})) & card(union({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(INTEGER) & bfalse})) <= 1) & ((not(NAT1 <: inter(id0)) => {id1,id2|id1 : INTEGER * REAL & id2 : BOOL} : FIN({id1,id2|id1 : INTEGER * REAL & id2 : BOOL})) & /* falsity */ {} /= {}) & (IF id0 /= {} & NAT1 <: inter(id0) THEN MU(union({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(INTEGER) & bfalse})) ELSE PI(id1,id2).(id1 : INTEGER * REAL & id2 : BOOL|prj2(id3)) END) < ceiling(min({})))',
6741 '-evalt', ':z3-double-check id0 : POW(INTEGER * POW(REAL * INTEGER)) & id1 : REAL & id2 : BOOL * POW(REAL * INTEGER) * POW(INTEGER * BOOL) & not(id0 : seq1(POW(REAL * INTEGER)) & (id1 - id1 : dom(first(id0)) & (first(id0) : REAL +-> INTEGER & ({id2|id2 : INTEGER & /* falsity */ not(btrue)} : FIN({id2|id2 : INTEGER & /* falsity */ not(btrue)}) & (SIGMA(id2).(id2 : INTEGER & /* falsity */ not(btrue)|FDIV(24,id2)) >= 0 & /* falsity */ {} /= {})))) & first(id0)(id1 - id1) ** SIGMA(id2).(id2 : INTEGER & /* falsity */ not(btrue)|FDIV(24,id2)) /= prj2(prj1(id2))(min({})))',
6742 '-evalt', ':z3-double-check id9 : POW(INTEGER * INTEGER) & not(id9 : seq(INTEGER) & (MININT : 0 .. size(id9) & (id9 /|\\ MININT : seq1(INTEGER) & /* falsity */ {} /= {})) & last(id9 /|\\ MININT) < max({}))',
6743 '-evalt', ':z3-double-check id1 : POW(INTEGER * POW(INTEGER)) & id2 : POW(POW(INTEGER * POW(INTEGER * REAL)) * BOOL * POW(INTEGER * INTEGER)) & id3 : POW(INTEGER * POW(INTEGER * REAL)) * BOOL & not({id0|id0 : REAL & (id3 : dom(id2) & (id2 : POW(INTEGER * POW(INTEGER * REAL)) * BOOL +-> POW(INTEGER * INTEGER) & id2(id3) : seq1(INTEGER)) & (id1 : seq(POW(INTEGER)) & floor(100.56482246140652) > size(id1)))} : FIN({id0|id0 : REAL & (id3 : dom(id2) & (id2 : POW(INTEGER * POW(INTEGER * REAL)) * BOOL +-> POW(INTEGER * INTEGER) & id2(id3) : seq1(INTEGER)) & (id1 : seq(POW(INTEGER)) & floor(100.56482246140652) > size(id1)))}) & (POW1({}) /= {} & POW1({}) : FIN(POW1({})) & card(POW1({})) <= 1 & (STRING : FIN(STRING) & /* falsity */ -63 > 0)) & SIGMA(id0).(id0 : REAL & (id3 : dom(id2) & (id2 : POW(INTEGER * POW(INTEGER * REAL)) * BOOL +-> POW(INTEGER * INTEGER) & id2(id3) : seq1(INTEGER)) & (id1 : seq(POW(INTEGER)) & floor(100.56482246140652) > size(id1)))|first(id2(id3))) >= MU(POW1({}))(card(STRING) mod -63))',
6744 '-evalt', ':z3-double-check id0 : POW(INTEGER * INTEGER) & not(conc([]) : seq1(INTEGER) & (tail(conc([])) : seq1(INTEGER) & id0 : seq(INTEGER)) & first(tail(conc([]))) <= - last(id0 <- MAXINT))',
6745 '-evalt', ':z3 id1 : POW(INTEGER * (POW(INTEGER * POW(INTEGER * BOOL)) * POW(BOOL))) * REAL & id2 : POW(INTEGER * POW(INTEGER * (POW(INTEGER * (POW(INTEGER * BOOL) * REAL)) * (POW(POW(POW(INTEGER * (REAL * (BOOL * INTEGER))))) * BOOL)))) & id4 : INTEGER * POW(INTEGER * POW(POW(INTEGER * POW(POW(POW(INTEGER * INTEGER)))))) * (INTEGER * INTEGER * POW(POW(INTEGER * (POW(INTEGER * (POW(INTEGER * BOOL) * REAL)) * (POW(POW(POW(INTEGER * (REAL * (BOOL * INTEGER))))) * BOOL))))) & id5 : POW(INTEGER * (INTEGER * INTEGER * POW(POW(INTEGER * (POW(INTEGER * (POW(INTEGER * BOOL) * REAL)) * (POW(POW(POW(INTEGER * (REAL * (BOOL * INTEGER))))) * BOOL)))))) & not(prj1(id1) : {} & (id2 : seq1(POW(INTEGER * (POW(INTEGER * (POW(INTEGER * BOOL) * REAL)) * (POW(POW(POW(INTEGER * (REAL * (BOOL * INTEGER))))) * BOOL)))) & (front(id2) : seq(seq(POW(INTEGER * (POW(INTEGER * BOOL) * REAL)) * (POW(POW(POW(INTEGER * (REAL * (BOOL * INTEGER))))) * BOOL))) & (97.54326068780833 /= 35.137962494237755 => id5 : seq1(INTEGER * INTEGER * POW(POW(INTEGER * (POW(INTEGER * (POW(INTEGER * BOOL) * REAL)) * (POW(POW(POW(INTEGER * (REAL * (BOOL * INTEGER))))) * BOOL)))))))) & ({}(prj1(id1)) ^ conc(front(id2))) /: ( ASSERT_EXPR (bool((IF 97.54326068780833 = 35.137962494237755 THEN prj2(id4) ELSE last(id5) END) : (succ |>> NAT1) * {}),"projection function called outside of domain: ",prj2(IF 97.54326068780833 = 35.137962494237755 THEN prj2(id4) ELSE last(id5) END) )))',
6746 '-evalt', ':z3 id4 : REAL & id5 : POW(POW(INTEGER * BOOL) * POW(INTEGER * POW(POW(INTEGER * POW(INTEGER * POW(INTEGER * BOOL))) * INTEGER) * REAL)) & not({id0,id1,id2,id3|id0 : INTEGER & id1 : INTEGER * INTEGER & id2 : POW(INTEGER * BOOL) & id3 : POW(INTEGER * (INTEGER * POW(INTEGER * REAL))) * BOOL & bfalse} : FIN({id0,id1,id2,id3|id0 : INTEGER & id1 : INTEGER * INTEGER & id2 : POW(INTEGER * BOOL) & id3 : POW(INTEGER * (INTEGER * POW(INTEGER * REAL))) * BOOL & bfalse}) & ((real(MININT) < 0.0 => SIGMA(id0,id1,id2,id3).(id0 : INTEGER & id1 : INTEGER * INTEGER & id2 : POW(INTEGER * BOOL) & id3 : POW(INTEGER * (INTEGER * POW(INTEGER * REAL))) * BOOL & bfalse|id4) = real(floor(SIGMA(id0,id1,id2,id3).(id0 : INTEGER & id1 : INTEGER * INTEGER & id2 : POW(INTEGER * BOOL) & id3 : POW(INTEGER * (INTEGER * POW(INTEGER * REAL))) * BOOL & bfalse|id4)))) & ((real(MININT) = 0.0 => 0.0 <= SIGMA(id0,id1,id2,id3).(id0 : INTEGER & id1 : INTEGER * INTEGER & id2 : POW(INTEGER * BOOL) & id3 : POW(INTEGER * (INTEGER * POW(INTEGER * REAL))) * BOOL & bfalse|id4)) & (id5 /= {} & id5 : FIN(id5) & card(id5) <= 1 & ({id6,id7|id6 : POW(INTEGER * INTEGER) & id7 : BOOL & bfalse} : FIN({id6,id7|id6 : POW(INTEGER * INTEGER) & id7 : BOOL & bfalse}) & (PI(id6,id7).(id6 : POW(INTEGER * INTEGER) & id7 : BOOL & bfalse|MAXINT) : {rel_x|rel_x : INTEGER & (rel_x : {} & #rel_y.(rel_y : INTEGER * POW(POW(INTEGER * POW(INTEGER * POW(INTEGER * BOOL))) * INTEGER) & rel_y : union({}[{rel_x}])))} & ({rel_x,rel_y|rel_x : INTEGER & rel_y : INTEGER * POW(POW(INTEGER * POW(INTEGER * POW(INTEGER * BOOL))) * INTEGER) & (rel_x : {} & rel_y : union({}[{rel_x}]))} : INTEGER +-> INTEGER * POW(POW(INTEGER * POW(INTEGER * POW(INTEGER * BOOL))) * INTEGER) & ({rel_x,rel_y|rel_x : INTEGER & rel_y : INTEGER * POW(POW(INTEGER * POW(INTEGER * POW(INTEGER * BOOL))) * INTEGER) & (rel_x : {} & rel_y : union({}[{rel_x}]))}(PI(id6,id7).(id6 : POW(INTEGER * INTEGER) & id7 : BOOL & bfalse|MAXINT)) : dom(prj2(MU(id5))) & prj2(MU(id5)) : INTEGER * POW(POW(INTEGER * POW(INTEGER * POW(INTEGER * BOOL))) * INTEGER) +-> REAL))))))) & RPOW(real(MININT),SIGMA(id0,id1,id2,id3).(id0 : INTEGER & id1 : INTEGER * INTEGER & id2 : POW(INTEGER * BOOL) & id3 : POW(INTEGER * (INTEGER * POW(INTEGER * REAL))) * BOOL & bfalse|id4)) + last([47.83110392595881,28.847294871004024,83.74217309396853,28.730975640438306]) < prj2(MU(id5))({rel_x,rel_y|rel_x : INTEGER & rel_y : INTEGER * POW(POW(INTEGER * POW(INTEGER * POW(INTEGER * BOOL))) * INTEGER) & (rel_x : {} & rel_y : union({}[{rel_x}]))}(PI(id6,id7).(id6 : POW(INTEGER * INTEGER) & id7 : BOOL & bfalse|MAXINT))))',
6747 '-evalt', ':z3-double-check id0 : POW(POW(INTEGER) * BOOL) & id1 : INTEGER * POW(INTEGER * POW(POW(POW(INTEGER * REAL) * INTEGER))) & id2 : INTEGER * POW(INTEGER * POW(POW(POW(INTEGER * REAL) * INTEGER))) & id3 : POW(POW(INTEGER) * POW(POW(INTEGER) * BOOL * BOOL)) & not(NAT : dom(id3) & (id3 : POW(INTEGER) +-> POW(POW(INTEGER) * BOOL * BOOL) & (conc([]) : seq1(POW(INTEGER * POW(INTEGER * (POW(INTEGER) * BOOL) * (POW(INTEGER * POW(POW(POW(INTEGER * REAL) * INTEGER))) * BOOL)))) & first(conc([])) : seq1(POW(INTEGER * (POW(INTEGER) * BOOL) * (POW(INTEGER * POW(POW(POW(INTEGER * REAL) * INTEGER))) * BOOL))))) & {`_prj_arg1__`,`_prj_arg2__`|`_prj_arg1__` : INTEGER & `_prj_arg2__` : POW(INTEGER) * BOOL & (`_prj_arg1__` : NATURAL & `_prj_arg2__` : id0)} <| ({id1,id2,id1,id2} || id3(NAT)) /<<: first(first(conc([]))))',
6748 % '-evalt', ':z3 id0 : REAL & id1 : INTEGER & id6 : POW(STRING) & not(conc([]) : seq1(INTEGER) & (id1 > 0 & (MAXINT mod id1 /= 0 & (floor(id0) / (MAXINT mod id1) >= 0 & ({id2,id3,id4,id5|id2 : INTEGER * (POW(POW(INTEGER)) * REAL) * POW(BOOL) & id3 : POW(BOOL) * POW(INTEGER * INTEGER) & id4 : INTEGER & id5 : BOOL & (STRING = id6\\/STRING & id6/\\STRING = {})} : FIN({id2,id3,id4,id5|id2 : INTEGER * (POW(POW(INTEGER)) * REAL) * POW(BOOL) & id3 : POW(BOOL) * POW(INTEGER * INTEGER) & id4 : INTEGER & id5 : BOOL & (STRING = id6\\/STRING & id6/\\STRING = {})}) & (FDIV(- id1,MININT - 1) > 0 & SIGMA(id2,id3,id4,id5).(id2 : INTEGER * (POW(POW(INTEGER)) * REAL) * POW(BOOL) & id3 : POW(BOOL) * POW(INTEGER * INTEGER) & id4 : INTEGER & id5 : BOOL & (STRING = id6\\/STRING & id6/\\STRING = {})|id1) >= 0))))) & first(conc([])) ** (floor(id0) / (MAXINT mod id1)) < SIGMA(id2,id3,id4,id5).(id2 : INTEGER * (POW(POW(INTEGER)) * REAL) * POW(BOOL) & id3 : POW(BOOL) * POW(INTEGER * INTEGER) & id4 : INTEGER & id5 : BOOL & (STRING = id6\\/STRING & id6/\\STRING = {})|id1) mod FDIV(- id1,MININT - 1))',
6749 % comment 23.10.2026: solving this relied upon the WD prover not being able to establish that this is well-defined,
6750 % which led ensure_wd to add 1:dom({}) as extra wd condition for first(conc([]))
6751 % which led to the bcompiler simplifying the predicate to btruth and Z3 was never called
6752 % now that FDIV is converted to floored_div, the prover can establish that FDIV(- id1,MININT - 1) > 0 is false
6753 % and everything that follows will never be executed and no 1:dom({}) is added by ensure_wd
6754 % which means that z3 is being called but it cannot translate the remaining predicate
6755 '-evalt', ':z3-double-check id0 : POW(BOOL * BOOL) & id1 : POW(INTEGER * INTEGER) & id5 : POW(INTEGER * POW(INTEGER * POW(INTEGER * REAL)) * POW(POW(POW(BOOL * INTEGER * (BOOL * INTEGER) * (POW(BOOL) * INTEGER))))) & not(#rel_x.(rel_x : INTEGER * POW(INTEGER * POW(INTEGER * REAL)) & (rel_x : dom(id5) & (closure1(id0) || iterate(id1,MININT)) >->> {} : union(id5[{rel_x}]))) & MININT >= 0)',
6756 % '-evalt', ':z3 id0 : POW(POW(INTEGER * BOOL)) * REAL & id5 : POW(POW(POW(POW(POW(POW(POW(POW(BOOL * BOOL) * (POW(INTEGER * BOOL) * POW(POW(INTEGER * POW(INTEGER * POW(INTEGER * POW(BOOL))))) * (POW(INTEGER * POW(INTEGER * REAL)) * (POW(BOOL) * POW(BOOL * INTEGER)) * BOOL * BOOL)) * INTEGER))) * INTEGER) * (BOOL * POW(INTEGER * INTEGER) * INTEGER * BOOL * INTEGER)) * REAL * POW(INTEGER * REAL))) & id6 : POW(POW(POW(INTEGER * REAL))) & id7 : POW(INTEGER) * POW(POW(POW(INTEGER * REAL))) & not(id6 /= {} & id6 : FIN(id6) & card(id6) <= 1 & (seq(REAL) \\/ MU(id6)) /: prj2(id7) & ([] <- id0 : {} & ([] : seq1(POW(POW(POW(POW(POW(POW(BOOL * BOOL) * (POW(INTEGER * BOOL) * POW(POW(INTEGER * POW(INTEGER * POW(INTEGER * POW(BOOL))))) * (POW(INTEGER * POW(INTEGER * REAL)) * (POW(BOOL) * POW(BOOL * INTEGER)) * BOOL * BOOL)) * INTEGER))) * INTEGER) * (BOOL * POW(INTEGER * INTEGER) * INTEGER * BOOL * INTEGER)) * REAL) & (rev([]) : seq1(POW(POW(POW(POW(POW(POW(BOOL * BOOL) * (POW(INTEGER * BOOL) * POW(POW(INTEGER * POW(INTEGER * POW(INTEGER * POW(BOOL))))) * (POW(INTEGER * POW(INTEGER * REAL)) * (POW(BOOL) * POW(BOOL * INTEGER)) * BOOL * BOOL)) * INTEGER))) * INTEGER) * (BOOL * POW(INTEGER * INTEGER) * INTEGER * BOOL * INTEGER)) * REAL) & (id5 /= {} & id5 : FIN(id5) & card(id5) <= 1))) & (({} +-> INTEGER) <-> {}([] <- id0)) <| {first([]),last(rev([]))} = dom({} <<| MU(id5))))',
6757 % z3 cannot solve this predicate when the WD Pos have not been added, see prob_examples/public_examples/Eval/z3/z3_cannot_solve_wo_wd_pos, commented out 25.2.2026
6758 % more tests have been commented out below for similar reason, a few maybe due to seq rewrites being fully applied leading to ProB not being able to pre-compute/expand quantifiers/set_comprehensions
6759 % '-evalt', ':z3-double-check id0 : POW(INTEGER * (INTEGER * INTEGER)) * (POW(REAL) * (POW(INTEGER * INTEGER) * INTEGER)) & id2 : POW(INTEGER * POW(INTEGER * (POW(REAL) * INTEGER))) & id3 : POW(REAL * POW(POW(POW(INTEGER * POW(INTEGER * INTEGER))))) & id4 : POW(POW(REAL) * REAL) & not(REAL : dom(id4) & (id4 : POW(REAL) +-> REAL & (id4(REAL) : dom(id3) & id3 : REAL +-> POW(POW(POW(INTEGER * POW(INTEGER * INTEGER)))))) & seq1(iseq(NAT1)) /: id3(id4(REAL)) & ([] : seq1(REAL * INTEGER) & (prj1(id0) : seq1(INTEGER * INTEGER) & (prj1(last(prj1(id0))) > 0 & (prj2(first([])) >= 0 & (id2 : seq(seq(POW(REAL) * INTEGER)) & conc(id2) : seq1(POW(REAL) * INTEGER))))) & prj2(first([])) mod prj1(last(prj1(id0))) = prj2(first(conc(id2)))))', % commented out 25.2.2026
6760 '-evalt', ':z3-double-check id1 : POW(INTEGER * POW(INTEGER * INTEGER)) & id2 : POW(POW(INTEGER)) & not([] : seq1(INTEGER) & (id1 : seq1(POW(INTEGER * INTEGER)) & (first(id1) : seq1(INTEGER) & (first(first(id1)) > 0 & (first([]) >= 0 & (union(id2) /= {} & union(id2) : FIN(union(id2))))))) & first([]) mod first(first(id1)) /= max(union(id2)))',
6761 % '-evalt', ':z3-double-check id0 : POW(INTEGER * POW(POW(INTEGER * POW(POW(INTEGER * INTEGER))) * POW(INTEGER * POW(POW(INTEGER * INTEGER))))) * POW(INTEGER * INTEGER) & not(prj1(id0) : seq1(POW(POW(INTEGER * POW(POW(INTEGER * INTEGER))) * POW(INTEGER * POW(POW(INTEGER * INTEGER))))) & (conc([]) : seq1(INTEGER) & first(conc([])) >= 0) & iterate(first(prj1(id0)),first(conc([]))) : FIN(iterate(first(prj1(id0)),first(conc([])))))',
6762 % '-evalt', ':z3 id0 : INTEGER * REAL * POW(INTEGER * POW(POW(INTEGER))) & not(MAXINT : 0 .. size([]) & ([] /|\\ MAXINT : seq1(POW(INTEGER)) & prj2(id0) : seq1(POW(POW(INTEGER)))) & POW1(first([] /|\\ MAXINT)) <: last(prj2(id0)) - POW1(NATURAL1))', % commented out 25.2.2026
6763 '-evalt', ':z3-double-check id0 : BOOL * POW(POW(POW(POW(BOOL)))) * BOOL & id1 : POW(POW(INTEGER * BOOL)) & id2 : POW(POW(INTEGER * BOOL)) & id3 : POW(INTEGER * BOOL) * POW(POW(INTEGER * POW(INTEGER * POW(BOOL * (BOOL * BOOL) * INTEGER)))) * POW(POW(INTEGER * BOOL)) & not([] : seq1(BOOL) & [prj1(prj1(id0)),first([]),last(TRUE -> []),TRUE] : (id1 - id2 \\/ prj2(id3)) /\\ {LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(INTEGER * BOOL) & (MAXINT : 0 .. size([]) & LAMBDA_RESULT___ = [] /|\\ MAXINT)})',
6764 '-evalt', ':z3-double-check id1 : POW(INTEGER * POW(POW(INTEGER * INTEGER))) & not(MAXINT / 76 : {rel_x|rel_x : INTEGER & (rel_x : {} & #rel_y.(rel_y : POW(POW(INTEGER * BOOL) * POW(INTEGER * INTEGER) * POW(INTEGER * INTEGER)) & rel_y : union({}[{rel_x}])))} & {rel_x,rel_y|rel_x : INTEGER & rel_y : POW(POW(INTEGER * BOOL) * POW(INTEGER * INTEGER) * POW(INTEGER * INTEGER)) & (rel_x : {} & rel_y : union({}[{rel_x}]))} : INTEGER +-> POW(POW(INTEGER * BOOL) * POW(INTEGER * INTEGER) * POW(INTEGER * INTEGER)) & /*@symbolic*/ %(`_prj_arg1__`,`_prj_arg2__`).(`_prj_arg1__` : POW(INTEGER * BOOL) & `_prj_arg2__` : POW(INTEGER * INTEGER) & (`_prj_arg1__` : NAT1 >+> BOOL & (id1 : seq1(POW(POW(INTEGER * INTEGER))) & `_prj_arg2__` : last(id1)))|`_prj_arg2__`) /<<: {rel_x,rel_y|rel_x : INTEGER & rel_y : POW(POW(INTEGER * BOOL) * POW(INTEGER * INTEGER) * POW(INTEGER * INTEGER)) & (rel_x : {} & rel_y : union({}[{rel_x}]))}(MAXINT / 76))',
6765 % '-evalt', ':z3-double-check id0 : POW(POW(POW(REAL))) & id1 : POW(INTEGER * POW(REAL * BOOL)) & not((NAT1 +->> NAT1) /= {} & NAT1 +->> NAT1 : FIN(NAT1 +->> NAT1) & card(NAT1 +->> NAT1) <= 1 & conc([]) : seq1(POW(INTEGER * POW(REAL) * (INTEGER * POW(REAL * BOOL)))) & (MU(NAT1 +->> NAT1) || union(id0) * (FLOAT +-> BOOL)) <<: ((pred || {}) |> (NAT1 <| id1)) \\/ first(conc([])))', % commented out 25.2.2026
6766 '-evalt', ':z3-double-check id0 : POW(BOOL * INTEGER) & id1 : POW(INTEGER * POW(BOOL * INTEGER)) & id2 : POW(INTEGER * POW(INTEGER * POW(INTEGER))) & not(id1 : seq1(POW(BOOL * INTEGER)) & (real(28) : {} & ((id0 ; pred) /\\ first(id1) : BOOL +-> INTEGER & (id2 : seq1(POW(INTEGER * POW(INTEGER))) & (MAXINT - 63 : dom(first(id2)) & (first(id2) : INTEGER +-> POW(INTEGER) & (first(id2)(MAXINT - 63) /= {} & first(id2)(MAXINT - 63) : FIN(first(id2)(MAXINT - 63)) & card(first(id2)(MAXINT - 63)) <= 1)))))) & ((id0 ; pred) /\\ first(id1))({}(real(28))) >= MU(first(id2)(MAXINT - 63)))',
6767 % '-evalt', ':z3-double-check id2 : BOOL * (INTEGER * (POW(INTEGER * POW(INTEGER * POW(INTEGER * POW(INTEGER)))) * BOOL) * INTEGER) & not([] : seq1(INTEGER) & ({id2,id3|id2 : POW(INTEGER * (POW(INTEGER * POW(INTEGER * POW(REAL))) * POW(INTEGER * (REAL * REAL)))) & id3 : BOOL & MININT <= MININT} : FIN({id2,id3|id2 : POW(INTEGER * (POW(INTEGER * POW(INTEGER * POW(REAL))) * POW(INTEGER * (REAL * REAL)))) & id3 : BOOL & MININT <= MININT}) & prj2(prj2(id2)) >= 0) & first([]) <= SIGMA(id2,id3).(id2 : POW(INTEGER * (POW(INTEGER * POW(INTEGER * POW(REAL))) * POW(INTEGER * (REAL * REAL)))) & id3 : BOOL & MININT <= MININT|-45) ** prj2(prj2(id2)))', % commented out 25.2.2026
6768 % '-evalt', ':z3-double-check id0 : POW(BOOL * REAL) & id1 : POW(BOOL * POW(INTEGER * BOOL)) & id2 : POW(BOOL * POW(REAL * REAL)) & id3 : BOOL & id6 : POW(INTEGER * INTEGER) & id7 : POW(INTEGER * (BOOL * BOOL * (REAL * POW(INTEGER * BOOL)))) & id8 : INTEGER & not(47 <= id8 <=> - MAXINT >= min(NAT) & ((id0~ >-> ({} || id1)) /= {} & (id3 : dom(id2) & (id2 : BOOL +-> POW(REAL * REAL) & (MAXINT : 0 .. size([]) & [] \\|/ MAXINT : seq1(POW(REAL * BOOL))))) & inter(id0~ >-> ({} || id1))[(id2(id3) ; first([] \\|/ MAXINT))] = ran(union({}) - (id6 ; id7))))', % commented out 25.2.2026
6769 % '-evalt', ':z3-double-check id0 : POW(INTEGER * (INTEGER * BOOL)) & id1 : POW(POW(INTEGER * INTEGER) * (POW(INTEGER * INTEGER) * REAL)) & id2 : POW(POW(INTEGER * INTEGER)) & id3 : POW(REAL * POW(INTEGER * (INTEGER * (POW(POW(INTEGER * INTEGER)) * REAL)))) & not(id0 : seq1(INTEGER * BOOL) & {id1|id1 : POW(INTEGER)} : FIN({id1|id1 : POW(INTEGER)}) & prj1(first(id0)) < floor(PI(id1).(id1 : POW(INTEGER)|31.664361750768247)) & (MININT : 0 .. size([]) & ([] /|\\ MININT : dom(id1[id2]) & (id1[id2] : POW(INTEGER * INTEGER) +-> REAL & (id3 /= {} & id3 : FIN(id3) & card(id3) <= 1))) & id1[id2]([] /|\\ MININT) < prj1(MU(id3))))', % commented out 25.2.2026
6770 % '-evalt', ':z3-double-check id0 : POW(INTEGER * (INTEGER * BOOL)) & id1 : POW(POW(INTEGER * INTEGER) * (POW(INTEGER * INTEGER) * REAL)) & id2 : POW(POW(INTEGER * INTEGER)) & id3 : POW(REAL * POW(INTEGER * (INTEGER * (POW(POW(INTEGER * INTEGER)) * REAL)))) & not(id0 : seq1(INTEGER * BOOL) & {id1|id1 : POW(INTEGER)} : FIN({id1|id1 : POW(INTEGER)}) & prj1(first(id0)) < floor(PI(id1).(id1 : POW(INTEGER)|31.664361750768247)) & (MININT : 0 .. size([]) & ([] /|\\ MININT : dom(id1[id2]) & (id1[id2] : POW(INTEGER * INTEGER) +-> REAL & (id3 /= {} & id3 : FIN(id3) & card(id3) <= 1))) & id1[id2]([] /|\\ MININT) < prj1(MU(id3))))', % commented out 25.2.2026
6771 '-evalt', ':z3-double-check id2 : POW(INTEGER * REAL) & id3 : POW(INTEGER * (INTEGER * REAL)) & not({id0,id1|id0 : REAL & id1 : INTEGER & (id2 : seq1(REAL) & 14.442731089354858 < id0)} : FIN({id0,id1|id0 : REAL & id1 : INTEGER & (id2 : seq1(REAL) & 14.442731089354858 < id0)}) & (id3 : seq1(INTEGER * REAL) & prj2(17 |-> []) : seq1(REAL)) & PI(id0,id1).(id0 : REAL & id1 : INTEGER & (id2 : seq1(REAL) & 14.442731089354858 < id0)|last(id2)) + ( ASSERT_EXPR (bool(first(id3) : NAT * REAL),"projection function called outside of domain: ",prj2(first(id3)) )) <= first(prj2(17 |-> [])))',
6772 '-evalt', ':z3-double-check id4 : POW(POW(INTEGER * POW(INTEGER * POW(INTEGER * POW(POW(INTEGER * BOOL)))))) & id5 : POW(POW(INTEGER * POW(INTEGER * POW(INTEGER * POW(POW(INTEGER * BOOL))))) * BOOL) & id6 : POW(BOOL * BOOL) & id7 : POW(POW(INTEGER * BOOL) * POW(REAL)) & id8 : POW(POW(REAL)) & not({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(REAL) & (id4 <<| id5 /<: ({} ; id6) & (id7 /= {} & id7 : FIN(id7) & card(id7) <= 1 & LAMBDA_RESULT___ = prj2(MU(id7))))} /= {} & (ceiling(57.32899186303727) : {} & id8 /= {}) & inter({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(REAL) & (id4 <<| id5 /<: ({} ; id6) & (id7 /= {} & id7 : FIN(id7) & card(id7) <= 1 & LAMBDA_RESULT___ = prj2(MU(id7))))}) <<: {}(ceiling(57.32899186303727)) /\\ inter(id8))',
6773 '-evalt', ':z3-double-check not((MAXINT >= MAXINT => MININT >= 0) & ((MAXINT < MAXINT => {RANGE_LAMBDA__|RANGE_LAMBDA__ : POW(INTEGER * INTEGER) & RANGE_LAMBDA__ = succ} /= {}) & ((union({RANGE_LAMBDA__|RANGE_LAMBDA__ : POW(INTEGER) & RANGE_LAMBDA__ = NATURAL}) >-> {}) /= {} & union({RANGE_LAMBDA__|RANGE_LAMBDA__ : POW(INTEGER) & RANGE_LAMBDA__ = NATURAL}) >-> {} : FIN(union({RANGE_LAMBDA__|RANGE_LAMBDA__ : POW(INTEGER) & RANGE_LAMBDA__ = NATURAL}) >-> {}) & card(union({RANGE_LAMBDA__|RANGE_LAMBDA__ : POW(INTEGER) & RANGE_LAMBDA__ = NATURAL}) >-> {}) <= 1)) & union({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(INTEGER) & (STRING : FIN(STRING) & LAMBDA_RESULT___ = MININT .. MININT)}) <| (IF MAXINT >= MAXINT THEN iterate(pred,MININT) ELSE inter({RANGE_LAMBDA__|RANGE_LAMBDA__ : POW(INTEGER * INTEGER) & RANGE_LAMBDA__ = succ}) END) <<: MU(union({RANGE_LAMBDA__|RANGE_LAMBDA__ : POW(INTEGER) & RANGE_LAMBDA__ = NATURAL}) >-> {}))',
6774 '-evalt', ':z3-double-check id0 : POW(INTEGER * (BOOL * REAL)) & id1 : INTEGER & id2 : POW(INTEGER * POW(INTEGER * BOOL)) * REAL * REAL & id3 : POW(INTEGER * REAL) & id4 : POW(INTEGER * REAL) * POW(REAL) * REAL & not(id1 : dom(id0) & (id0 : INTEGER +-> BOOL * REAL & (id3 : seq1(REAL) & ((prj2(id2) < 0.0 => last(id3) = real(floor(last(id3)))) & ((prj2(id2) = 0.0 => 0.0 <= last(id3)) & /* falsity */ {} /= {})))) & prj2(id0(id1)) - RPOW(prj2(id2),last(id3)) : MU({}) /\\ prj2(prj1(id4)))',
6775 % '-evalt', ':z3-double-check id0 : POW(INTEGER * POW(INTEGER * POW(POW(INTEGER * REAL) * POW(INTEGER * REAL)))) & id1 : POW(INTEGER * POW(POW(INTEGER * REAL) * POW(INTEGER * REAL))) & id2 : INTEGER & not(conc([]) : seq1(POW(POW(INTEGER * REAL))) & (id1 : seq(POW(POW(INTEGER * REAL) * POW(INTEGER * REAL))) & (id2 : 0 .. size(id1) & id1 /|\\ id2 : seq1(POW(POW(INTEGER * REAL) * POW(INTEGER * REAL))))) & id((INTEGER<->REAL)) <: first(conc([])) <| first(id1 /|\\ id2) & (id0 : seq1(POW(INTEGER * POW(POW(INTEGER * REAL) * POW(INTEGER * REAL)))) & last(id0) : seq1(POW(POW(INTEGER * REAL) * POW(INTEGER * REAL))) & closure1(first(last(id0))) <: first(conc([])) <| first(id1 /|\\ id2)))', % commented out 25.2.2026
6776 % '-evalt', ':z3-double-check id1 : POW(BOOL) & id2 : INTEGER & id6 : POW(INTEGER * INTEGER) & id7 : POW(BOOL * (INTEGER * REAL)) & not(18 : 0 .. size([]) & ([] \\|/ 18 : seq1(INTEGER) & ({id3,id4,id5|id3 : INTEGER & id4 : POW(INTEGER * (INTEGER * (POW(INTEGER * POW(REAL)) * INTEGER))) & id5 : BOOL & (id6 : seq1(INTEGER) & id2 >= MAXINT)} : FIN({id3,id4,id5|id3 : INTEGER & id4 : POW(INTEGER * (INTEGER * (POW(INTEGER * POW(REAL)) * INTEGER))) & id5 : BOOL & (id6 : seq1(INTEGER) & id2 >= MAXINT)}) & (FALSE : dom(id7) & id7 : BOOL +-> INTEGER * REAL))) & ({id0|id0 : INTEGER & {} /<: id1 - BOOL} = dom((id2 .. MININT) * ({} <<-> NAT))\\/{first([] \\|/ 18),- card(BOOL),PI(id3,id4,id5).(id3 : INTEGER & id4 : POW(INTEGER * (INTEGER * (POW(INTEGER * POW(REAL)) * INTEGER))) & id5 : BOOL & (id6 : seq1(INTEGER) & id2 >= MAXINT)|first(id6)),prj1(id7(FALSE))}\\/{id8|id8 : INTEGER & FIN1(NATURAL1) /: {}} & dom((id2 .. MININT) * ({} <<-> NAT))/\\{first([] \\|/ 18),- card(BOOL),PI(id3,id4,id5).(id3 : INTEGER & id4 : POW(INTEGER * (INTEGER * (POW(INTEGER * POW(REAL)) * INTEGER))) & id5 : BOOL & (id6 : seq1(INTEGER) & id2 >= MAXINT)|first(id6)),prj1(id7(FALSE))} = {} & dom((id2 .. MININT) * ({} <<-> NAT))/\\{id8|id8 : INTEGER & FIN1(NATURAL1) /: {}} = {} & {first([] \\|/ 18),- card(BOOL),PI(id3,id4,id5).(id3 : INTEGER & id4 : POW(INTEGER * (INTEGER * (POW(INTEGER * POW(REAL)) * INTEGER))) & id5 : BOOL & (id6 : seq1(INTEGER) & id2 >= MAXINT)|first(id6)),prj1(id7(FALSE))}/\\{id8|id8 : INTEGER & FIN1(NATURAL1) /: {}} = {}))', % commented out 25.2.2026
6777 '-evalt', ':z3 id0 : POW(INTEGER * (POW(REAL * POW(INTEGER * POW(POW(INTEGER * REAL))) * POW(INTEGER * POW(REAL))) * POW(INTEGER * POW(INTEGER * (POW(BOOL * POW(INTEGER)) * POW(INTEGER * BOOL)))))) & id1 : POW(INTEGER * (POW(REAL * POW(INTEGER * POW(POW(INTEGER * REAL))) * POW(INTEGER * POW(REAL))) * REAL)) & id2 : BOOL * (POW(REAL * POW(INTEGER * POW(POW(INTEGER * REAL))) * POW(INTEGER * POW(REAL))) * REAL) & not(id0 : seq1(POW(REAL * POW(INTEGER * POW(POW(INTEGER * REAL))) * POW(INTEGER * POW(REAL))) * POW(INTEGER * POW(INTEGER * (POW(BOOL * POW(INTEGER)) * POW(INTEGER * BOOL))))) & (MAXINT : 0 .. size([]) & ([] /|\\ MAXINT : seq1(POW(REAL * POW(INTEGER * POW(POW(INTEGER * REAL))) * POW(INTEGER * POW(REAL)))) & (73 : NAT1 => id1 : seq1(POW(REAL * POW(INTEGER * POW(POW(INTEGER * REAL))) * POW(INTEGER * POW(REAL))) * REAL)))) & prj1(first(id0)) <+ first([] /|\\ MAXINT) /<<: prj1(IF 73 : NAT1 THEN last(id1) ELSE prj2(id2) END))',
6778 '-evalt', ':z3-double-check not(id0 /= 0 & 85 > 3 / id0)',
6779 '-evalt', '{RANGE_LAMBDA__|RANGE_LAMBDA__ : POW(POW(INTEGER * POW(INTEGER * POW(BOOL))) * POW(INTEGER * BOOL) * (POW(INTEGER * POW(INTEGER * POW(BOOL))) * POW(INTEGER * BOOL)) * BOOL * BOOL) & RANGE_LAMBDA__ = union({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(POW(INTEGER * POW(INTEGER * POW(BOOL))) * POW(INTEGER * BOOL) * (POW(INTEGER * POW(INTEGER * POW(BOOL))) * POW(INTEGER * BOOL)) * BOOL * BOOL) & (POW(NATURAL) /<<: {} & (MAXINT : 0 .. size([]) & [] \\|/ MAXINT : seq1(POW(POW(INTEGER * POW(INTEGER * POW(BOOL))) * POW(INTEGER * BOOL) * (POW(INTEGER * POW(INTEGER * POW(BOOL))) * POW(INTEGER * BOOL)) * BOOL * BOOL)) & LAMBDA_RESULT___ = first([] \\|/ MAXINT)))})} /= {} & (/*@symbolic*/ %(`_prj_arg1__`,`_prj_arg2__`).(`_prj_arg1__` : POW(INTEGER * POW(INTEGER * POW(BOOL))) * POW(INTEGER * BOOL) * (POW(INTEGER * POW(INTEGER * POW(BOOL))) * POW(INTEGER * BOOL)) & `_prj_arg2__` : BOOL & (`_prj_arg1__` : closure1({`__comp_result__`|`__comp_result__` : POW(INTEGER * POW(INTEGER * POW(BOOL))) * POW(INTEGER * BOOL) * (POW(INTEGER * POW(INTEGER * POW(BOOL))) * POW(INTEGER * BOOL)) & bfalse}) & (rev([]) : seq1(POW(BOOL)) & `_prj_arg2__` : first(rev([]))))|`_prj_arg2__`) ; id(union(FIN1({})))) /<<: inter({RANGE_LAMBDA__|RANGE_LAMBDA__ : POW(POW(INTEGER * POW(INTEGER * POW(BOOL))) * POW(INTEGER * BOOL) * (POW(INTEGER * POW(INTEGER * POW(BOOL))) * POW(INTEGER * BOOL)) * BOOL * BOOL) & RANGE_LAMBDA__ = union({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(POW(INTEGER * POW(INTEGER * POW(BOOL))) * POW(INTEGER * BOOL) * (POW(INTEGER * POW(INTEGER * POW(BOOL))) * POW(INTEGER * BOOL)) * BOOL * BOOL) & (POW(NATURAL) /<<: {} & (MAXINT : 0 .. size([]) & [] \\|/ MAXINT : seq1(POW(POW(INTEGER * POW(INTEGER * POW(BOOL))) * POW(INTEGER * BOOL) * (POW(INTEGER * POW(INTEGER * POW(BOOL))) * POW(INTEGER * BOOL)) * BOOL * BOOL)) & LAMBDA_RESULT___ = first([] \\|/ MAXINT)))})})',
6780
6781 % clash checks Code = {c1,c2,c3,c4}, db,active,activec={}
6782 '-evalf', ':z3-double-check dom(db) /= active',
6783 '-evalt', ':z3-double-check #active.(dom(db) /= active)',
6784 '-evalt', ':z3-double-check #db.(db /= active)',
6785 '-evalf', ':z3-double-check #(c1,c2).(c1:Name & c2:Code & db={c1|->c2})',
6786 '-evalt', ':z3-double-check #(c1,c2,db).(c1:Name & c2:Code & db={c2|->c1})',
6787 '-evalt', ':z3-double-check #(c1,c2).(c1:Name & c2:Code & (c1:active <=> c2:activec))',
6788 '-evalt', ':z3 !(c1,c2).(c1:db & c2:db => c1=c2)', % db is empty, was unsupported LEQ_SYM
6789 % precomputation
6790 '-evalt', ':z3-double-check x : POW({1,2,y}) & z:x & z>2',
6791 '-evalt', ':z3-double-check {1|->2,e}~ = r',
6792 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
6793 ], 'some simple constraints that should be solved by cvc4 / z3').
6794 cli_testcase(2061, [cbc,atelierb,chr,disprover,private], [
6795 '../prob_examples/examples/B/Alstom/DisproverProject/ProvableByPP/prob2023.mch',
6796 '-p', 'CHR', 'TRUE', '-p', 'SMT', 'TRUE', '-p', 'DISPROVER_MODE', 'TRUE',
6797 '-cbc_assertions_tautology_proof',
6798 '-cbc_result_file', '../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt'],
6799 'Test Atelier-B Disprover interface and non-critical enum warning ignored').
6800 cli_testcase(2062, [kodkod,tickets], [
6801 '-evalt', ':kodkod-double-check b = {x | x>2 & x<3}',
6802 '-evalf', ':kodkod-double-check x>2 & x<3',
6803 '-evalt', ':kodkod-double-check (f3={a,c,e|a:NATURAL & c:NATURAL1 & e:{x|x=1 & x=2} & a=1 & c=2})',
6804 '-evalt', ':kodkod-double-check (f1={a,e|a:INTEGER & e:{TRUE} & a=1}) & (f2={a,c,e|a:INTEGER & e:{TRUE} & a=1 & c:NATURAL1 & e:{FALSE}}) & (f3={a,c,e|a:NATURAL & c:NATURAL1 & e:{x|x=1 & x=2} & a=1}) & (f4={a,c,e|a:NATURAL & c:NATURAL1 & e:INTEGER & a=-1}) & (f5={a,b|a>2 & a<1 & b=a}) & (f6=%x.(x>10 & x<20|100)) & (f7={a,b|a:NATURAL1 & b=a & a<=20}) & (i1={a,c,e|a:INTEGER & e:{TRUE} & a=1 & c:NATURAL1}) & (i2={a,c,e|a:INTEGER & e:{TRUE} & a=1 & c>4000}) & (i3={a,b,c|a:NATURAL1 & b<0 & c>10}) & (i4={a,b|a>=200 & b=a*a}) & (i5=%x.(x>10|100+x)) & (i6={x,y,z|z=x+y & x>100 & y:{200,201}}) & i4/:FIN(i4)' % not all predicates are translated
6805 ], 'check no inconsistency detected at top-level (Ticket KODKOD-4)').
6806 cli_testcase(2063, [smt_solver_integration,tickets], [
6807 '../prob_examples/public_examples/B/SymmetryReduction/StaticSymmetryReduction/DefSet5.mch',
6808 '-p', 'TIME_OUT', '30000',
6809 '-evalt', ':z3-double-check (ID=P1\\/P2) & (P1/\\P2={}) & (aa/=bb) & ({aa,bb,xx}<:ID) & (card(ID)=5) & (aa:P1) & (bb:P2) & (xx:P2) & (xx/=bb) & (card(P1)=1) & not((aa:P1) & (bb:P2) & (xx:P2) & (xx=bb) & (card(P1)=1))'
6810 % seems to run into time-out sometimes
6811 ], 'check model translation works and as const bug fixed (Ticket SSIMT-8)').
6812 cli_testcase(2064, [cbc,tickets,sigma], [
6813 '-evalf', 'PI(x).(x:{0,y}|x)=2', % was reporting solution y=2
6814 '-evalt', 'PI(x).(x:{1,y}|x)=2',
6815 '-evalf', 'SIGMA(x).(x:{1,y}|x)=2',
6816 '-evalt', 'SIGMA(x).(x:{1,y}|x)=3',
6817 '-evalt', 'SIGMA(x).(x:{0,y}|x)=22',
6818 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
6819 ], 'check issue with PI and 0 accumulator fixed').
6820 cli_testcase(2065, [external,reals,sigma], [
6821 '-evalt', 'PI(x).(x:{1.0,y}|x)=2.0',
6822 '-evalt', 'SIGMA(x).(x:{1.0,2.0}|x) = 3.0',
6823 '-evalf', 'SIGMA(x).(x:{1.0,2.0}|x) = 2.0',
6824 '-evalt', 'PI(x).(x:{1.0,2.0}|x) = 2.0',
6825 '-evalt', 'SIGMA(x).(x:{1.0,2.0}|x+x) = 6.0',
6826 '-evalt', 'PI(x).(x:{1.0,2.0}|x+x) = 8.0',
6827 '-evalt', 'SIGMA(x).(x:1..100|real(x)) = 5050.0',
6828 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
6829 ], 'check SIGMA and PI work with reals').
6830 cli_testcase(2066, [cbc,infinite], [
6831 '-evalt', 'f = /*@symbolic */ %x.(x:NATURAL|x mod 2) & res = f \\ f & r2 = f /\\ f',
6832 '-evalt', 'f = /*@symbolic */ %x.(x:NATURAL|x mod 2) & res = f \\ f & res={}',
6833 '-evalt', 'f = /*@symbolic */ %x.(x:NATURAL|x mod 2) & r2 = f /\\ f & r2 = f',
6834 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
6835 ], 'check symbolic treatment of intersection and set subtraction / difference').
6836 cli_testcase(2067,[b_test,operation_calls_in_expr],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
6837 '../prob_examples/public_examples/B/NewSyntax/CallOperationInExprMultipleReturns.mch',
6838 '-p', 'ALLOW_OPERATION_CALLS_IN_EXPRESSIONS', 'TRUE',
6839 '-assertions',
6840 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
6841 ], 'Test calling operations in expressions with multiple return args').
6842 cli_testcase(2068, [sequences,infinite,exists], [
6843 '-evalt', 'SB = {x|#n.(x:1..n >-> BOOL)} & [TRUE,FALSE] : SB & [] : SB',
6844 '-evalt', 'SB = {x|#n.(x:1..n --> BOOL)} & [TRUE,FALSE] : SB & [TRUE,TRUE] : SB & [] : SB',
6845 '-evalt', 'SB = {x|#n.(n:NATURAL1 & x:1..n --> BOOL)} & [TRUE,FALSE] : SB & [TRUE,TRUE] : SB & [] /: SB',
6846 '-evalt', 'SB = {x|#n.(n>0 & x:1..n --> BOOL)} & [TRUE,FALSE] : SB & [TRUE,TRUE] : SB & [] /: SB',
6847 '-evalt', 'SB = {x|#n.(n>=1 & x:1..n --> BOOL)} & [TRUE,FALSE] : SB & [TRUE,TRUE] : SB & [] /: SB',
6848 '-evalt', 'SB = {x|#n.(0<n & x:1..n --> BOOL)} & [TRUE,FALSE] : SB & [TRUE,TRUE] : SB & [] /: SB',
6849 '-evalt', 'SB = {x|#n.(n:NATURAL & x:1..n --> BOOL)} & [TRUE,FALSE] : SB & [TRUE,TRUE] : SB & [] : SB',
6850 '-evalt', 'SB = {x|#n.(n:NATURAL1 & x:1..n >-> NATURAL)} & [11,22] : SB & [22,22] /: SB & [] /: SB',
6851 '-evalt', 'SB = {x|#n.(x:1..n >->> BOOL)} & [TRUE,FALSE] : SB & [TRUE,TRUE] /: SB & perm(BOOL) = SB',
6852 '-evalt', 'SB = {x|#n.(n:NATURAL1 & x:1..n >->> BOOL)} & [TRUE,FALSE] : SB & [TRUE,TRUE] /: SB & perm(BOOL) = SB',
6853 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
6854 ], 'check detection of sequence operator written using exists').
6855 cli_testcase(2069, [cbc,infinite], [
6856 '-evalt', 'bs = (NATURAL*{TRUE}) & bs2 = bs <+ {0|->FALSE} & bf = 0..3 <| bs2',
6857 '-evalt', 'bs = (NATURAL*{TRUE}) & bs2 = bs <+ {2|->FALSE} & bf = 1..3 <| bs2 & bf = [TRUE,FALSE,TRUE]',
6858 '-evalt', 'bs = (NATURAL*{TRUE}) & bs2 = bs <+ {0|->FALSE} & bs3 = bs <+ {3|->FALSE} & bf = 0..4 <| bs2',
6859 '-evalt', 'bs = (NATURAL*{TRUE}) & bs2 = bs <+ {0|->FALSE} & bf = {x|x>3} <<| bs2',
6860 '-evalt', 'bs = (NATURAL*{TRUE}) & bs2 = bs <+ {0|->FALSE} & bf = {x|x>3} <<| bs2 & bf = {(0|->FALSE),(1|->TRUE),(2|->TRUE),(3|->TRUE)}',
6861 '-evalt', 'bs = (NATURAL*{TRUE}) & bf = bs |>> {TRUE}',
6862 '-evalt', 'bs = (NATURAL*{TRUE}) & bf = bs |>> {TRUE} & bf={}',
6863 '-evalt', 'f = /*@symbolic */ {x,y,z|x+y=z & x>y & x:NATURAL & y:NATURAL} & r=(0..2)*(0..1) <| f',
6864 '-evalt', 'f = /*@symbolic */ {x,y,z|x+y=z & x>y & x:NATURAL & y:NATURAL} & r=(0..2)*(0..1) <| f & r = {(1|->0|->1),(2|->0|->2),(2|->1|->3)}',
6865 '-evalt', 'f = /*@symbolic */ {x,y,z,r|x+y+z=r & x:NATURAL & y:NATURAL & z:NATURAL} & r= f |> {3}',
6866 '-evalt', 'f = /*@symbolic */ {x,y,z,r|x+y+z=r & x:NATURAL & y:NATURAL & z:NATURAL} & r= f |> {0,1} & r = {(0|->0|->0|->0),(0|->0|->1|->1),(0|->1|->0|->1),(1|->0|->0|->1)}',
6867 '-evalt', ' f = /*@symbolic */ {x,y,z,r|x+y+z=r & x:NATURAL & y:NATURAL & z:NATURAL} & BB={0,1} & ff = (BB*BB*BB) <| f ',
6868 '-evalt', ' f = /*@symbolic */ {x,y,z,r|x+y+z=r & x:NATURAL & y:NATURAL & z:NATURAL} & BB={0,1} & ff = (BB*BB*BB) <| f & ff = {(0|->0|->0|->0),(0|->0|->1|->1),(0|->1|->0|->1),(0|->1|->1|->2),(1|->0|->0|->1),(1|->0|->1|->2),(1|->1|->0|->2),(1|->1|->1|->3)}',
6869 '-evalt', 'f = /*@symbolic */ {x,y,z,r|x+y+z=r & x:NATURAL & y:NATURAL & z:NATURAL} & BB={1} & ff = (BB*BB*BB) <| f & ff = {1|->1|->1|->3}',
6870 '-evalt', 'f = /*@symbolic */ {x,y,z,r|x+y+z:{r,r+1} & x:NATURAL & y:NATURAL & z:NATURAL} & BB={1} & ff = (BB*BB*BB) <| f & ff = {(1|->1|->1|->2),(1|->1|->1|->3)}',
6871 % TO DO: bs = (NATURAL*{TRUE}) & bs2 = bs <+ {0|->FALSE} & bf = bs2 |> {FALSE}
6872 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
6873 ], 'check symbolic treatment for domain restriction for closures').
6874 cli_testcase(2070, [cbc,clpfd_tables], [
6875 '-evalt', '3 : {r,r+1}',
6876 '-evalt', 'card({r|3 : {r,r+1}}) /= 3',
6877 '-evalt', '{r|3 : {r,r+1}} = {2,3}',
6878 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
6879 ], 'check that element/3 constraint also enumerates before enumeration warnings are generated').
6880 cli_testcase(2071, [cbc,cbc_tests], [
6881 '../prob_examples/examples/B/Altran/SafetyLogic_Anime_m3_mch.eventb',
6882 '-cbc_tests', 5, 'trainKind(tr1):{Ertms}', '../prob_examples/examples/B/Altran/test_2071_cbc.xml',
6883 '-cbc_cover', 'trainEntring', '-force_no_silent'
6884 ], 'check that test-case generation works for Altran example').
6885 cli_testcase(2072, [cbc,cbc_tests], [
6886 '../prob_examples/examples/B/Altran/SafetyLogic_Anime_m3_mch.eventb',
6887 '-cbc_tests', 3, '{Ertms}=ran(trainKind)', '../prob_examples/examples/B/Altran/test_2072_cbc.xml',
6888 '-cbc_cover', 'trainEntring',
6889 '-expcterr', 'cbc_tests', '-force_no_silent'
6890 ], 'check that no instantation or other error; coverage cannot be achieved here').
6891 cli_testcase(2073, [cbc,infinite], [
6892 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', % added after we changed expand_and_convert_to_avl_set_catch
6893 %'-evalt', 'f = %x.(x:NATURAL|x+1) & g = f <+ {0|->0} & g : INTEGER +-> INTEGER', % NOW UNKNOWN
6894 %'-evalt', 'g = /*@symbolic*/ {x,rr|x |-> rr : {(0|->0)} or (x /: {0} & (x : NATURAL & rr = x + 1))} & g:NATURAL +-> NATURAL', % NOW UNKNOWN
6895 '-evalf', 'g = /*@symbolic*/ {x,rr|x |-> rr : {(0|->0)} or (x /: {0} & (x : NATURAL & rr = x + 1))} & g:NATURAL1 +-> NATURAL',
6896 '-evalf', 'g = /*@symbolic*/ {x,rr|x |-> rr : {(0|->0)} or (x /: {0} & (x : NATURAL & rr = x + 1))} & g:NATURAL +-> NATURAL1',
6897 '-evalf', 'g = /*@symbolic*/ {x,rr|x |-> rr : {(1|->1)} or (x /: {0} & (x : NATURAL & rr = x + 1))} & g:NATURAL +-> NATURAL1',
6898 %'-evalt', 'g = /*@symbolic*/ {x,rr|x |-> rr : {(1|->1)} or (x /: {1} & (x : NATURAL & rr = x + 1))} & g:NATURAL +-> NATURAL1', % NOW UNKNOWN, requires CHR
6899 '-evalf', 'f = /*@symbolic */ {x,y|x:NATURAL & (x>=100 => y=100) & (x<100 => y=x)} & f:NATURAL +-> NATURAL1',
6900 %'-evalt', 'f = /*@symbolic */ {x,y|x:NATURAL & (x>=100 => y=100) & (x<100 => y=x+1)} & f:NATURAL +-> NATURAL1', % NOW UNKNOWN
6901 %'-evalt', 'f = /*@symbolic */ {x,y|x:NATURAL & (x>=100 => y=100) & (x<100 => y=x)} & f:NATURAL +-> NATURAL',
6902 '-evalt', 'f = /*@symbolic */ {x,y|x:NATURAL & y = IF (x>=100) THEN 100 ELSE x END} & f:NATURAL +-> NATURAL',
6903 '-evalf', 'NATURAL*{1,3} = f & f: NATURAL +-> NATURAL',
6904 '-evalt', 'NATURAL*{1} = f & f: NATURAL +-> NATURAL1',
6905 '-evalt', 'f = %x.(x:1..10|10) \\/ %x.(x>10|11) & f: NATURAL1 +-> 10..11',
6906 % does not work: f = /*@symbolic */ {x,y|x:NATURAL & (x>=100 => y=100) & (x<100 => y=x+1)} & f:NATURAL +-> 1..100
6907 % because this does not work: {x,y|y /: (1 .. 10) & (x : NATURAL & (x >= 10 => y = 10) & (x < 10 => y = x + 1))} = {}
6908 % this does work: {x,y|y /: (1 .. 10) & (x : NATURAL & y=IF x >= 10 THEN 10 ELSE x + 1 END)} = {}
6909 '-evalf', 'x : NATURAL & (z1 = IF x>=100 THEN 100 ELSE x END ) & (x : NATURAL & (x >= 100 => z2 = 100) & (x < 100 => z2 = x)) & z1 /= z2' % part of functionality violations symbolic test
6910 %'-evalf', 'x : NATURAL & (x >= 100 => z_ = 100) & (x < 100 => z_ = x) & (x : NATURAL & (x >= 100 => z__ = 100) & (x < 100 => z__ = x)) & z_ /= z__' % does not work yet; either enumeration => LHSPredRes or detect IF-THEN-ELSE
6911 ], 'check symbolic treatment for partial function check').
6912 cli_testcase(2074, [cbc,infinite,exists], [
6913 '-evalt', 'g = /*@symbolic*/ {x,rr|x |-> rr : {(1|->1)} or (x /: {1} & (x : NATURAL & rr = x + 1))} & dom(g)=dd & dd=NATURAL',
6914 '-evalf', 'g = /*@symbolic*/ {x,rr|x |-> rr : {(1|->1)} or (x /: {1} & (x : NATURAL & rr = x + 1))} & dom(g)=dd & dd=NATURAL1',
6915 '-evalt', 'f = /*@symbolic*/ %x.(x:NATURAL|x+1) & g = f <+ {1|->1} & dom(g)=dd & dd=NATURAL',
6916 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
6917 ], 'check symbolic treatment for domain with optimized exists construction').
6918 cli_testcase(2075, [cbc,infinite], [
6919 '-evalf', 'f = %x.(x:NATURAL|x+1) <+ {0|->0} & f:NATURAL --> NATURAL1',
6920 '-evalt', 'f = %x.(x:1..10|0) \\/ %x.(x>10|x) & f: NATURAL1 --> NATURAL',
6921 '-evalf', 'f = %x.(x:1..10|0) \\/ %x.(x>=10|x) & f: NATURAL1 --> NATURAL',
6922 '-evalt', 'f = %x.(x:1..10|10) \\/ %x.(x>=10|x) & f: NATURAL1 --> NATURAL',
6923 '-evalt', 'f = %x.(x:1..10|10) \\/ %x.(x>=10|x) & f: NATURAL1 --> NATURAL1',
6924 '-evalt', 'f = %x.(x:1..10|10) \\/ %x.(x>=10|x) & f: NATURAL1 --> GT9 & GT9 = {x|x>9}',
6925 '-evalt', 'f = %x.(x:1..10|10) \\/ %x.(x>10|11) & f: NATURAL1 --> 10..11',
6926 '-evalt', 'f = %x.(x:NATURAL|x) <+ {0|->1} & f:NATURAL --> NATURAL1',
6927 '-evalt', 'f = %x.(x:1..10|{10}) \\/ %x.(x>10|{x,10}) & f: NATURAL1 --> POW(NATURAL1)',
6928 '-evalt', 'f= /*@symbolic*/ {domid,ranid|domid |-> ranid : {(1|->TRUE)} or (domid /: {1} & (ranid = FALSE & domid : NATURAL))} & f:NATURAL --> BOOL', % example from Kraibi/Modele00_r1_prob_mch
6929 %'-evalt', 'f = %x.(x:NATURAL|x+1) <+ {0|->0} & f:NATURAL --> NATURAL'
6930 % f = %x.(x<=10|11) \/ %x.(x>=10|x+1) & f: INTEGER --> NATURAL
6931 % f = %x.(x:1..10|0) \/ %x.(x>10|x+1) & f: NATURAL1 --> NATURAL
6932 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
6933 ], 'check symbolic treatment of total function').
6934 cli_testcase(2076, [alloy], [
6935 '../prob_examples/public_examples/Alloy/SimpleTests/overflow/milicevic.als',
6936 '-strict', '-mc', 10, '-nodead', '-cc', 2, 1
6937 ], 'Check util/boolean supported and no overflow detected').
6938 cli_testcase(2077, [b_test,json_trace_replay,visb], [
6939 '../prob_examples/public_examples/B/VisB/Train/SimpleTrainTrack.mch',
6940 '-trace_replay', 'json', '../prob_examples/public_examples/B/VisB/Train/SimpleTrainTrack.prob2trace',
6941 '-visb', '../prob_examples/public_examples/B/VisB/Train/Track.json',
6942 '../prob_examples/public_examples/B/VisB/Train/Track_Trace.html'], 'Check JSON replay and VisB HTML generation').
6943 cli_testcase(2078, [infinite], [
6944 '-evalt', 'f = %x.(x:INTEGER|x+1) & r = %y.(y:1..n|n+1) & res = ((r;f);f) & n=10000',
6945 '-evalt', 'f = %i.(i:1..3000|x+i) & a = %x.(x:INTEGER|x+1) & res = (f;a) & x:0..20 & res(1)=11'
6946 ], 'Check symbolic relational composition').
6947 cli_testcase(2079, [ltsmin_test], ['../prob_examples/public_examples/B/Ivo/SleepSetsStudyCase.mch', '-mc-with-lts-seq', '-noinv', '-expcterr', 'ltsmin_counter_example_found', %'deadlock', '-cc',7,7,
6948 '-strict'], 'A variation of deadlock test 1138 for LTSmin.').
6949 cli_testcase(2080, [ltsmin_test], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb',
6950 '-mc-with-lts-seq', '-noinv', '-expcterr', 'ltsmin_counter_example_found', %'deadlock',
6951 '-strict'], 'A variation of deadlock test 203 for LTSmin.').
6952 cli_testcase(2081, [ltsmin_test], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M3_mch.eventb',
6953 '-mc-with-lts-seq', '-noinv', '-expcterr', 'ltsmin_counter_example_found', %'deadlock',
6954 '-strict'], 'A variation of deadlock test 203 for LTSmin.').
6955 cli_testcase(2082, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb',
6956 '-model-check', '-noinv', '-expcterr', 'deadlock',
6957 '-p', 'COMPRESSION', 'TRUE',
6958 '-strict'], 'A variation of deadlock test 203 with COMPRESSION.').
6959 cli_testcase(2083, [ltsmin_test], ['../prob_examples/public_examples/B/Benchmarks/CAN_BUS_tlc.mch',
6960 '-mc-with-lts-seq', '-nodead', '-strict'],
6961 'Test 1043 with LTSMin.').
6962 cli_testcase(2084, [ltsmin_test], [
6963 '../prob_examples/public_examples/B/Benchmarks/CSM.mch', % '-check_complete','-cc', '341', '1229'
6964 '../prob_examples/public_examples/B/Benchmarks/scheduler.mch', % '-check_complete', '-cc', '36', '121'
6965 '-mc-with-lts-seq', '-nodead', '-strict'],
6966 'Test 13, 14 with LTSMin.').
6967 cli_testcase(2085, [bench,operation_reuse,operation_reuse_full], ['../prob_examples/public_examples/B/Benchmarks/CSM.mch', '-mc', '1000', '-strict',
6968 '-p', 'COMPRESSION', 'TRUE', '-p', 'OPERATION_REUSE', full,
6969 '-check_complete', '-cc', '341', '1229'], 'Test 13 (CSM) with compression and reuse').
6970 cli_testcase(2086, [infinite], [
6971 '-evalf', 'f = %t.(t : NATURAL|t + 100) & f /: NATURAL +-> NATURAL',
6972 '-evalt', 'f = %t.(t : NATURAL|t + 100) & f : NATURAL +-> NATURAL',
6973 '-evalt', 'f = %t.(t : NATURAL|t + 100) & f /: NATURAL1 +-> NATURAL',
6974 '-evalt', 'f = %t.(t : NATURAL|t - 1) & f /: NATURAL +-> NATURAL',
6975 '-evalt', 'f = /*@symbolic */ %p.(p:BOOL|(%t.(t:NATURAL|t+100))) & f: BOOL --> (NATURAL +-> NATURAL)'
6976 ], 'Check symbolic treatment of not partial function test').
6977 cli_testcase(2087, [infinite], [
6978 '-evalf', 'f = %t.(t : NATURAL|t + 100) & f /: NATURAL --> NATURAL',
6979 '-evalt', 'f = %t.(t : NATURAL|t + 100) & f : NATURAL --> NATURAL1',
6980 '-evalt', 'f = %t.(t : NATURAL|t + 100) & f /: NATURAL1 --> NATURAL',
6981 '-evalt', 'f = %t.(t : NATURAL1|t + 100) & f /: NATURAL --> NATURAL',
6982 '-evalt', 'f = %t.(t : NATURAL|t - 1) & f /: NATURAL --> NATURAL',
6983 '-evalt', 'f = /*@symbolic */ %p.(p:BOOL|(%t.(t:NATURAL|t+100))) & f: BOOL --> (NATURAL --> NATURAL)'
6984 ], 'Check symbolic treatment of not total function test').
6985 cli_testcase(2088, [infinite], [
6986 '-evalf', 'n:NATURAL & n..(n+1) /<: NATURAL',
6987 '-evalt', 'n:NATURAL & n..(n+1) /<: NATURAL1',
6988 '-evalf', 'n:NATURAL & n..(n+1) /<: {x|x>=0}',
6989 '-evalf', 'n>100 & n..(n+1) /<: {x|x>=100}',
6990 '-evalt', 'n:NATURAL & n..(n+1) /<: {x|x<10}',
6991 '-evalt', 'n:NATURAL & n..(n) /<: {x|x<10}',
6992 '-evalf', 'n<10 & n..(n) /<: {x|x<10}',
6993 '-evalt', 'n<10 & n..(n+1) /<: {x|x<10}',
6994 '-evalf', 'n<9 & n..(n+1) /<: {x|x<10}',
6995 '-evalf', 'n..(n+1) /<: {x|x:INTEGER}',
6996 '-evalt', 'f = /*@symbolic */ %p.(p:BOOL|(%t.(t:NATURAL|t..(t+100)))) & f: BOOL --> (NATURAL --> POW(NATURAL))'
6997 ], 'Check symbolic treatment of not subset for intervals').
6998 cli_testcase(2089, [infinite], [
6999 '-evalf', 'f = %t.(t : NATURAL|t - 1) & f : NATURAL -->> NATURAL1',
7000 '-evalt', 'f = %t.(t : NATURAL|t - 1) & f /: NATURAL -->> NATURAL1',
7001 '-evalf', 'f = %t.(t : NATURAL|t - 1) & f : NATURAL +->> NATURAL1',
7002 '-evalf', 'f = %t.(t : NATURAL|t + 2) & f : NATURAL -->> NATURAL1',
7003 '-evalt', 'f = %t.(t : NATURAL|t - 1) & f /: NATURAL +->> NATURAL1',
7004 '-evalt', 'f = %t.(t : NATURAL|t - 1) & f /: NATURAL -->> NATURAL1',
7005 % still unknown: f = %t.(t : NATURAL|t + 1) & f /: NATURAL +->> NATURAL1 because z_ : NATURAL1 & not(#t.(t : NATURAL & z_ = t + 1)) is unknown
7006 '-evalf', '/*@symbolic */ {x|#y.(y:NATURAL & x=y-2)} <: NATURAL',
7007 '-evalt', '/*@symbolic */ {x|#y.(y:NATURAL & x=y+2)} <: NATURAL',
7008 '-evalf', 'NATURAL <: /*@symbolic */ {x|#y.(y:NATURAL & x=y-2)} ',
7009 '-evalf', 'NATURAL <: /*@symbolic */ {x|#y.(y:NATURAL & x=y+2)} ',
7010 '-evalt', 'NATURAL1 /<: /*@symbolic */ {x|#y.(y:NATURAL & x=y+2)}',
7011 '-evalf', '/*@symbolic */ {x|#y.(y:NATURAL & x=y+2)} /<: NATURAL',
7012 '-evalt', '/*@symbolic */ {x|#y.(y:NATURAL & x=y-2)} /<: NATURAL',
7013 '-evalt', 'z:NATURAL1 & not(#y.(y:NATURAL & z=y+2))',
7014 '-evalf', 'f = /*@symbolic */ %p.(p:BOOL|(%t.(t:NATURAL|t+100))) & f: BOOL --> (NATURAL -->> NATURAL)'
7015 ], 'Check symbolic treatment of total surjection and not subset').
7016 cli_testcase(2090, [tla,json_trace_replay], ['../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/Einstein_v2.tla',
7017 '-trace_replay', 'json', '../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/Einstein_v2.prob2trace',
7018 % '-t',
7019 '-mc', 5, '-nodead'], 'check TLA model can be solved and FALSE action loaded (requires tla2bast 1.1.4)').
7020 cli_testcase(2091, [cbc], [
7021 '-evalt', 'memp : seq(STRING) & memp /= [] & dom(memp) <<: 1 .. 20',
7022 '-evalt', 'memp : seq(STRING) & memp /= [] & dom(memp) <<: 1 .. 200',
7023 '-evalt', 'memp : seq(STRING) & memp /= [] & dom(memp) <<: 1 .. 2000',
7024 '-evalt', 'memp : seq(STRING) & memp /= [] & dom(memp) <<: 1 .. 20 & dom(memp) /= {}',
7025 '-evalt', 'memp : seq(STRING) & memp /= [] & dom(memp) <: 1 .. 20 & dom(memp) /= {}',
7026 '-evalt', 'memp : seq(STRING) & memp /= [] & dom(memp) <<: 1 .. 43',
7027 '-evalt', 'memp : seq(STRING) & (1 .. 43 /\\ dom(memp)) /= {} & dom(memp) <<: 1 .. 43',
7028 '-evalt', 'memp : seq(STRING) & mdp >=0 & mdp < 1 & memp /= {} & (mdp + 1 .. mdp + 43 /\\ dom(memp)) /= {} & dom(memp) <<: mdp + 1 .. mdp + 43'
7029 ], 'Check strict subset issues solved'). % related to test 1003 (plavis-TransData_SP_13.prob)
7030 cli_testcase(2092, [cbc], [
7031 '-evalf', 'n:NATURAL1 & not(1001:NATURAL)',
7032 '-evalf', 'n:NATURAL1 & not(1001:NATURAL1)',
7033 '-evalf', 'n:NATURAL & not(1001:NATURAL1)',
7034 '-evalf', 'n<100 & not(1001:NATURAL1)',
7035 %'-evalf', 'n:NATURAL1 & x:2..3 & not(x:NATURAL1)', % TODO: still unknown
7036 '-evalf', 'n>100 & not(1001:NATURAL1)',
7037 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
7038 ], 'Check no enumeration warning issues leading to UNKNOWN').
7039 cli_testcase(2093, [cbc,bmc,tla],
7040 ['../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/TLA_Examples/Einstein.tla',
7041 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7042 '-bmc', 1, '-expcterr', 'invariant_violation',
7043 '-sptxt', '../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/TLA_Examples/prob_bmc_counterexample_test2093.mch'], 'check TLA model can be solved with bmc').
7044 cli_testcase(2094, [cbc,tla],
7045 ['../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/TLA_Examples/Einstein.tla',
7046 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7047 '-cbc', 'all', '-expcterr', 'cbc',
7048 '-sptxt', '../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/TLA_Examples/prob_cbc_counterexample_test2094.mch'], 'check TLA model can be solved with bmc').
7049 cli_testcase(2095,[alloy,cbc,cbc_tests],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7050 '../prob_examples/public_examples/Alloy/Puzzles/einsteins_puzzle.als',
7051 '-cbc_sequence', run0,
7052 '-strict'], 'Test Alloy model and solution for run0 found').
7053 cli_testcase(2096, [smt_solver_integration], [
7054 '-p', 'TIME_OUT', '30000',
7055 '-evalt', ':z3-double-check s=id(1..100)',
7056 '-evalt', ':z3-double-check s=union({{1,2,3},{4,5,6},{1,2,10}})',
7057 '-evalf', ':z3-double-check s=union({{1,2,3},{4,5,6},{1,2,10}}) & s={}',
7058 '-evalt', ':z3-double-check s=inter({{1,2,3},{4,5,6},{1,2,10}})',
7059 '-evalt', ':z3-double-check s=inter({{1,2,3},{1,2,6},{1,2,10}})',
7060 '-evalt', ':z3-double-check a=[1,2,3,4,5]~',
7061 '-evalt', ':z3-double-check x = %i.(i:1..10|i+i) & x[{j}]=a',
7062 '-evalt', ':z3-double-check x = %i.(i:1..10|i+i) & x[{j}]={8}',
7063 %'-evalt', ':z3-double-check f=%x.(x:INTEGER|x*x*x) & f(f(x))=y & y=512', % TODO: doesn't terminate since Z3 4.13.2
7064 '-evalt', ':z3-double-check a : FIN((1..3) * (1..3)) & a/={} & (2,2):a',
7065 '-evalt', ':z3-double-check a : FIN((1..3) * INT)',
7066 '-evalt', ':z3-double-check x:POW1(1..10) & y = x*x',
7067 '-evalf', ':z3-double-check x:POW1(1..10) & {} = x*x'
7068 ], 'check new z3 translation with lambdas').
7069 cli_testcase(2097,[cbc,bmc],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7070 '../prob_examples/public_examples/TLA/Benchmarks/Queens/NQueens.mch',
7071 '-bmc', 1, '-expecterr', 'invariant_violation',
7072 '-strict'], 'Test invariant violation after INITIALISATION found').
7073 cli_testcase(2098, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7074 '-evalt', 'q : 1 .. 16 --> 1 .. 16 & card(ran(q))=16',
7075 '-evalt', 'q : 1 .. 16 --> 1 .. 16 & card(ran(q))=card(dom(q))',
7076 %'-evalt', 'q : 1 .. 16 --> 1 .. 16 & card({R|R:INTEGER & #D.(D:dom(q) & R=q(D))})=card(dom(q))', % only works in Disprover mode
7077 %'-evalt', 'q : 1 .. 16 --> 1 .. 16 & card({R|R:INTEGER & #D.(D|->R:q)})=card(dom(q))',
7078 '-evalt', 'f=%x.(x:1..1000|x+1) & 1000=card(ran(f))',
7079 '-evalt', 'f=%x.(x:1..n|x+1) & res=card(ran(f))& n:{1000,1001} & res=1001'
7080 ], 'Test improved card of range treatment').
7081 cli_testcase(2099, [laws,bmc], [
7082 '../prob_examples/public_examples/B/Laws/ArithmeticExpLaws.mch',
7083 '-bmc', 7 %'-opterr', 'clpfd_overflow' % after changing get_assign_expr_priority_wf we no longer have an overflow
7084 ], 'BMC: Various arithmetic laws with power; see clpfd overflow caught or not generated.').
7085 cli_testcase(2100, [laws,bmc], [
7086 '../prob_examples/public_examples/B/Laws/BoolLaws.mch',
7087 '../prob_examples/public_examples/B/Laws/ArithmeticLaws.mch',
7088 '-bmc', 6], 'BMC: Various bool and arithmetic laws.').
7089 cli_testcase(2101, [laws,bmc], [
7090 '../prob_examples/public_examples/B/Laws/NatRangeLaws.mch',
7091 '-bmc', 4], 'BMC: Various intervals laws.').
7092 cli_testcase(2102, [laws,bmc], [
7093 '../prob_examples/public_examples/B/Laws/RelLaws.mch',
7094 '-bmc', 1], 'BMC: Various bool and arithmetic laws.'). % TO DO: examine timeouts for larger values of bmc
7095 cli_testcase(2103, [laws,bmc,tickets], [
7096 '../prob_examples/public_examples/B/Tickets/BMC_CallResidue/SetLaws_reduced2.mch',
7097 '-bmc', 4], 'BMC: check no pending co-routines due to POW (power_set use of findall).').
7098 cli_testcase(2104, [laws,bmc], [
7099 '../prob_examples/public_examples/B/Laws/SetLaws.mch',
7100 '-bmc', 3], 'BMC: Various set laws.'). % used to generate call_residue for b_not_test_conjunction/7 due to time-out
7101 cli_testcase(2105, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'TIME_OUT', '10000',
7102 '-evalt', ':cdclt-double-check x=1 or x=2',
7103 '-evalf', ':cdclt-double-check x=1 & x=2',
7104 '-evalt', ':cdclt-double-check {S,E,N,D, M,O,R, Y} <: 0..9 & S >0 & M >0 & card({S,E,N,D, M,O,R, Y}) = 8 & S*1000 + E*100 + N*10 + D + M*1000 + O*100 + R*10 + E = M*10000 + O*1000 + N*100 + E*10 + Y',
7105 '-evalt', ':cdclt-double-check sqrt>0 & sqrt*sqrt <= i & (sqrt+1)*(sqrt+1)>i & i = 10000000',
7106 '-evalt', ':cdclt-double-check n = 8 & queens : 1..n >-> 1..n & !(q1,q2).(q1:1..n & q2:2..n & q2>q1 => queens(q1)+(q2-q1) /= queens(q2) & queens(q1)+(q1-q2) /= queens(q2))',
7107 '-evalt', ':cdclt-double-check DOM = 1..9 & SUBSQ = { {1,2,3}, {4,5,6}, {7,8,9} } & Board : DOM --> (DOM --> DOM) & !y.(y:DOM => !(x1,x2).(x1:DOM & x1<x2 & x2:DOM => Board(x1)(y) /= Board(x2)(y) & Board(y)(x1) /= Board(y)(x2))) & !(s1,s2).(s1:SUBSQ & s2:SUBSQ => !(x1,y1,x2,y2).( (x1:s1 & x2:s1 & x1>=x2 & (x1=x2 => y1>y2) & y1:s2 & y2:s2 & (x1,y1) /= (x2,y2)) => Board(x1)(y1) /= Board(x2)(y2))) & Board(1)(1)=7 & Board(1)(2)=8 & Board(1)(3)=1 & Board(1)(4)=6 & Board(1)(6)=2 & Board(1)(7)=9 & Board(1)(9) = 5 & Board(2)(1)=9 & Board(2)(3)=2 & Board(2)(4)=7 & Board(2)(5)=1 & Board(3)(3)=6 & Board(3)(4)=8 & Board(3)(8)=1 & Board(3)(9)=2 & Board(4)(1)=2 & Board(4)(4)=3 & Board(4)(7)=8 & Board(4)(8)=5 & Board(4)(9)=1 & Board(5)(2)=7 & Board(5)(3)=3 & Board(5)(4)=5 & Board(5)(9)=4 & Board(6)(3)=8 & Board(6)(6)=9 & Board(6)(7)=3 & Board(6)(8)=6 & Board(7)(1)=1 & Board(7)(2)=9 & Board(7)(6)=7 & Board(7)(8)=8 & Board(8)(1)=8 & Board(8)(2)=6 & Board(8)(3)=7 & Board(8)(6)=3 & Board(8)(7)=4 & Board(8)(9)=9 & Board(9)(3)=5 & Board(9)(7)=1',
7108 '-evalt', ':cdclt-double-check DOM = {1,2,3,4,5,6,7,8,9} & Board : DOM --> (DOM --> DOM) & (Board : INTEGER +-> ((INTEGER<->INTEGER)) & 1 : dom(Board) & 1 : dom(Board(1)) & Board(1) : INTEGER +-> INTEGER & Board(1)(1) = 7)',
7109 '-evalt', ':cdclt-double-check DOM = {1,2,3,4,5,6,7,8,9} & Board(1)(1) = 7',
7110 '-evalt', ':cdclt-double-check {K,P} <: 1..9 & {I,S,A,O,N} <: 0..9 & (1000*K+100*I+10*S+S) * (1000*K+100*I+10*S+S) = 1000000*P+100000*A+10000*S+1000*S+100*I+10*O+N & card({K, I, S, P, A, O, N}) = 7',
7111 '-evalt', ':cdclt-double-check (A=TRUE <=> (B=FALSE or C=FALSE)) & (B=TRUE <=> A=TRUE)',
7112 '-evalf', ':cdclt-double-check (A=TRUE <=> (B=FALSE or C=FALSE)) & (B=TRUE <=> A=TRUE) & B=FALSE',
7113 '-evalt', ':cdclt-double-check cube = %x.(x:INTEGER|x*x*x) & ([1,2,3,4,5] ; cube) = list & cube[1..10] = image & cube(y) = 15625',
7114 '-evalt', ':cdclt-double-check DOM = {1,2,3,4,5,6,7,8,9} & (Board : INTEGER +-> ((INTEGER<->INTEGER)) & 1 : dom(Board) & 1 : dom(Board(1)) & Board(1) : INTEGER +-> INTEGER & Board(1)(1) = 7)',
7115 % the following constraints have been found by the Prolog fuzzer
7116 '-evalt', ':cdclt-double-check {"a"} : FIN({"a"}) or 279936 < - (0 + (-32 - min({54,-27,2}))) + ((-23 + max({12,-51,30}) / 113) - 9) <=> {"n","6","o","e"} - {"7","s"} /= {"Cev"}',
7117 '-evalf', ':cdclt-double-check -54 .. 4 <<: {-19470,-19144,-19076,-17773,-11298,-9821,-8847,-8790,-8609,-8232,-508,245,416,1018,5075,6575,10043,18046,19308} <=> (not(-35 - - (- 28 * MAXINT) >= max({59,41,61,-4,-13,50,28,58,-17,58,54,-54,54,5,-20,-23,34,-8,-25,-16,-47,-42,-34,33,18,-49,-5,-7,-10,32,-35,-40,17,-25,10,-29,-15,23,-23,7,10})) <=> 0 /= -12187)',
7118 '-evalt', ':cdclt-double-check btrue => -21 .. -11 <<: {13761} & -32 .. -11 /<: {-11745,-5153,-16613,-17839,-3598,-11064,-15654,-1151,-14874,-13025,8362,-3180,12111,5227,-1287,18256,5858,18146,8052,-2114,18763,9259,-18295,2081,16790,9462,8630,11820,-11320,-15826,-12584,16862,6,-441,-6442,13118,-1346,-11977} => (btrue => - 1 * - (0 * (1 - min({41,49,28,-36,-61,-13,31,41,1,44,-10,-29,-39,-35,17,46,-57,-61,-56,16,16,27,-15,-34,-59}) / 4)) < MAXINT)',
7119 '-evalt', ':cdclt-double-check btrue => -32 .. -11 /<: {-11745,-5153} => (btrue => - 1 * - (0 * (1 - min({41,49}) / 4)) < MAXINT)',
7120 '-evalt', ':cdclt-double-check btrue => -21 .. -11 <<: {13761} & -32 .. -11 /<: {-11745,-5153} => (btrue => - 1 * - (0 * (1 - min({41,49}) / 4)) < MAXINT)',
7121 '-evalt', ':cdclt-double-check {-19910,-18746,-16773,-15446,-14701,-12806,-11000,-9666,-8702,-6212,6573,9274,11522,11745,12209,17151,17624,18421,18593,19723} - {-19961,-19856,-18755,-18112,-17873,-15773,-13681,-12937,-11171,-10677,-7082,-7061,-4992,-4435,-3456,-3261,-2223,-1579,315,609,971,1484,2294,2495,3596,5065,5194,5609,5813,6792,6798,6920,7107,7195,7404,7990,9187,9517,11009,13260,14137,14147,15716,18611,19110,19337,19513} <<: {-4672,-17796,-4395,-14514,-4171,-13133,18369,-10632,7894,-15167,9678,9553,14831,6214,-6487,3093,-19899,-16914,306,-5209,-19188,-19968,4718,6866,-18040,947,-18538,5729,18888,-5761,-6479,-6113,1143,5424,7706,16860,-8906,-8415} => (-50 .. 10 = {-15424,1561,3745,-2865,-2186,-8876,-15970,-10344,1889,2751,-14364,-19299,-8441,-2199,10931,-1527,-557,-8985,-1152,-11802,6361,13242,11952,16544} => {-19444,-18905,-13816,-9049,-8343,-7466,-6334,-4630,-4492,-4139,-3813,-2461,921,1467,2179,2359,3401,3891,4620,7103,7156,9120,9807,10217,13043,15032,15064,15710,15848,19094,19884} /\\ {12048,11231,1868,417,9577,-13582,2563,12378,14444,2407,-6123,-6200,-12295,-15450,-11725,-6065,-4717,-7484} <: {9763,-5634,-7807,15930,16096,9294,9872,6155,-7741,16455,13929,8926,-10738,479,10765} <=> 79 mod 101 >= max({}))',
7122 '-evalf', ':cdclt-double-check not(({FALSE,TRUE} : FIN({FALSE,TRUE})) <=> (-(-(45) / 13) >= MAXINT <=> TRUE /: {FALSE,TRUE} <=> (inter({{TRUE,TRUE,TRUE,TRUE,FALSE,TRUE,FALSE,TRUE,TRUE,TRUE,FALSE}}) : FIN(inter({{TRUE,TRUE,TRUE,TRUE,FALSE,TRUE,FALSE,TRUE,TRUE,TRUE,FALSE}}))) or union({{TRUE,FALSE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,FALSE}}) : FIN(union({{TRUE,FALSE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,FALSE}}))))',
7123 '-evalt', ':cdclt-double-check ({FALSE,TRUE} <<: {FALSE,TRUE} or {} <<: {"+n9r]I<","00ML","5nAgN<]2-6pF[tSEcB^","7!J<4*","8iL];D&Z:ni!s3*}(}k_}_?-w;",">GlCdZ:","?Nn!bHODO1wL;","C78H","G:n2D^L4","O_ijw=8Ji~7oK?ZF","O_vdN.ikYTh","S{}K2m","WF{3>i8E3","n9*Lq^do","_Mu04s,9DAXNc~&","e>kKr","gOmYLo7","jca","oJ","v2&!aeJLwl","y;f+]","9"}) & (not({} <<: {"+n9rI","00ML","5nAgN2-6pFtSEcB^","7!J4","8iLDZni!s3_?-w;",">GlCdZ:","?Nn!bHODO1wL","C78H","G:n2DL4","O_ijw=8Ji7oK?ZF","O_vdN.ikYTh","SK2m","WF3>i8E3","n9*Lq^do","_Mu04s,9DAXNc","ekKr","gOmYLo7","jca","oJ","v2&!aeJLwl","y;f+","9"}) or not({FALSE,TRUE} <<: {FALSE,TRUE})) & (({} <<: {FALSE,TRUE} & (not(TRUE : {FALSE,TRUE}) or not(0 > min({-62,-49,-45,-43,-41,-31,-29,-24,-17,-5,-2,5,11,12,14,28,37,43,46,56,61,62})) or not({FALSE,TRUE} \\/ {FALSE,TRUE} <<: {FALSE,TRUE}))) or (TRUE : {FALSE,TRUE} & 0 > min({-62,-49,-45,-43,-41,-31,-29,-24,-17,-5,-2,5,11,12,14,28,37,43,46,56,61,62}) & {FALSE,TRUE} \\/ {FALSE,TRUE} <<: {FALSE,TRUE} & not({} <<: {FALSE,TRUE})) or not({} <<: {-18838,-17452,-17385,-17368,-16258,-14024,-13647,-11800,-10149,-9457,-8517,-6852,-6530,-3702,-3635,-3275,-1683,-983,1569,5914,6252,7434,11539,15004,16490,16542,17084,17672,19117,19164})) & ({} <<: {-18838,-17452,-17385,-17368,-16258,-14024,-13647,-11800,-10149,-9457,-8517,-6852,-6530,-3702,-3635,-3275,-1683,-983,1569,5914,6252,7434,11539,15004,16490,16542,17084,17672,19117,19164} or ((not({} <<: {FALSE,TRUE}) or (TRUE : {FALSE,TRUE} & 0 > min({-62,-49,-45,-43,-41,-31,-29,-24,-17,-5,-2,5,11,12,14,28,37,43,46,56,61,62}) & {FALSE,TRUE} \\/ {FALSE,TRUE} <<: {FALSE,TRUE})) & (not(TRUE : {FALSE,TRUE}) or not(0 > min({-62,-49,-45,-43,-41,-31,-29,-24,-17,-5,-2,5,11,12,14,28,37,43,46,56,61,62})) or {} <<: {FALSE,TRUE})))',
7124 '-evalf', ':cdclt-double-check min({-9,62,62,52,10,56,-40,-21,-41,-10,55,36,-49,51,32,38,13,-25,57,30,2,-2,44,31,-2,52,34,-46,-37,-34,27,2,38,-12,12,13,11,10,-25,43,-3,-15,32,44,-29,11,-60,-25}) /= -5382 & -9 .. 26 /<<: {-19996,-19637,-17345,-16440,-16151,-14331,-14216,-13851,-13702,-13513,-13120,-12762,-12362,-11205,-10452,-9575,-8455,-7689,-6723,-6420,-4168,-4084,-2567,126,1166,2415,3104,5409,5412,7177,7411,9946,10042,12934,13241,13475,13619,13840,14144,14347,14970,15179,15440,15963,17294,17661,18921,19903} <=> (5 ** 6 * (66 mod 69)) / 42 > ((125 mod 19) / 121) * (MAXINT * max({}))',
7125 '-evalt', ':cdclt-double-check not(- MININT /= 1363 <=> ({TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,TRUE,TRUE,FALSE,TRUE,FALSE,TRUE} <<: {FALSE,TRUE,TRUE,TRUE,TRUE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,TRUE,TRUE,TRUE,TRUE,FALSE,TRUE,FALSE,TRUE,TRUE,FALSE,TRUE,FALSE} & (1 ** 15 > (max({-49,-56,-18,61,50,-64,20,55,-51,-14,-37,49,5,59,40,59,-19,26,39,33,43}) / 111) * (31 * (113 mod 16)) <=> ([FALSE,FALSE,TRUE,FALSE,TRUE] \\|/ -54 = [TRUE,FALSE,FALSE,FALSE,FALSE,TRUE,TRUE,FALSE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE,TRUE,FALSE,TRUE,TRUE,FALSE,FALSE,TRUE,FALSE,FALSE,FALSE]) or {FALSE,FALSE,TRUE,FALSE,TRUE,TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE,TRUE} /<: {FALSE,TRUE,TRUE,TRUE})))',
7126 '-evalt', ':cdclt-double-check ({13863,-2724,15542,-18887,11221,-11891,-17574,-2849,-13338,19123,-9651,-5848,-12601,15297,4528,-5524,-4136,-5229,-16157,-12619,-8161,-1247,-16962,10733,-2138,16616,-14300,-4637,-19621,4539,-15785,-248,-10087,-15335,-10899,-2532,13760,11564,-12141,-11280,3565,-14514,19104,3527} - {-811,-12966,17308,-9349,2149,9738,-318,14025,-18399,-17958,15260,-19451,-15085,9909,15837,-16231,4087,6545} /<<: {-6211,7604,19023,-8033,14009,5059,9369,-18930,-13755,-14150,8712,-11423,-1960,18652,-9294,19555,4807,5600,-17247,-16758,2745,12564,-6405,-10912,13623,-4015,-5184,19632,-1836,15510,4486,-18481,-4349,5837,1862,-13487,7275,-17300,-5584,-876,-10597,13971,-19380,-9716,-14414} or ({-19777,-19020,-17674,-17355,-16229,-15507,-14186,-9887,-7089,-4810,-4582,-4364,149,5703,8016,8955,9972,10690,11129,13218,15561,16863,18620} \\/ {} <: {-16699,-14540,-8802,-8022,-6474,-5385,-3859,-3146,-2872,-2219,-650,-258,470,2074,2387,2999,4265,7137,9264,15016,15222,15771,16836,17115,17840,18226,18317,18571,19862} & not({FALSE} /<<: {}))) <=> 8 .. 26 /<<: {-9274,-5298,-13637,9226,-1388,-2737,11191,-4811,-18395,13977,-19670,-12926,-7852,5226,13179,-14651,16848,-8312,9455,7659,1725,-2596,-8742,-13336,-17732,-18768,16309,13978,10408,6762,-909,15051,-7266,-82,-6845,-16879,14941,15517,-15212,-14214,-12398,7673}',
7127 '-evalf', ':cdclt-double-check not(({13863,-2724,15542,-18887,11221,-11891,-17574,-2849,-13338,19123,-9651,-5848,-12601,15297,4528,-5524,-4136,-5229,-16157,-12619,-8161,-1247,-16962,10733,-2138,16616,-14300,-4637,-19621,4539,-15785,-248,-10087,-15335,-10899,-2532,13760,11564,-12141,-11280,3565,-14514,19104,3527} - {-811,-12966,17308,-9349,2149,9738,-318,14025,-18399,-17958,15260,-19451,-15085,9909,15837,-16231,4087,6545} /<<: {-6211,7604,19023,-8033,14009,5059,9369,-18930,-13755,-14150,8712,-11423,-1960,18652,-9294,19555,4807,5600,-17247,-16758,2745,12564,-6405,-10912,13623,-4015,-5184,19632,-1836,15510,4486,-18481,-4349,5837,1862,-13487,7275,-17300,-5584,-876,-10597,13971,-19380,-9716,-14414} or ({-19777,-19020,-17674,-17355,-16229,-15507,-14186,-9887,-7089,-4810,-4582,-4364,149,5703,8016,8955,9972,10690,11129,13218,15561,16863,18620} \\/ {} <: {-16699,-14540,-8802,-8022,-6474,-5385,-3859,-3146,-2872,-2219,-650,-258,470,2074,2387,2999,4265,7137,9264,15016,15222,15771,16836,17115,17840,18226,18317,18571,19862} & not({FALSE} /<<: {}))) <=> 8 .. 26 /<<: {-9274,-5298,-13637,9226,-1388,-2737,11191,-4811,-18395,13977,-19670,-12926,-7852,5226,13179,-14651,16848,-8312,9455,7659,1725,-2596,-8742,-13336,-17732,-18768,16309,13978,10408,6762,-909,15051,-7266,-82,-6845,-16879,14941,15517,-15212,-14214,-12398,7673})',
7128 '-evalt', ':cdclt-double-check id0 : seq(INTEGER) & {id1,id2,id3|id1 : POW(INTEGER) & id2 : POW(REAL) & id3 : STRING & (-1 >= 0 & 56.289243046663664 /: FLOAT)} : FIN({id1,id2,id3|id1 : POW(INTEGER) & id2 : POW(REAL) & id3 : STRING & (-1 >= 0 & 56.289243046663664 /: FLOAT)}) & first(MAXINT -> id0) > PI(id1,id2,id3).(id1 : POW(INTEGER) & id2 : POW(REAL) & id3 : STRING & (-1 >= 0 & 56.289243046663664 /: FLOAT)|MAXINT ** -1)',
7129 '-evalt', ':cdclt-double-check id0 : seq(INTEGER) & {id1,id2,id3|id1 : POW(INTEGER) & id2 : POW(REAL) & id3 : STRING & (MININT >= 0 & 56.289243046663664 /: FLOAT)} : FIN({id1,id2,id3|id1 : POW(INTEGER) & id2 : POW(REAL) & id3 : STRING & (MININT >= 0 & 56.289243046663664 /: FLOAT)}) & first(MAXINT -> id0) > PI(id1,id2,id3).(id1 : POW(INTEGER) & id2 : POW(REAL) & id3 : STRING & (MININT >= 0 & 56.289243046663664 /: FLOAT)|MAXINT ** MININT)',
7130 '-evalt', ':cdclt-double-check not(conc([[FALSE,TRUE]]) : seq(BOOL) & aecwp : seq(BOOL) & [[FALSE,TRUE]] : seq(seq(BOOL)) & conc([[FALSE,TRUE]]) ^ aecwp = [FALSE,TRUE]) & aecwp = [TRUE]',
7131 '-evalt', ':cdclt-double-check conc([[FALSE,TRUE]]) : seq(BOOL) & aecwp : seq(BOOL) & [[FALSE,TRUE]] : seq(seq(BOOL)) & conc([[FALSE,TRUE]]) ^ aecwp = [FALSE,TRUE]',
7132 '-evalt', ':cdclt x * y =10 & !z.(z:1..10 => z:1..x & z:1..10)',
7133 '-evalt', ':cdclt-double-check (pred : FIN(pred) => MININT >= 0) & (((id3 < 0.0 => 54.41823282691894 = real(floor(54.41823282691894))) & (id3 = 0.0 => 0.0 <= 54.41823282691894))) & real(IF pred : FIN(pred) THEN MININT ** MININT ELSE card(NAT) END) <= (40.23865881169138 + id3) - (id3 - 28.807142597628857)',
7134 '-evalt', ':cdclt-double-check ({zz|zz : POW(INTEGER) & bfalse} /= {} & {1,2} /= (inter({zz|zz : POW(INTEGER) & bfalse}))) <=> id10 < - 98',
7135 '-evalt', ':cdclt-double-check s={x,y|(x>y & y>=x & ASSERT_EXPR(FALSE,"err",x)=2)}',
7136 '-evalf', ':cdclt-double-check {(1,2)}={x,y|(x>y & y>=x & ASSERT_EXPR(FALSE,"err",x)=2)}',
7137 '-evalt', ':cdclt-double-check id10 : POW(POW(INTEGER * POW(INTEGER * INTEGER))) & id3 : POW(INTEGER * INTEGER) & id4 : INTEGER * INTEGER & id5 : POW(INTEGER) & id6 : POW(INTEGER * REAL) & id7 : POW(POW(POW(INTEGER * POW(INTEGER * INTEGER)))) & ({id0,id1,id2|id0 : BOOL & id1 : POW(INTEGER * POW(INTEGER * REAL)) & id2 : REAL & ((id5 = NAT1 => id6 : seq(REAL) & MININT : 0 .. size(id6)) & ((id5 /= NAT1 => id6 : seq(REAL) & MININT : 0 .. size(id6)) & (IF id5 = NAT1 THEN id6 \\|/ MININT ELSE id6 /|\\ MININT END) : seq1(REAL)) & (id3 : seq1(INTEGER) & last(id3) >= prj1(id4) => NATURAL >+> NAT /<: {}))} : FIN({id0,id1,id2|id0 : BOOL & id1 : POW(INTEGER * POW(INTEGER * REAL)) & id2 : REAL & ((id5 = NAT1 => id6 : seq(REAL) & MININT : 0 .. size(id6)) & ((id5 /= NAT1 => id6 : seq(REAL) & MININT : 0 .. size(id6)) & (IF id5 = NAT1 THEN id6 \\|/ MININT ELSE id6 /|\\ MININT END) : seq1(REAL)) & (id3 : seq1(INTEGER) & last(id3) >= prj1(id4) => NATURAL >+> NAT /<: {}))}) & (id7 /= {} & {RANGE_LAMBDA__|RANGE_LAMBDA__ : POW(POW(INTEGER * POW(INTEGER * INTEGER))) & RANGE_LAMBDA__ = id10} /= {}) & PI(id0,id1,id2).(id0 : BOOL & id1 : POW(INTEGER * POW(INTEGER * REAL)) & id2 : REAL & ((id5 = NAT1 => id6 : seq(REAL) & MININT : 0 .. size(id6)) & ((id5 /= NAT1 => id6 : seq(REAL) & MININT : 0 .. size(id6)) & (IF id5 = NAT1 THEN id6 \\|/ MININT ELSE id6 /|\\ MININT END) : seq1(REAL)) & (id3 : seq1(INTEGER) & last(id3) >= prj1(id4) => NATURAL >+> NAT /<: {}))|first(IF id5 = NAT1 THEN id6 \\|/ MININT ELSE id6 /|\\ MININT END)) /: {LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(INTEGER * POW(INTEGER * POW(INTEGER * INTEGER))) * REAL & (NATURAL1 /= {} & NATURAL1 : FIN(NATURAL1) & card(NATURAL1) <= 1 & MU(NATURAL1) < FDIV(MAXINT,MININT) & (MININT : 0 .. size([]) & [] \\|/ MININT : seq1(POW(INTEGER * POW(INTEGER * POW(INTEGER * INTEGER))) * REAL) & LAMBDA_RESULT___ = first([] \\|/ MININT)))}[seq1(inter(id7) - inter({RANGE_LAMBDA__|RANGE_LAMBDA__ : POW(POW(INTEGER * POW(INTEGER * INTEGER))) & RANGE_LAMBDA__ = id10}))])'
7138 % following generates enumeration warning and AST contains redundant typing predicate: z_ : POW(INTEGER)
7139 %'-evalt', ':cdclt-double-check id0 : POW(INTEGER) & id1 : INTEGER * INTEGER * REAL * POW(INTEGER * POW(INTEGER)) & id10 : INTEGER * INTEGER & id6 : INTEGER & id8 : INTEGER & id9 : POW(INTEGER * (INTEGER * INTEGER)) & (prj2(id1) : seq1(POW(INTEGER)) & ((id0 \\/ last(prj2(id1))) /= {} & id0 \\/ last(prj2(id1)) : FIN(id0 \\/ last(prj2(id1))) & ({id2,id3|id2 : INTEGER & id3 : INTEGER & ({id7|id7 : INTEGER * POW(POW(INTEGER * INTEGER)) & bfalse} : FIN({id7|id7 : INTEGER * POW(POW(INTEGER * INTEGER)) & bfalse}) & (MININT > 0 & MININT >= 0) & ({id4,id5|id4 : INTEGER * POW(BOOL * (INTEGER * REAL)) & id5 : REAL * REAL & bfalse} : FIN({id4,id5|id4 : INTEGER * POW(BOOL * (INTEGER * REAL)) & id5 : REAL * REAL & bfalse}) & FDIV(MAXINT,MAXINT) >= SIGMA(id4,id5).(id4 : INTEGER * POW(BOOL * (INTEGER * REAL)) & id5 : REAL * REAL & bfalse|id6)))} : FIN({id2,id3|id2 : INTEGER & id3 : INTEGER & ({id7|id7 : INTEGER * POW(POW(INTEGER * INTEGER)) & bfalse} : FIN({id7|id7 : INTEGER * POW(POW(INTEGER * INTEGER)) & bfalse}) & (MININT > 0 & MININT >= 0) & ({id4,id5|id4 : INTEGER * POW(BOOL * (INTEGER * REAL)) & id5 : REAL * REAL & bfalse} : FIN({id4,id5|id4 : INTEGER * POW(BOOL * (INTEGER * REAL)) & id5 : REAL * REAL & bfalse}) & FDIV(MAXINT,MAXINT) >= SIGMA(id4,id5).(id4 : INTEGER * POW(BOOL * (INTEGER * REAL)) & id5 : REAL * REAL & bfalse|id6)))}) & (id9 : seq(INTEGER * INTEGER) & prj2(first(id9 <- id10)) /= 0))) & min(id0 \\/ last(prj2(id1))) < FDIV(SIGMA(id2,id3).(id2 : INTEGER & id3 : INTEGER & ({id7|id7 : INTEGER * POW(POW(INTEGER * INTEGER)) & bfalse} : FIN({id7|id7 : INTEGER * POW(POW(INTEGER * INTEGER)) & bfalse}) & (MININT > 0 & MININT >= 0) & ({id4,id5|id4 : INTEGER * POW(BOOL * (INTEGER * REAL)) & id5 : REAL * REAL & bfalse} : FIN({id4,id5|id4 : INTEGER * POW(BOOL * (INTEGER * REAL)) & id5 : REAL * REAL & bfalse}) & FDIV(MAXINT,MAXINT) >= SIGMA(id4,id5).(id4 : INTEGER * POW(BOOL * (INTEGER * REAL)) & id5 : REAL * REAL & bfalse|id6)))|SIGMA(id7).(id7 : INTEGER * POW(POW(INTEGER * INTEGER)) & bfalse|id8) ** (MININT mod MININT)),prj2(first(id9 <- id10))))'
7140 %'-evalt', ':cdclt-double-check id0 : POW(INTEGER * POW(INTEGER * INTEGER)) & id1 : POW(INTEGER * (POW(INTEGER * POW(INTEGER * BOOL)) * POW(INTEGER))) & (id0 : seq1(POW(INTEGER * INTEGER)) & (first(id0) : seq(INTEGER) & ({id1,id2,id3,id4|id1 : BOOL & id2 : REAL * POW(INTEGER * (REAL * INTEGER)) & id3 : POW(INTEGER * (BOOL * POW(POW(POW(INTEGER * BOOL))))) & id4 : POW(INTEGER) * BOOL & ({id5,id6,id7,id8|id5 : REAL * INTEGER & id6 : POW(INTEGER * INTEGER) & id7 : REAL & id8 : INTEGER} : FIN({id5,id6,id7,id8|id5 : REAL * INTEGER & id6 : POW(INTEGER * INTEGER) & id7 : REAL & id8 : INTEGER}) & bfalse)} : FIN({id1,id2,id3,id4|id1 : BOOL & id2 : REAL * POW(INTEGER * (REAL * INTEGER)) & id3 : POW(INTEGER * (BOOL * POW(POW(POW(INTEGER * BOOL))))) & id4 : POW(INTEGER) * BOOL & ({id5,id6,id7,id8|id5 : REAL * INTEGER & id6 : POW(INTEGER * INTEGER) & id7 : REAL & id8 : INTEGER} : FIN({id5,id6,id7,id8|id5 : REAL * INTEGER & id6 : POW(INTEGER * INTEGER) & id7 : REAL & id8 : INTEGER}) & bfalse)}) & ({id1,id2,id3,id4|id1 : INTEGER & id2 : INTEGER & id3 : REAL & id4 : POW(INTEGER * INTEGER) & /* falsity */ not(btrue)} : FIN({id1,id2,id3,id4|id1 : INTEGER & id2 : INTEGER & id3 : REAL & id4 : POW(INTEGER * INTEGER) & /* falsity */ not(btrue)}) & (PI(id1,id2,id3,id4).(id1 : INTEGER & id2 : INTEGER & id3 : REAL & id4 : POW(INTEGER * INTEGER) & /* falsity */ not(btrue)|91 mod MININT) /= 0 & (id1 : seq(POW(INTEGER * POW(INTEGER * BOOL)) * POW(INTEGER)) & (MAXINT : 0 .. size(id1) & (id1 \\|/ MAXINT : seq1(POW(INTEGER * POW(INTEGER * BOOL)) * POW(INTEGER)) & (prj2(first(id1 \\|/ MAXINT)) /= {} & prj2(first(id1 \\|/ MAXINT)) : FIN(prj2(first(id1 \\|/ MAXINT))))))))))) & size(MAXINT - MININT -> first(id0)) + FDIV(SIGMA(id1,id2,id3,id4).(id1 : BOOL & id2 : REAL * POW(INTEGER * (REAL * INTEGER)) & id3 : POW(INTEGER * (BOOL * POW(POW(POW(INTEGER * BOOL))))) & id4 : POW(INTEGER) * BOOL & ({id5,id6,id7,id8|id5 : REAL * INTEGER & id6 : POW(INTEGER * INTEGER) & id7 : REAL & id8 : INTEGER} : FIN({id5,id6,id7,id8|id5 : REAL * INTEGER & id6 : POW(INTEGER * INTEGER) & id7 : REAL & id8 : INTEGER}) & bfalse)|SIGMA(id5,id6,id7,id8).(id5 : REAL * INTEGER & id6 : POW(INTEGER * INTEGER) & id7 : REAL & id8 : INTEGER|id8)),PI(id1,id2,id3,id4).(id1 : INTEGER & id2 : INTEGER & id3 : REAL & id4 : POW(INTEGER * INTEGER) & /* falsity */ not(btrue)|91 mod MININT)) > min(prj2(first(id1 \\|/ MAXINT))))',
7141 %'-evalt', ':cdclt-double-check id0 : POW(INTEGER * POW(INTEGER * (POW(POW(INTEGER * POW(INTEGER * BOOL)) * REAL) * POW(INTEGER * REAL)))) & ({id0,id1,id2|id0 : REAL & id1 : REAL & id2 : POW(INTEGER * INTEGER) & ({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(REAL) & bfalse} /= {} & (inter({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(REAL) & bfalse}) /= {} & inter({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(REAL) & bfalse}) : FIN(inter({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(REAL) & bfalse}))) & (82 <= MININT & id1 /: {}))} : FIN({id0,id1,id2|id0 : REAL & id1 : REAL & id2 : POW(INTEGER * INTEGER) & ({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(REAL) & bfalse} /= {} & (inter({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(REAL) & bfalse}) /= {} & inter({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(REAL) & bfalse}) : FIN(inter({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(REAL) & bfalse}))) & (82 <= MININT & id1 /: {}))}) & (id0 : seq1(POW(INTEGER * (POW(POW(INTEGER * POW(INTEGER * BOOL)) * REAL) * POW(INTEGER * REAL)))) & (first(id0) /= {} & first(id0) : FIN(first(id0)) & card(first(id0)) <= 1)) & [PI(id0,id1,id2).(id0 : REAL & id1 : REAL & id2 : POW(INTEGER * INTEGER) & ({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(REAL) & bfalse} /= {} & (inter({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(REAL) & bfalse}) /= {} & inter({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(REAL) & bfalse}) : FIN(inter({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(REAL) & bfalse}))) & (82 <= MININT & id1 /: {}))|min(inter({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(REAL) & bfalse})))] = prj2(prj2(MU(first(id0)))))',
7142 %'-evalt', ':cdclt-double-check id1 : REAL & id10 : POW(BOOL * (POW(INTEGER * POW(REAL)) * INTEGER)) & id2 : POW(INTEGER * POW(INTEGER)) * REAL & id3 : POW(INTEGER * REAL) & id4 : INTEGER & id9 : POW(POW(INTEGER * POW(REAL)) * POW(INTEGER)) * (REAL * BOOL) & (id3 : seq(REAL) & (id1 /= 0.0 & {id5,id6,id7,id8|id5 : INTEGER & id6 : POW(REAL) & id7 : POW(REAL) * POW(INTEGER) & id8 : REAL & (id3 : seq(REAL) & (MININT / 14 : 0 .. size(rev(id3)) & /* falsity */ NATURAL /<: INTEGER) & {rel_x,rel_y|rel_x : POW(INTEGER * POW(REAL)) & rel_y : INTEGER & (rel_x : dom(prj1(id9)) & rel_y : union(prj1(id9)[{rel_x}]))} /= (id10 - id10)[BOOL \\/ BOOL])} : FIN({id5,id6,id7,id8|id5 : INTEGER & id6 : POW(REAL) & id7 : POW(REAL) * POW(INTEGER) & id8 : REAL & (id3 : seq(REAL) & (MININT / 14 : 0 .. size(rev(id3)) & /* falsity */ NATURAL /<: INTEGER) & {rel_x,rel_y|rel_x : POW(INTEGER * POW(REAL)) & rel_y : INTEGER & (rel_x : dom(prj1(id9)) & rel_y : union(prj1(id9)[{rel_x}]))} /= (id10 - id10)[BOOL \\/ BOOL])})) & (prj2(id2) + last(id1 -> id3)) - (real(FDIV(id4,71)) - - (64.81253750591223 / id1)) < PI(id5,id6,id7,id8).(id5 : INTEGER & id6 : POW(REAL) & id7 : POW(REAL) * POW(INTEGER) & id8 : REAL & (id3 : seq(REAL) & (MININT / 14 : 0 .. size(rev(id3)) & /* falsity */ NATURAL /<: INTEGER) & {rel_x,rel_y|rel_x : POW(INTEGER * POW(REAL)) & rel_y : INTEGER & (rel_x : dom(prj1(id9)) & rel_y : union(prj1(id9)[{rel_x}]))} /= (id10 - id10)[BOOL \\/ BOOL])|{id11,id12|id11 : POW(INTEGER * REAL) & id12 : REAL & /* falsity */ NATURAL /<: INTEGER}(rev(id3) /|\\ MININT / 14)))',
7143 %'-evalt', ':cdclt-double-check id0 : POW(INTEGER * POW(INTEGER * POW(INTEGER * INTEGER))) & id1 : POW(POW(INTEGER * INTEGER) * POW(BOOL * (POW(POW(POW(BOOL))) * POW(POW(INTEGER * REAL)) * POW(INTEGER * BOOL) * BOOL) * INTEGER * POW(BOOL * POW(INTEGER * BOOL) * POW(POW(REAL))))) & id2 : POW(INTEGER * POW(REAL)) & id3 : POW(INTEGER * INTEGER) * POW(BOOL * (POW(POW(POW(BOOL))) * POW(POW(INTEGER * REAL)) * POW(INTEGER * BOOL) * BOOL) * INTEGER) & id4 : POW(BOOL * REAL) & (id2 : seq1(POW(REAL)) & first(id2) : dom(({} ; id1)) & ({} ; id1) : POW(REAL) +-> POW(BOOL * (POW(POW(POW(BOOL))) * POW(POW(INTEGER * REAL)) * POW(INTEGER * BOOL) * BOOL) * INTEGER * POW(BOOL * POW(INTEGER * BOOL) * POW(POW(REAL)))) & prj2(id3) /= {} & prj2(id3) : FIN(prj2(id3)) & card(prj2(id3)) <= 1 & MU(prj2(id3)) : dom(({} ; id1)(first(id2))) & ({} ; id1)(first(id2)) : BOOL * (POW(POW(POW(BOOL))) * POW(POW(INTEGER * REAL)) * POW(INTEGER * BOOL) * BOOL) * INTEGER +-> POW(BOOL * POW(INTEGER * BOOL) * POW(POW(REAL))) & id0 : seq(seq(POW(INTEGER * INTEGER))) & conc(id0) : {} & {}(conc(id0)) /= {} & {}(conc(id0)) : FIN({}(conc(id0))) & card({}(conc(id0))) <= 1 => !z_.(z_ : POW(POW(POW(REAL))) & z_ : MU({}(conc(id0))) => z_ <: ({} ; id1)(first(id2))(MU(prj2(id3)))[{rel_x,rel_y|rel_x : BOOL & rel_y : POW(INTEGER * BOOL) & (rel_x : dom((id4 ; {}) <+ {}) & rel_y : union(((id4 ; {}) <+ {})[{rel_x}]))}]))',
7144 %'-evalt', ':cdclt-double-check id1 : REAL & id10 : INTEGER & id11 : POW(INTEGER * POW(INTEGER * INTEGER)) & id2 : POW(INTEGER * INTEGER) & id3 : POW(INTEGER * POW(POW(INTEGER * INTEGER))) & id4 : POW(INTEGER * POW(INTEGER * (POW(INTEGER * BOOL * STRING) * POW(INTEGER * INTEGER)))) & id5 : POW(INTEGER * BOOL * STRING) * POW(INTEGER * INTEGER) & id6 : POW(POW(INTEGER * BOOL * STRING) * POW(INTEGER * INTEGER) * POW(INTEGER * INTEGER)) & id7 : BOOL * (BOOL * (POW(INTEGER * BOOL * STRING) * POW(INTEGER * INTEGER))) & id9 : INTEGER * POW(POW(INTEGER * POW(INTEGER * (BOOL * REAL))) * POW(INTEGER * POW(INTEGER * POW(INTEGER * POW(POW(INTEGER * (INTEGER * (INTEGER * (REAL * POW(POW(BOOL * (INTEGER * REAL))) * REAL))))))))) & (id3 : seq1(POW(POW(INTEGER * INTEGER))) & (MININT : dom(id4) & (id4 : INTEGER +-> POW(INTEGER * (POW(INTEGER * BOOL * STRING) * POW(INTEGER * INTEGER))) & (id4(MININT) : seq1(POW(INTEGER * BOOL * STRING) * POW(INTEGER * INTEGER)) & (id6 /= {} & id6 : FIN(id6) & card(id6) <= 1)))) & (((%fnc_x.(fnc_x : INTEGER|{fnc_x + 1}) ; {} <+ {}) +->> STRING) <| ({id0,LAMBDA_RESULT___|id0 : POW(INTEGER * BOOL * STRING) & LAMBDA_RESULT___ : POW(INTEGER * INTEGER) & (id1 <= 96.78377063569759 & (id2 : seq1(INTEGER) & LAMBDA_RESULT___ = tail(id2)))} |> {`__comp_result__`|`__comp_result__` : POW(INTEGER * INTEGER) & `__comp_result__` = []} - last(id3))) /= ({last(id4(MININT)),prj2([] |-> id5),prj1(MU(id6)),prj2(prj2(id7))} <+ {id8,LAMBDA_RESULT___|id8 : POW(INTEGER * BOOL * STRING) & LAMBDA_RESULT___ : POW(INTEGER * INTEGER) & (prj1(id9) >= FDIV(id10,MAXINT) & ((pred /<<: succ => 76 : 0 .. size([])) & (not(pred /<<: succ) => id11 : seq1(POW(INTEGER * INTEGER))) & LAMBDA_RESULT___ = (IF pred /<<: succ THEN [] \\|/ 76 ELSE last(id11) END)))}))',
7145 %'-evalt', ':cdclt-double-check id0 : POW(INTEGER * REAL) & id1 : POW(INTEGER * (POW(REAL * REAL) * REAL)) & (union({RANGE_LAMBDA__|RANGE_LAMBDA__ : POW(STRING) & RANGE_LAMBDA__ = {}}) : FIN(union({RANGE_LAMBDA__|RANGE_LAMBDA__ : POW(STRING) & RANGE_LAMBDA__ = {}})) => id0 /= {} & id0 : FIN(id0) & card(id0) <= 1 & (id1 : seq1(POW(REAL * REAL) * REAL) & {id2,id3,id4|id2 : INTEGER & id3 : REAL & id4 : BOOL & bfalse} : FIN({id2,id3,id4|id2 : INTEGER & id3 : REAL & id4 : BOOL & bfalse})) & prj2(MU(id0)) + prj2(first(id1)) <= SIGMA(id2,id3,id4).(id2 : INTEGER & id3 : REAL & id4 : BOOL & bfalse|{id5,id6|id5 : INTEGER & id6 : REAL & bfalse}(MININT ** MAXINT)))',
7146 %'-evalt', ':cdclt-double-check id10 : INTEGER & id11 : POW(INTEGER * POW(INTEGER)) & id12 : POW(BOOL * BOOL * (POW(INTEGER * POW(INTEGER * (POW(INTEGER * INTEGER) * INTEGER))) * BOOL)) & id13 : POW(POW(INTEGER * POW(REAL))) * REAL & id14 : POW(INTEGER * INTEGER) * POW(POW(INTEGER * (INTEGER * POW(INTEGER * BOOL)))) & id3 : POW(INTEGER * (BOOL * BOOL)) * POW(POW(INTEGER * POW(INTEGER * POW(INTEGER * (POW(INTEGER * REAL) * REAL))))) & id5 : POW(POW(POW(INTEGER * POW(INTEGER * POW(INTEGER * POW(POW(REAL))))) * REAL)) & id9 : INTEGER & closure({LAMBDA_RESULT___|LAMBDA_RESULT___ : BOOL * BOOL & (id5 /= {} & id5 : FIN(id5) & card(id5) <= 1 & {} /<<: MU(id5) & (prj1(id3) : seq1(BOOL * BOOL) & LAMBDA_RESULT___ = first(prj1(id3))))}) /= {LAMBDA_RESULT___|LAMBDA_RESULT___ : BOOL * BOOL & ((prj1(id13) : FIN(prj1(id13)) => succ |>> {} <<: prj1(id14)) & (id9 - id10 : first(id11) & (id12 /= {} & id12 : FIN(id12) & card(id12) <= 1) & LAMBDA_RESULT___ = (IF id11 : seq1(POW(INTEGER)) & id9 - id10 : first(id11) THEN prj1(MU(id12)) ELSE MU({}) END)))}',
7147 %'-evalt', ':cdclt-double-check id0 : INTEGER & id1 : POW(INTEGER * BOOL) & id2 : INTEGER * BOOL & id3 : POW(INTEGER * INTEGER) & (NATURAL /= {} & NATURAL : FIN(NATURAL) & card(NATURAL) <= 1 & (id0 + MAXINT >= 0 & (id1 : seq(BOOL) & (MAXINT : dom(id3) & (id3 : INTEGER +-> INTEGER & id3(MAXINT) /= 0)))) & - (MU(NATURAL) ** (id0 + MAXINT)) <= size(rev(id1)) - FDIV(prj1(id2),id3(MAXINT)) => {`__comp_result__`|`__comp_result__` : INTEGER & `__comp_result__` = 78 / MININT} /= {} & {`__comp_result__`|`__comp_result__` : INTEGER & `__comp_result__` = 78 / MININT} : FIN({`__comp_result__`|`__comp_result__` : INTEGER & `__comp_result__` = 78 / MININT}) & (prj2(37.40741472684934 |-> INTEGER) /= {} & prj2(37.40741472684934 |-> INTEGER) : FIN(prj2(37.40741472684934 |-> INTEGER)) & card(prj2(37.40741472684934 |-> INTEGER)) <= 1) & min({`__comp_result__`|`__comp_result__` : INTEGER & `__comp_result__` = 78 / MININT}) >= MU(prj2(37.40741472684934 |-> INTEGER)))'
7148 %'-evalt', ':cdclt-double-check {id0,id1,id2,id3|id0 : INTEGER & id1 : REAL * BOOL & id2 : BOOL & id3 : POW(STRING) & (MININT >= 0 & id4 < 70.20556312165694)} : FIN({id0,id1,id2,id3|id0 : INTEGER & id1 : REAL * BOOL & id2 : BOOL & id3 : POW(STRING) & (MININT >= 0 & id4 < 70.20556312165694)}) & - id6 /= 0 & PI(id0,id1,id2,id3).(id0 : INTEGER & id1 : REAL * BOOL & id2 : BOOL & id3 : POW(STRING) & (MININT >= 0 & id4 < 70.20556312165694)|MININT ** MININT) < prj2((INTEGER<->STRING),INTEGER)(id5) / - id6',
7149 %'-evalt', ':cdclt-double-check - id1 /= 0 & {id2,id3,id4,id5|id2 : INTEGER & id3 : POW(INTEGER * POW(BOOL)) * BOOL & id4 : POW(INTEGER * POW(INTEGER * (POW(POW(INTEGER * REAL)) * REAL))) * POW(INTEGER) & id5 : BOOL & (MININT > 0 & id2 >= 0 & 46.49107043099957 : {})} : FIN({id2,id3,id4,id5|id2 : INTEGER & id3 : POW(INTEGER * POW(BOOL)) * BOOL & id4 : POW(INTEGER * POW(INTEGER * (POW(POW(INTEGER * REAL)) * REAL))) * POW(INTEGER) & id5 : BOOL & (MININT > 0 & id2 >= 0 & 46.49107043099957 : {})}) & prj1(INTEGER,REAL)(id0) / - id1 /= SIGMA(id2,id3,id4,id5).(id2 : INTEGER & id3 : POW(INTEGER * POW(BOOL)) * BOOL & id4 : POW(INTEGER * POW(INTEGER * (POW(POW(INTEGER * REAL)) * REAL))) * POW(INTEGER) & id5 : BOOL & (MININT > 0 & id2 >= 0 & 46.49107043099957 : {})|id2 mod MININT)',
7150 %'-evalt', ':cdclt-double-check {id0|id0 : INTEGER & MININT > 0} : FIN({id0|id0 : INTEGER & MININT > 0}) & prj2(STRING,INTEGER)(id1) /= 0 & PI(id0).(id0 : INTEGER & MININT > 0|66 mod MININT) < - id0 / prj2(STRING,INTEGER)(id1)',
7151 %'-evalt', ':cdclt-double-check prj1(INTEGER,INTEGER)(id1) > 0 & (first(id0) >= 0 & (id0 : seq1(INTEGER) & {id2,id3|id2 : POW(INTEGER * REAL) & id3 : REAL & (MININT > 0 & MININT >= 0 & id4 /: INT)} : FIN({id2,id3|id2 : POW(INTEGER * REAL) & id3 : REAL & (MININT > 0 & MININT >= 0 & id4 /: INT)}))) & first(id0) mod prj1(INTEGER,INTEGER)(id1) >= PI(id2,id3).(id2 : POW(INTEGER * REAL) & id3 : REAL & (MININT > 0 & MININT >= 0 & id4 /: INT)|MININT mod MININT)',
7152 %'-evalt', ':cdclt-double-check not(conc([[FALSE,TRUE]]) : seq(BOOL) & aecwp : seq(BOOL) & [[FALSE,TRUE]] : seq(seq(BOOL)) & conc([[FALSE,TRUE]]) ^ aecwp = [FALSE,TRUE])',
7153 %'-evalt', ':cdclt-double-check not([FALSE,TRUE] : seq(BOOL) & [FALSE,TRUE] ^ aecwp = [FALSE,TRUE])'
7154 ], 'Some arbitrary constraints that should be solved by CDCL(T).').
7155 cli_testcase(2106, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7156 '-evalt', 'pubkey = 1000000993* 1000001011 & x>999000000 & y>x & x mod 2 = 1 & y mod 2 = 1 & pubkey = x*y', % from Z3 tutorial
7157 '-evalt', 'pubkey = 1000000993* 1000001001 & x>1000000720 & y>x & pubkey = x*y', % very fast with CLP(FD), z3 already 2.6 secs
7158 '-evalt', 'h*3600 + m*60 + s = tot & m:0..60 & s:0..60 & h2*3600 + m2*60 + s2 = tot & m2:0..60 & s2:0..60 & tot:1..10000 & (h,m,s) /= (h2,m2,s2)' % from article Functional synthesis for linear arithmetic and sets
7159 ], 'Constraints involving large numbers').
7160 cli_testcase(2107,[b_test,tickets],[
7161 '../prob_examples/public_examples/B/Tickets/VirtualTimeoutConstants.mch',
7162 '-model-check', '-pref_group', 'model_check', 'unlimited', '-expcterr', 'model_check_incomplete',
7163 '-expcterr', 'virtual_time_out'], 'Test virtual time out detected for disable_timeout').
7164 cli_testcase(2108,[b_test,tickets],[
7165 '../prob_examples/public_examples/B/Tickets/VirtualTimeoutConstants.mch',
7166 '-model-check', '-pref_group', 'model_check', 'disable_max', '-expcterr', 'model_check_incomplete',
7167 '-expcterr', 'virtual_time_out'], 'Test virtual time out detected also with time_out').
7168 cli_testcase(2109, [tickets], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7169 '-evalt', 'ff = [1,2,3,4,5,6,7,8,9,10,11] & x:0..1 & b=TRUE <=> dom(ff) <: 1..10**x',
7170 '-evalt', 'ff = [1,2,3,4,5,6,7,8,9,10,11] & x:0..1 & b=TRUE <=> ff: 1..10**x --> INTEGER',
7171 '-evalt', 'ff = [1,2,3,4,5,6,7,8,9,10,11] & {x,b|x:0..1 & b=TRUE <=> ff: 1..10**x --> INTEGER} = {(0|->FALSE),(1|->FALSE)}',
7172 '-evalt', 'ff = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] & {x,b|x:0..5 & b=TRUE <=> ff: 1..2**x --> INTEGER} = res & 4|->TRUE : res'
7173 ], 'Check reification of subset/total function works (and does not instantiate/commit)').
7174 cli_testcase(2110, [tickets], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7175 '../prob_examples/public_examples/B/PerformanceTests/LargeSets/SeqCheck.mch',
7176 '-mc', 100, '-cc', 10, 136], 'Check state space for test 31').
7177 cli_testcase(2111, [tickets], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7178 '-p', 'SMT', 'TRUE',
7179 '-evalf', 'x:INTEGER & x<y & y<x',
7180 '-evalf', 'x:INTEGER & x<y & y<=x',
7181 '-evalf', 'x:INTEGER & x<=y & y<x',
7182 '-evalt', 'x:INT & x<=y & y<=x',
7183 '-evalf', 'x:POW(INTEGER) & x<<:y & y<<:x',
7184 '-evalf', 'x:POW(INTEGER) & x<<:y & y<:x',
7185 '-evalf', 'x:POW(INTEGER) & x<:y & y<<:x',
7186 '-evalt', 'x:POW(INT) & x<:y & y<:x'
7187 ], 'Check inconsistency detection when registering predicates (without CHR)').
7188 cli_testcase(2112, [b_test,cache], [
7189 '../prob_examples/public_examples/B/PerformanceTests/Cache/PrimeNumbers.mch',
7190 '../prob_examples/public_examples/B/PerformanceTests/Cache/PrimeNumbersSum.mch',
7191 '-p', 'CACHE_OPERATIONS', 'FALSE',
7192 '-mc', '10000', '-nodead',
7193 '-show_cache', % test this feature
7194 '-cache', '../prob_examples/public_examples/cache/'], 'Check that -cache option works with new preference and with subsidiary machine with multiple constant solutions.').
7195 cli_testcase(2113, [cbc], [
7196 '-evalt', 'y:NATURAL & (y<400 => #x.(y:10..x & x:1..100)) ',
7197 '-evalt', 'y:NATURAL & (not(y<400) or #x.(y:10..x & x:1..100)) '
7198 ], 'Test enumeration of implication when RHS not reified').
7199 cli_testcase(2114, [tickets, wd], [
7200 '-p', 'TRY_FIND_ABORT', 'TRUE',
7201 '-evalnwd', '{}(x) : {}(x) .. 5 & x:1..100 ',
7202 '-expcterr', 'well_definedness_error'
7203 ], 'Test we do not add unbounded FD variable for enumeration').
7204 cli_testcase(2115, [ltl,safety], ['../prob_examples/public_examples/B/LTL/Tests/LargeSCC.mch', '-ltllimit', '50', '-ltlformulaf', 'G({xx<10})', '-strict'
7205 %'-p', 'use_safety_ltl_model_checker', false,
7206 ], 'check that safety model check works even without ltl2ba for simple G {...} formula').
7207 cli_testcase(2116, [infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7208 '-evalt', '{x|x>100} /= {x|x mod 2 =0 & x>0}',
7209 '-evalf', ' /*@symbolic*/ {x|x:1..2**20 & x mod 3 =1} /= {x|x:1..2**20 & x mod 3 =1}',
7210 '-evalf', ' /*@symbolic*/ {x|x:1..2**25 & x mod 3 =1} /= {x|x:1..2**25 & x mod 3 =1}'
7211 ], 'Test we do not expand second arg to not equal when first is closure'). % useful with DOUBLE_EVALUATION in Evaluation View
7212 cli_testcase(2117, [smt_solver_integration], [
7213 '-evalt', ':z3-double-check a=prj1(INTEGER,INTEGER)((1,2))',
7214 '-evalt', ':z3-double-check 1=prj1(INTEGER,INTEGER)((1,2))',
7215 '-evalf', ':z3-double-check 2=prj1(INTEGER,INTEGER)((1,2))',
7216 '-evalt', ':z3-double-check a=prj2(INTEGER,INTEGER)((1,2))',
7217 '-evalt', ':z3-double-check 2=prj2(INTEGER,INTEGER)((1,2))',
7218 '-evalf', ':z3-double-check 1=prj2(INTEGER,INTEGER)((1,2))',
7219 '-evalt', ':z3-double-check a = (1..3)*(1..3) & b : a & c = prj1(INTEGER,INTEGER)(b)',
7220 '-evalt', ':z3-double-check a = (1..3)*POW(1..3) & b : a & c = prj1(INTEGER,POW(INTEGER))(b)',
7221 '-evalt', ':z3-double-check a = (1..3)*POW1(1..3) & b : a & c = prj1(INTEGER,POW(INTEGER))(b)'
7222 ], 'check couple projection functions for z3').
7223 cli_testcase(2118, [smt_solver_integration], [
7224 '-evalt', ':z3-double-check a={1}<<|{(1,2),(2,3)}',
7225 '-evalf', ':z3-double-check {}={4}<<|{(1,2),(2,3)}',
7226 '-evalt', ':z3-double-check {(2,3)}={1}<<|{(1,2),(2,3)}',
7227 '-evalt', ':z3-double-check a={1}<|{(1,2),(2,3)}',
7228 '-evalt', ':z3-double-check {}={3}<|{(1,2),(2,3)}',
7229 '-evalf', ':z3-double-check {}={1}<|{(1,2),(2,3)}',
7230 '-evalt', ':z3-double-check a={(1,2),(2,3)}|>{1}',
7231 '-evalf', ':z3-double-check {(1,2),(2,3)}={(1,2),(2,3)}|>{1}',
7232 '-evalt', ':z3-double-check a={(1,2),(2,3)}|>{3}',
7233 '-evalt', ':z3-double-check a={(1,2),(2,3)}|>>{3}',
7234 '-evalt', ':z3-double-check a={(1,2),(2,3)}|>>{1}',
7235 '-evalf', ':z3-double-check {}={(1,2),(2,3)}|>>{1}'
7236 ], 'check domain and range subtraction and restriction for z3').
7237 cli_testcase(2119, [smt_solver_integration,private], [
7238 '../prob_examples/examples/B/Other/BMaude/Mutex3.mch', '-init',
7239 '-evalt', ':z3-double-check a = pc <+ {2 |-> wait}',
7240 '-evalf', ':z3-double-check pc(1) = noncrit & pc(2) = noncrit & (pc(2) = noncrit & pc1 = pc <+ {2 |-> wait} & y1 = y & n1 = n) & not(pc1(1) = noncrit)'
7241 ], 'check z3 model translation for couple of enumerated set type and capitalised enumerated set').
7242 cli_testcase(2120, [smt_solver_integration], [
7243 '../prob_examples/public_examples/EventBPrologPackages/Abrial_Train_Ch17/Train_1_beebook_tlc.mch', '-init',
7244 '-evalt', ':z3-double-check nxt = {(R1|->{(A|->B),(B|->C),(L|->A)}),(R2|->{(A|->B),(B|->D),(D|->E),(E|->F),(F|->G),(L|->A)}),(R3|->{(A|->B),(B|->D),(D|->K),(J|->N),(K|->J),(L|->A)}),(R4|->{(F|->G),(H|->I),(I|->K),(K|->F),(M|->H)}),(R5|->{(H|->I),(I|->J),(J|->N),(M|->H)}),(R6|->{(A|->L),(B|->A),(C|->B)}),(R7|->{(A|->L),(B|->A),(D|->B),(E|->D),(F|->E),(G|->F)}),(R8|->{(A|->L),(B|->A),(D|->B),(J|->K),(K|->D),(N|->J)}),(R9|->{(F|->K),(G|->F),(H|->M),(I|->H),(K|->I)}),(R10|->{(H|->M),(I|->H),(J|->I),(N|->J)})}'
7245 ], 'check z3 model translation for nested couples').
7246 cli_testcase(2121, [smt_solver_integration], [
7247 '-evalt', ':z3-double-check x:INTEGER & y:INTEGER & (y /= 0 => ( -x/y = -(x/y) & x/-y = -(x/y) & (x>=0 & y>0 => (x mod y = x - y * ( x / y )))))',
7248 '-evalt', ':z3-double-check x:INTEGER & y:INTEGER & (y /= 0 => ( -x/y = -(x/y) & x/-y = -(x/y) & (x>=0 & y>0 => (x mod y = x - y * ( x / y ))))) & x/= 1',
7249 '-evalt', ':z3-double-check x:INTEGER & y:INTEGER & (y /= 0 => ( -x/y = -(x/y) & x/-y = -(x/y) & (x>=0 & y>0 => (x mod y = x - y * ( x / y ))))) & x/= 1 & x /=-1',
7250 '-evalt', ':z3-double-check x:INTEGER & y:INTEGER & (y /= 0 => ( -x/y = -(x/y) & x/-y = -(x/y) & (x>=0 & y>0 => (x mod y = x - y * ( x / y ))))) & x/= 1 & x /=-1 & y /= 0',
7251 '-evalt', ':z3 x:-3..3 & y:-3..3 & not( -x/y = -(x/y) )',
7252 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & y/=0 & not( -x/y = -(x/y) )',
7253 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not (x>y or x<=y)',
7254 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not ( (x<=y <=> min({x,y}) = x) )',
7255 '-evalt', ':z3-double-check a={x|x:-10..10 & (x/2 = 4 or x/2 = -4)}',
7256 '-evalt', ':z3-double-check a={x|x:-10..10 & x/2 = 4}',
7257 '-evalt', ':z3-double-check a={x|x:0..10 & (x mod 2 = 0 or x mod 2 = 0)}',
7258 '-evalt', ':z3-double-check a={x|x:1..10 & x < 5 & x mod 2 = 0}',
7259 '-evalt', ':z3-double-check a={x|x:1..10 & x < 5 & x mod 2 = 1}',
7260 '-evalt', ':z3-double-check a={x|x:1..10 & x mod 2 = 0}',
7261 '-evalt', ':z3-double-check a={x|x:1..10 & x mod 2 = 1}',
7262 '-evalt', ':z3-double-check a={x|x:1..100 & x mod 2 = 0}',
7263 '-evalt', ':z3-double-check a={x|x:1..100 & x mod 3 = 1}'
7264 ], 'check integer division in z3').
7265 cli_testcase(2122, [smt_solver_integration], [
7266 '-p', 'TIME_OUT', '30000',
7267 '-force_no_silent', % to debug Z3 crashes/infinite loops
7268 '-eval', ':z3-version',
7269 '-evalf', ':z3-double-check not({1} = dom({(1,2)}))', %% this was a bug in z3 version 4.8.10 and earlier when using pull_nested_quantifiers
7270 '-evalt', ':z3-double-check {1} = dom({(1,2)})', %% with lambda expressions that use an existential quantifier at the top-level
7271 '-evalf', ':z3-double-check not({2} = ran({(1,2)}))', %% (note that we don't use pull_nested_quantifiers anymore; slow for large constraints)
7272 '-evalt', ':z3-double-check {2} = ran({(1,2)})', %%
7273 '-evalf', ':z3-double-check not({1,2,3,4} = dom({(1,2),(2,2),(3,3),(4,4)}))',
7274 '-evalt', ':z3-double-check {1,2,3,4} = dom({(1,2),(2,2),(3,3),(4,4)})',
7275 '-evalt', ':z3-double-check not({1,2} = dom({(1,2),(2,2),(3,3),(4,4)}))',
7276 '-evalf', ':z3-double-check not({2,3,4} = ran({(1,2),(2,2),(3,3),(4,4)}))',
7277 '-evalt', ':z3-double-check {2,3,4} = ran({(1,2),(2,2),(3,3),(4,4)})',
7278 '-evalt', ':z3-double-check not({2,3} = ran({(1,2),(2,2),(3,3),(4,4)}))',
7279 %'-evalf', ':z3-double-check hh:1..3<->1..3 & not (iterate(hh,1)=(hh))', % unsupported: wait for Z3 to support lambda inside recursive functions again
7280 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x*y = y*x)',
7281 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not(x*(y+z) = x*y + x*z)',
7282 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x+y = y+x)',
7283 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x*1 = x)',
7284 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(1*x = x)',
7285 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x*0 = 0)',
7286 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(0*x = 0)',
7287 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not((x+y)+z = x + (y+z))',
7288 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not((x*y)*z = x*(y*z))',
7289 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(2*x = x+x)',
7290 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x**2 = x*x)',
7291 '-evalt', ':z3-double-check x:-3..3 & y:-3..3 & (x>=0 => 1**x = 1)',
7292 '-evalt', ':z3-double-check x:-3..3 & y:-3..3 & (x>=0 => (((x / 2)*2 = x) <=> (x mod 2 = 0)))',
7293 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x>y or x<=y)',
7294 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x>y or x=y or x<y)',
7295 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x>=y or x<y)',
7296 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x>=y or x<=y)',
7297 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & (x>y & x<=y)',
7298 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & (x<y & y<x)',
7299 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x-x = 0 )',
7300 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x=y <=> x-y = 0)',
7301 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x>y <=> x >= y+1)',
7302 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x<y <=> x <= y-1)',
7303 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not((x<y or y<x) <=> x/=y)',
7304 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not((x<y & y<=z) => x<z)',
7305 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not((x<y & y<z) => x<z)',
7306 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not((x<=y & y<z) => x<z)',
7307 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not((x<=y & y<=z) => x<=z)',
7308 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not((x<=y & y<=x) => x=y)',
7309 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x=y <=> y=x)',
7310 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x/=y <=> y/=x)',
7311 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x<y <=> y>x)',
7312 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x>y <=> y<x)',
7313 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x<=y <=> y>=x)',
7314 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x>=y <=> y<=x)',
7315 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(not(x<y) <=> x>=y)',
7316 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(not(x<=y) <=> x>y)',
7317 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not((x=y or x=z) => (y=x or z=x))',
7318 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not((x=y or x=z) <=> (y=x or z=x))',
7319 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not((x=y <=> x=z) => (y=z or x/=y))',
7320 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not ( (x-y-x+y = 0) )',
7321 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not ( x*x >= 0 )',
7322 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not ( (x*x = 0 <=> x=0) )',
7323 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not ( x*x = -x * -x )',
7324 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not (x<=y <=> min({x,y}) = x)',
7325 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not (x<=y <=> max({x,y}) = y)',
7326 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not (x<y <=> max({x,y}) /= x)',
7327 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not (x<y <=> min({x,y}) /= y)',
7328 '-evalt', ':z3-double-check x:-3..3 & y:-3..3 & (x>=0 & y>0 => ((x/y) * y = x - x mod y))',
7329 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(succ(x) = x+1)',
7330 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(pred(x) = x-1)',
7331 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x < succ(x))',
7332 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x > pred(x))',
7333 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(pred(succ(x)) = x)',
7334 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x+succ(y) = succ(x+y))',
7335 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x*succ(y) = x+x*y)',
7336 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not (x**1 = x)',
7337 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(#x.(x:INTEGER & {x} \\/ {1,2} = {1,2} ) )',
7338 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not( min({x}) = x )',
7339 '-evalt', ':z3-double-check x:-3..3 & y:-3..3 & (x <= y => min({x,y}) = x )',
7340 '-evalt', ':z3-double-check x:-3..3 & y:-3..3 & (y <= x => min({x,y}) = y )',
7341 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not( x:y..z <=> (y<=x & x<=z))',
7342 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not( x:y..z <=> (y<=x & x<=z & y<=z))',
7343 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & y /= 0 & not ( -x/y = -(x/y) )',
7344 '-evalf', ':z3-double-check (2=3 & 1=1 <=> 4=5 & 2=2)',
7345 '-evalf', ':z3-double-check SS : POW(-1..3) & not (SS = {z|z:INTEGER & #x.(x:SS & z=x*1)})', % Unknown with Z3 4.11.2 but can be solved with 4.12.0
7346 '-evalf', ':z3-double-check SS : POW(-1..3) & VV : POW(-1..3) & not ( SS <<: VV or SS /<<: VV )',
7347 '-evalf', ':z3-double-check SS : POW(-1..3) & VV : POW(-1..3) & not ( (VV <<: SS & SS <: TT) => (VV <<: TT))',
7348 '-evalt', ':z3-double-check #t1.(t1:INTEGER & (#t2.(!(t8,rr).(t8 |-> rr : t2 => t1 >= t8 ) & ran(t2) = {1,3} )))',
7349 '-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & a={a,b,c,d|a|->b : ff & c|->d : gg} & ff/={} & gg/={}',
7350 '-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & dom((ff ; (gg~))) <: dom(ff)',
7351 '-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & dom((ff ; (gg~))) <: dom(ff) & ff /= {}',
7352 '-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & dom((ff ; (gg~))) <: dom(ff) & ff /= {} & gg /= {}',
7353 '-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & a = ff><gg',
7354 '-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & a = ff><gg & ff /= {}',
7355 '-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & a = ff><gg & ff /= {} & gg /= {}',
7356 %'-evalf', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & not(dom(ff><gg) = dom(ff)/\\dom(gg))', % Unknown with Z3 4.11.2 but can be solved with 4.12.0
7357 '-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & a=(ff||gg)',
7358 '-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & a=(ff||gg) & ff/={}',
7359 '-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & a=(ff||gg) & ff/={} & gg/={}',
7360 %'-evalt', ':z3 {x|x>2 & x / 22 > 10} = x & (x={} <=> B=TRUE)', % double check with ProB not possible due to enumeration warnings; enumeration warning when translating SMT-LIB model to B
7361 %'-evalf', ':z3-double-check x<:BOOL & x <: y & not(POW(x) <: POW(y))', % Time-out or loop since Z3 5.3.1 on Linux
7362 %'-evalt', ':z3-double-check x<:BOOL & x <: y & not(POW(x) <<: POW(y))', % unknown since Z3 4.12.2
7363 %'-evalf', ':z3-double-check x<:BOOL & x <<: y & not(POW(x) <<: POW(y))', % Z3 answers unknown
7364 %'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not(z>=0 => (x*y)**z = x**z * y**z)', % Z3 answers unknown
7365 %'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not(y>=0 & z>=0 => (x**(y+z) = x**y * x**z))', % Z3 answers unknown
7366 %'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not(y>=0 & z>=0 => (x**(y*z) = (x**y)**z))', % Z3 answers unknown
7367 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(#x.(x:INTEGER & {x} \\/ {1,2} = {1,2} ) )',
7368 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not( min({x}) = x )',
7369 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x <= y => min({x,y}) = x )',
7370 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(y <= x => min({x,y}) = y )',
7371 %'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not( min({x}\\/{y,z}) = min({min({x}), min({y,z})}) )', % Z3 answers unknown
7372 %'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not( min({y,z} \\/ {x}) = min({min({y,z}),x}) )', % Z3 answers unknown
7373 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not( x:y..z <=> (y<=x & x<=z))',
7374 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not( x:y..z <=> (y<=x & x<=z & y<=z))',
7375 '-evalf', ':z3-double-check x:-3..3 & y:-3..3 & y /= 0 & not ( -x/y = -(x/y) )',
7376 '-evalf', ':z3-double-check (2=3 & 1=1 <=> 4=5 & 2=2)',
7377 '-evalf', ':z3-double-check S : {{},{0}} & not (S = ran(%x.(x:S|x*1)))',
7378 '-evalf', ':z3-double-check S : POW(-1..3) & not (S = ran(%x.(x:S|x*1)))',
7379 '-evalf', ':z3-double-check S : POW(-1..3) & not (S = {z|z:INTEGER & #x.(x:S & z=x*1)})',
7380 '-evalf', ':z3-double-check S : POW(-1..3) & VV : POW(-1..3) & not ( S <<: VV or S /<<: VV )',
7381 '-evalf', ':z3-double-check S : POW(-1..3) & VV : POW(-1..3) & not ( (VV <<: S & S <: TT) => (VV <<: TT))',
7382 '-evalf', ':z3-double-check S : POW(-1..3) & VV : POW(-1..3) & not (S /\\ VV = {} <=> S <: (-1..3) - VV)',
7383 %'-evalf', ':z3-double-check S : POW(-1..3) & VV : POW(-1..3) & not((S=VV & S /= {}) => (max(S) = max(VV) & min(S)=min(VV)))', % unknown
7384 %'-evalf', ':z3-double-check S : POW(-1..3) & VV : POW(-1..3) & not((S <: VV & S/= {}) => (max(S) <= max(VV) & min(S) >= min(VV)))', % sometimes unknown
7385 '-evalf', ':z3-double-check a<:1..3 & b<:1..3 & not( a<:b <=> POW(a) <: POW(b) )',
7386 %'-evalf', ':z3-double-check a<:1..3 & b<:1..3 & not( a<<:b <=> POW(a) <<: POW(b))', % Z3 answers unknown
7387 %'-evalf', ':z3-double-check a<:1..3 & b<:1..3 & not( POW(a) /<: POW1(b) & FIN(a) /<: FIN1(b))', % Z3 answers unknown
7388 '-evalf', ':z3-double-check a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( (a={} or b={}) => (a*b)={} & (a*b) <: (c*d) )',
7389 '-evalf', ':z3-double-check a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( ( (a={} or b={} & f : a <-> b) => f: c <-> d ))',
7390 '-evalf', ':z3-double-check a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( ( (a={} or b={} & f : a +-> b) => f: c +-> d ))',
7391 '-evalf', ':z3-double-check a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( ( (a={} or b={} & f : a >+> b) => f: c >+> d ))',
7392 '-evalf', ':z3-double-check a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( ( a <: c & b<:d => (a*b) <: c*d))',
7393 '-evalf', ':z3-double-check a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( a <: c & b<:d & f : a <-> b => f: c <-> d )',
7394 '-evalf', ':z3-double-check a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( a <: c & b<:d & f : a +-> b => f: c +-> d )',
7395 '-evalf', ':z3-double-check a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( a <: c & b<:d & f : a >+> b => f: c >+> d )',
7396 '-evalf', ':z3-double-check a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( b<:d & f : a --> b => f: a --> d )',
7397 '-evalf', ':z3-double-check a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( b<:d & f : a >-> b => f: a >-> d )',
7398 '-evalf', ':z3-double-check a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( a<:c & f : a +->> b => f: c +->> b )',
7399 '-evalf', ':z3-double-check s1:STRING & s2:STRING & not((s1=s2 <=> s2=s1))',
7400 '-evalf', ':z3-double-check s1:STRING & s2:STRING & not( s1=s2 or s1 /= s2 )',
7401 '-evalf', ':z3-double-check s1:STRING & s2:STRING & not( s1=s2 & s2=s3 => s1 = s3 )',
7402 '-evalf', ':z3-double-check s1:STRING & s2:STRING & not( s1=s2 & s2/=s3 => s1 /= s3 )',
7403 %'-evalf', ':z3-double-check s1:STRING & s2:STRING & not(s1=s2 <=> card({s1,s2}) = 1)', % Z3 answers unknown
7404 '-evalf', ':z3-double-check s1:STRING & s2:STRING & not( s1=s2 <=> {s1,s2} = {s1} )',
7405 '-evalf', ':z3-double-check s1:STRING & s2:STRING & not({s1,s2,s3} = {s3} \\/ {s2} \\/ {s1} )',
7406 '-evalf', ':z3-double-check s1:STRING & s2:STRING & not({x| x=s1 or x=s2} = {s2,s1} )',
7407 %'-evalf', ':z3-double-check s1:STRING & s2:STRING & not( s1 : dom( { s2 |-> s2, s3|->s3, s1 |->s1} ) )', % this seems to hang with Z3 5.3.1
7408 '-evalf', ':z3-double-check s1:STRING & s2:STRING & not((s1/=s2 => s1 /: dom( { s2 |-> s2} ) ) )',
7409 '-evalf', ':z3-double-check s1:STRING & s2:STRING & not( s1 /: {s1,s2,s3} - {s2,s1} )',
7410 '-evalf', ':z3-double-check S={"a","b"} & s1:S & s2:S & s3:S & not(card({s1,s2,s3} - {s2,s1}) < 2)',
7411 '-evalf', ':z3-double-check s1:STRING & s2:STRING & not( s1:STRING <=> 1=1 )',
7412 '-evalf', ':z3-double-check s1:STRING & s2:STRING & not( s1/:STRING <=> 1=2 )',
7413 '-evalf', ':z3-double-check s1:STRING & s2:STRING & not( s1=s2 <=> {s1} \\/ {s2} = {s1})',
7414 '-evalf', ':z3-double-check s1:STRING & s2:STRING & not( {s1,s2} \\/ {s3} = {s1,s2,s3})',
7415 '-evalf', ':z3-double-check s1:STRING & s2:STRING & not( {s2} \\/ {s1,s2,s3} = {s1,s2,s3} )',
7416 '-evalf', ':z3-double-check S={"a","b"} & s1:S & s2:S & s3:S & not( s1 /= s3 => ({s1,s2} /\\ {s3,s2} = {s2}))',
7417 '-evalf', ':z3-double-check S={"a","b"} & s1:S & s2:S & s3:S & not( #x.(x:STRING & {x} \\/ {s1,s2} = {s1,s2} & x:{s1,s2,s3}))',
7418 '-evalf', ':z3-double-check S={"a","b"} & s1:S & s2:S & s3:S & not( #x.(x:STRING & {x} \\/ {s1,s2} = {s1,s2} ) )',
7419 '-evalf', ':z3-double-check SS<:POW(BOOL) & not( SS \\/ (TT /\\ VV) = (SS \\/ TT) /\\ (SS \\/ VV))',
7420 '-evalf', ':z3-double-check x<:BOOL & not(POW(x) = POW1(x) \\/ {{}})', % z3-cns can solve this, z3-axm takes very long/hangs
7421 %'-evalt', ':z3-double-check x/={{1,19}} & x/={{1,7},{2,-1},{2,-3}} & x/={} & x/={{}} & x/={{0,1},{0,-9},{0,-1}} & x/={{4,2},{2,-1},{3,-4},{5,10},{9,-3},{3,7}}', % model translation became unknown with Z3 version 4.12.3
7422 '-evalf', ':z3-double-check rx:BOOL <-> BOOL & not(( id(BOOL) ; rx) = rx)',
7423 '-evalt', ':z3-double-check a : STRING +-> STRING',
7424 '-evalt', ':z3-double-check a : STRING +-> STRING & a /= {}',
7425 '-evalt', ':z3-double-check a : STRING +-> STRING & a = {"a"|->"b"}',
7426 % z3 answers unknown for the following constraints
7427 %'-evalf', ':z3-double-check not(#t1.(t1:INTEGER & (#t2.(!(t8,rr).(t8 |-> rr : t2 => t1 >= t8 ) & ran(t2) = {1,3} ))))',
7428 %'-evalf', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & not (ff <<: gg => (card(ff) < card(gg)))',
7429 %'-evalf', ':z3-double-check SS : POW(-1..3) & VV : POW(-1..3) & not (SS <<: VV => (card(SS) < card(VV)))',
7430 %'-evalf', ':z3-double-check SS : POW(-1..3) & VV : POW(-1..3) & not (SS <: VV => (card(SS) <= card(VV)))'
7431 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
7432 ], 'check some laws for z3').
7433 cli_testcase(2123, [b_test], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7434 '../prob_examples/public_examples/B/Benchmarks/phonebook7.mch',
7435 % clash checks Code = {c1,c2,c3,c4}, db,active,activec={}
7436 '-evalf', 'dom(db) /= active', % z3 reports Unknwon !
7437 '-evalt', '#active.(dom(db) /= active)',
7438 '-evalt', '#db.(db /= active)',
7439 '-evalf', '#(c1,c2).(c1:Name & c2:Code & db={c1|->c2})',
7440 '-evalt', '#(c1,c2,db).(c1:Name & c2:Code & db={c2|->c1})',
7441 '-evalt', '#(c1,c2).(c1:Name & c2:Code & (c1:active <=> c2:activec))'
7442 ], 'check REPL deals well with clashes of quantified variables').
7443 cli_testcase(2124, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7444 '-evalt', 'card({x | x:{1,3} or x:{4,9}}) = 4',
7445 '-evalt', 'card({x | x:{1,3} or x:{3,9}}) = 3'
7446 ], 'check clpfd_reify_inlist works with enumeration').
7447 cli_testcase(2125, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7448 '-evalf', '#(x,y,z,v,xz).(x:BOOL & x/=y & v/=z & x=v & (x=z <=> xz=TRUE) & (xz=FALSE => x=TRUE) & (xz=FALSE => x=FALSE))',
7449 '-evalt', '#(x,y,z,v,xz).(x:BOOL & x/=y & v/=z & x=v & (x=z <=> xz=TRUE) & (xz=FALSE => x=TRUE) & (xz=TRUE => x=FALSE))',
7450 '-evalt', '{x,y|x=TRUE => y=TRUE} = {(FALSE,TRUE),(FALSE,FALSE),(TRUE,TRUE)}'
7451 ], 'check let detection for implication not applied').
7452 cli_testcase(2126, [cbc], [
7453 '-evalf', 'x>2 & x:3..10 & x mod 3 = 1 & x mod 3 = 2',
7454 '-evalt', 'x>2 & x:3..10 & x mod 3 = 1 & x mod 3 /= 2'
7455 ], 'check modulo propagation terminates').
7456 cli_testcase(2127, [csp_test,ltl], ['../prob_examples/public_examples/CSP/Tickets/WilliamsLTL/SimpleLTL.csp',
7457 '-ltlformulat', 'globally([a] implies finally(e(a)))',
7458 '-ltlformulat', 'not (globally finally e(a) implies GF [a]) implies finally [b]','-strict'],
7459 'Check LTL using new textual forms; variations of tests 541, 542. Requires parser 2.9.28').
7460 cli_testcase(2128, [b_test,external], ['../prob_examples/public_examples/B/ExternalFunctions/TestDoNotEnumerateAnalysis.mch',
7461 '../prob_examples/public_examples/B/ExternalFunctions/TestDoNotEnumerateAnalysis2.mch',
7462 '-t', '-assertions'], 'Test DO_NOT_ENUMERATE analysis; like test 1988 but automatic annotation.').
7463 cli_testcase(2129, [cbc,external], ['../prob_examples/public_examples/EventBPrologPackages/Abrial_Train_Ch17/Train_1_beebook_tlc.mch',
7464 '-evalt', 'tf : domain --> ROUTES & tf <: rtbl & OCC1 <: domain & tf[OCC1] = frm1 & A : OCC1 & A|->R5 /: tf',
7465 '-evalt', 'tf : domain --> ROUTES & tf <: rtbl & OCC1 <: domain & tf[OCC1] <: frm1 & A : OCC1 & A|->R5 /: tf', % delayed enumeration for frm1
7466 '-evalt', 'rsrtbl1 : resbl1 --> resrt1 & rsrtbl1 <: rtbl & OCC1 <: resbl1 & rsrtbl1[OCC1] = frm1 & LBT1 <: OCC1 & R5 /: resrt - ran(rsrtbl1) & (A : LBT1 & (OCC2 = OCC1 - {A} & rsrtbl2 = {A} <<| rsrtbl1)) & R5 /: resrt - ran(rsrtbl2)',
7467 '-evalt', 'rsrtbl1 : resbl1 --> resrt1 & rsrtbl1 <: rtbl & OCC1 <: resbl1 & rsrtbl1[OCC1] <: frm1 & LBT1 <: OCC1 & R5 /: resrt - ran(rsrtbl1) & (A : LBT1 & (OCC2 = OCC1 - {A} & rsrtbl2 = {A} <<| rsrtbl1)) & R5 /: resrt - ran(rsrtbl2)', % delayed enumeration for frm1
7468 '-evalt', 'not((rsrtbl1 : resbl1 --> resrt1 & rsrtbl1 <: rtbl & OCC1 <: resbl1 & rsrtbl1[OCC1] <: frm1 & LBT1 <: OCC1 & R5 /: resrt - ran(rsrtbl1) & (A : LBT1 & (OCC2 = OCC1 - {A} & rsrtbl2 = {A} <<| rsrtbl1))) => R5 : resrt - ran(rsrtbl2))' % with implication
7469 ], 'Test DO_NOT_ENUMERATE analysis; infer also delayed enumeration for certain variables.').
7470 cli_testcase(2130, [cbc,sigma], [
7471 '-evalt', 'SIGMA(x).(x=y+z|x)=3 & z<0 & z>-10',
7472 '-evalt', 'SIGMA(x).({x}<:{0,y}|x)=22', % normally rewritten to member by ast_cleanup
7473 '-evalf', 'PI(x).({x}<:{0,y}|x)=2',
7474 '-p', 'OPTIMIZE_AST', 'FALSE',
7475 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
7476 ], 'check detection of equality and subset in PI/SIGMA').
7477 cli_testcase(2131, [laws], [
7478 '-p', 'TIME_OUT', 7000,
7479 '-evalf', 'VV={1,3} & not(#(c,f).(c:0..3 & f:1..c >->> VV & 1<c))',
7480
7481 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ((dom(ff\\/gg) = dom(ff) \\/ dom(gg)) )',
7482 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( ran(ff\\/gg) = ran(ff) \\/ ran(gg) )',
7483 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( dom(ff/\\gg) <: dom(ff) /\\ dom(gg) )',
7484 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( ran(ff/\\gg) <: ran(ff) /\\ ran(gg) )',
7485 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( (ff \\/ gg)~ = ff~ \\/ gg~ )',
7486 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( dom((ff ; (gg~))) <: dom(ff) )',
7487 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (ff : setX --> setY <=> (ff: setX +-> setY & dom(ff) = setX))',
7488 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (ff <: ff \\/ gg & gg <: ff \\/ gg )',
7489 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (ff /\\ gg <: ff & ff /\\ gg <: gg)',
7490 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( {xx | xx: ff & xx:gg} = ff /\\ gg)',
7491 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( {xx | xx: ff & not(xx:gg)} = ff \\ gg)',
7492 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (!xx.(xx:ff & xx:gg => xx: ff /\\ gg))',
7493 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (!xx.(xx:ff & not(xx:gg) => (xx: ff \\ gg & xx /: gg)))',
7494 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (#xx.(xx:ff & xx/:gg) => not(ff \\/ gg = gg) & not(ff \\ gg = {}))',
7495 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( ff <<: gg or ff /<<: gg )',
7496 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( ff : POW(gg) or ff /: POW(gg) )',
7497 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( (ff <: gg & ff /<<: gg) => ff = gg)',
7498 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( (ff <<: gg ) => (ff /= gg & card(gg)>0))',
7499 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( ff <<: gg => #xx.(xx:gg & xx/:ff))',
7500 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( ff <: gg <=> !x.(x:ff => x:gg) )',
7501 '-evalf', 'ff:1..1<->BOOL & gg:1..2<->BOOL & not (ff <<: gg => (card(ff) < card(gg)))',
7502 %% '-evalf', 'ff:1..1<->BOOL & gg:1..2<->BOOL & not (card(ff \\/ gg) <= (card(ff) + card(gg)))', % TIME_OUT
7503 %% probably due to CLPFD propagation; this ff={} & gg:1..1<->BOOL & (card(ff \/ gg) > card(gg)) has issue as well
7504 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (ff /\\ gg = {} <=> ff <: ((1..3)*BOOL) - gg)',
7505 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( (ff<+gg) = (gg \\/ (dom(gg)<<|ff)) )',
7506 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( ff<+{} = ff & {}<+ff = ff & ff<+ff = ff)',
7507 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (ff~ = {yy,xx|xx:dom(ff)&yy:ran(ff)&({xx|->yy}<:ff)})',
7508 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (id(ff) = {xx,yy|xx:ff&yy:ff&xx=yy})',
7509 '-evalf', 'ff:1..2<->BOOL & gg:1..2<->BOOL & not (prj1(ff,gg) = ({xx,yy,zz|xx:(ff)&yy:(gg)&zz=xx}) )',
7510 '-evalf', 'ff:1..2<->BOOL & gg:1..2<->BOOL & not (prj2(ff,gg) = ({xx,yy,zz|xx:(ff)&yy:(gg)&zz=yy}) )',
7511 '-evalf', 'hh:1..3<->1..3 & not (iterate(hh,1)=(hh))',
7512 '-evalf', 'ff:1..3<->BOOL & gg:1..3<->BOOL & not (dom(ff><gg) = dom(ff)/\\dom(gg)) // Crashes Z3',
7513 '-evalf', 'ff:1..2<->BOOL & gg:1..2<->BOOL & not (card((ff><gg)) <= card(ff)*card(gg))',
7514 '-evalf', 'ff:1..2<->BOOL & gg:1..2<->BOOL & not ( dom((ff||gg)) = dom(ff)*dom(gg)) // Crashes Z3',
7515 '-evalf', 'xx:0..3 & zz:0..3 & not( xx: xx..xx+1 )',
7516 '-evalf', 'xx:0..3 & zz:0..3 & not(xx: xx..xx+1 )',
7517 '-evalf', 'xx:0..3 & zz:0..3 & not(xx: xx..xx )',
7518 '-evalf', 'xx:0..3 & zz:0..3 & not(xx: xx-1..xx )',
7519 '-evalf', 'xx:0..3 & zz:0..3 & not((xx<zz <=> xx:0..zz-1) )',
7520 '-evalf', 'xx:0..3 & zz:0..3 & not((xx<=zz <=> xx:0..zz) )',
7521 '-evalf', 'xx:0..3 & zz:0..3 & not(card(xx..xx) = 1 & card(xx..xx-1) = 0 )',
7522 '-evalf', 'xx:0..3 & zz:0..3 & not(card(xx..xx+1) = 2 )',
7523 '-evalf', 'xx:0..3 & zz:0..3 & not((xx>zz <=> card(xx..zz) = 0) )',
7524 '-evalf', 'xx:0..3 & zz:0..3 & not((xx<=zz => card(xx..zz) = zz-xx+1) )',
7525 '-evalf', 'xx:0..3 & zz:0..3 & not((xx<1 => {} : 1..xx --> INTEGER) )',
7526 '-evalf', 'xx:0..3 & zz:0..3 & not({} : 1..0 --> INTEGER )',
7527 '-evalf', 'xx:0..3 & zz:0..3 & not(xx..zz = {nn | nn:INT & nn>=xx & nn<=zz})',
7528 '-evalf', 'xx:0..3 & zz:0..3 & not( (xx..zz = {} <=> zz < xx) )',
7529 '-evalf', 'xx:0..3 & zz:0..3 & not( (xx..zz /= {} <=> zz >= xx) )',
7530 '-evalf', 'xx:0..3 & zz:0..3 & not( (#v.(v:xx..zz) <=> zz >= xx) )',
7531 '-evalf', 'xx:0..3 & zz:0..3 & not( !v.(v:xx..zz => v>=xx & v <= zz))',
7532 '-evalf', 'xx:0..3 & zz:0..3 & not( xx..(xx-1) <: xx..zz )',
7533 '-evalf', 'xx:0..3 & zz:0..3 & not( xx..zz <: xx..zz )',
7534 '-evalf', 'xx:0..3 & zz:0..3 & not( xx..zz <: xx..(zz+1) )',
7535 '-evalf', 'xx:0..3 & zz:0..3 & not( (xx+1)..zz <: xx..zz )',
7536 '-evalf', 'xx:0..3 & zz:0..3 & not( xx..(zz-1) <: xx..zz )',
7537 '-evalf', 'xx:0..3 & zz:0..3 & not( (xx+1)..(zz-1) <: xx..zz)',
7538 '-evalf', 'x:-3..3 & y:-3..3 & not(x*y = y*x)',
7539 '-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not(x*(y+z) = x*y + x*z)',
7540 '-evalf', 'x:-3..3 & y:-3..3 & not(x+y = y+x)',
7541 '-evalf', 'x:-3..3 & y:-3..3 & not(x*1 = x)',
7542 '-evalf', 'x:-3..3 & y:-3..3 & not(1*x = x)',
7543 '-evalf', 'x:-3..3 & y:-3..3 & not(x*0 = 0)',
7544 '-evalf', 'x:-3..3 & y:-3..3 & not(0*x = 0)',
7545 '-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not((x+y)+z = x + (y+z))',
7546 '-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not((x*y)*z = x*(y*z))',
7547 '-evalf', 'x:-3..3 & y:-3..3 & not(2*x = x+x)',
7548 '-evalf', 'x:-3..3 & y:-3..3 & not(x**2 = x*x)',
7549 '-evalf', 'x:-3..3 & y:-3..3 & not(x>=0 => 1**x = 1)',
7550 '-evalf', 'x:-3..3 & y:-3..3 & not(x>=0 => (((x / 2)*2 = x) <=> (x mod 2 = 0)))',
7551 '-evalf', 'x:-3..3 & y:-3..3 & not(x>0 => 2**x = 2*(2**(x-1)))',
7552 '-evalf', 'x:-3..3 & y:-3..3 & not(x>0 => 2**(10*x) = 2*(2**(10*x-1)))',
7553 '-evalf', 'x:-3..3 & y:-3..3 & not(x>0 => 3**(10*x) = 3*(3**(10*x-1)))',
7554 '-evalf', 'x:-3..3 & y:-3..3 & not(x>y or x<=y) ',
7555 '-evalf', 'x:-3..3 & y:-3..3 & not(x>y or x=y or x<y) ',
7556 '-evalf', 'x:-3..3 & y:-3..3 & not(x>=y or x<y) ',
7557 '-evalf', 'x:-3..3 & y:-3..3 & not(x>=y or x<=y) ',
7558 '-evalf', 'x:-3..3 & y:-3..3 & (x>y & x<=y) ',
7559 '-evalf', 'x:-3..3 & y:-3..3 & (x<y & y<x) ',
7560 '-evalf', 'x:-3..3 & y:-3..3 & not(x-x = 0 )',
7561 '-evalf', 'x:-3..3 & y:-3..3 & not(x=y <=> x-y = 0) ',
7562 '-evalf', 'x:-3..3 & y:-3..3 & not(x>y <=> x >= y+1) ',
7563 '-evalf', 'x:-3..3 & y:-3..3 & not(x<y <=> x <= y-1) ',
7564 '-evalf', 'x:-3..3 & y:-3..3 & not((x<y or y<x) <=> x/=y) ',
7565 '-evalf', 'x:-3..3 & y:-3..3 & not((x<y & y<=z) => x<z) ',
7566 '-evalf', 'x:-3..3 & y:-3..3 & z:-4..4 & not((x<y & y<z) => x<z) ',
7567 '-evalf', 'x:-3..3 & y:-3..3 & z:-4..4 & not((x<=y & y<z) => x<z) ',
7568 '-evalf', 'x:-3..3 & y:-3..3 & not((x<=y & y<=z) => x<=z) ',
7569 '-evalf', 'x:-3..3 & y:-3..3 & not((x<=y & y<=x) => x=y)',
7570 '-evalf', 'x:-3..3 & y:-3..3 & not(x=y <=> y=x) ',
7571 '-evalf', 'x:-3..3 & y:-3..3 & not(x/=y <=> y/=x) ',
7572 '-evalf', 'x:-3..3 & y:-3..3 & not(x<y <=> y>x) ',
7573 '-evalf', 'x:-3..3 & y:-3..3 & not(x>y <=> y<x) ',
7574 '-evalf', 'x:-3..3 & y:-3..3 & not(x<=y <=> y>=x) ',
7575 '-evalf', 'x:-3..3 & y:-3..3 & not(x>=y <=> y<=x) ',
7576 '-evalf', 'x:-3..3 & y:-3..3 & not(not(x<y) <=> x>=y) ',
7577 '-evalf', 'x:-3..3 & y:-3..3 & not(not(x<=y) <=> x>y) ',
7578 '-evalf', 'x:-3..3 & y:-3..3 & not((x=y or x=z) => (y=x or z=x)) ',
7579 '-evalf', 'x:-3..3 & y:-3..3 & not((x=y or x=z) <=> (y=x or z=x)) ',
7580 '-evalf', 'x:-3..3 & y:-3..3 & not((x=y <=> x=z) => (y=z or x/=y))',
7581 '-evalf', 'x:-3..3 & y:-3..3 & not ( (x-y-x+y = 0) )',
7582 '-evalf', 'x:-3..3 & y:-3..3 & not ( x*x >= 0 )',
7583 '-evalf', 'x:-3..3 & y:-3..3 & not ( (x*x = 0 <=> x=0) )',
7584 '-evalf', 'x:-3..3 & y:-3..3 & not ( (x*x = 0 => x=0) )',
7585 '-evalf', 'x:-3..3 & y:-3..3 & not ( (x=0 => x*x = 0) )',
7586 '-evalf', 'x:-3..3 & y:-3..3 & not ( x*x = -x * -x )',
7587 '-evalf', 'x:-3..3 & y:-3..3 & not (x<=y <=> min({x,y}) = x)',
7588 '-evalf', 'x:-3..3 & y:-3..3 & not (x<=y <=> max({x,y}) = y)',
7589 '-evalf', 'x:-3..3 & y:-3..3 & not (x<y <=> max({x,y}) /= x)',
7590 '-evalf', 'x:-3..3 & y:-3..3 & not (x<y <=> min({x,y}) /= y)',
7591 '-evalf', 'x:-3..3 & y:-3..3 & not(x>=0 & y>0 => ((x/y) * y = x - x mod y))',
7592 '-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not(x/=y & x/=z & y/=z => SIGMA(zz).(zz:{x,y,z}|zz) = x+y+z)',
7593 '-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not(x/=y & x/=z & y/=z => PI(zz).(zz:{x,y,z}|zz) = x*y*z)',
7594 '-evalf', 'x:-3..3 & y:-3..3 & not(SIGMA(zz).(zz:{x}|zz) = x)',
7595 '-evalf', 'x:-3..3 & y:-3..3 & not(PI(zz).(zz:{x}|zz) = x)',
7596 '-evalf', 'x:-3..3 & y:-3..3 & not(succ(x) = x+1) ',
7597 '-evalf', 'x:-3..3 & y:-3..3 & not(pred(x) = x-1) ',
7598 '-evalf', 'x:-3..3 & y:-3..3 & not(x < succ(x))',
7599 '-evalf', 'x:-3..3 & y:-3..3 & not(x > pred(x))',
7600 '-evalf', 'x:-3..3 & y:-3..3 & not(pred(succ(x)) = x)',
7601 '-evalf', 'x:-3..3 & y:-3..3 & not(x+succ(y) = succ(x+y))',
7602 '-evalf', 'x:-3..3 & y:-3..3 & not(x*succ(y) = x+x*y)',
7603 '-evalf', 'x:-3..3 & y:-3..3 & not(x>=0 => 1**x = 1)',
7604 '-evalf', 'x:-3..3 & y:-3..3 & not (x**1 = x)',
7605 '-evalf', 'x:-3..3 & y:-3..3 & not (x**0 = 1)',
7606 '-evalf', 'x:-3..3 & y:-3..3 & not(x>0 => 0**x = 0)',
7607 '-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not(z>=0 => (x*y)**z = x**z * y**z)',
7608 '-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not(y>=0 & z>=0 => (x**(y+z) = x**y * x**z))',
7609 '-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not(y>=0 & z>=0 => (x**(y*z) = (x**y)**z))',
7610 '-evalf', 'x:-3..3 & y:-3..3 & not(#x.(x:INTEGER & {x} \\/ {1,2} = {1,2} ) )',
7611 '-evalf', 'x:-3..3 & y:-3..3 & not( min({x}) = x )',
7612 '-evalf', 'x:-3..3 & y:-3..3 & not(x <= y => min({x,y}) = x )',
7613 '-evalf', 'x:-3..3 & y:-3..3 & not(y <= x => min({x,y}) = y )',
7614 '-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not( min({x}\\/{y,z}) = min({min({x}), min({y,z})}) )',
7615 '-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not( min({y,z} \\/ {x}) = min({min({y,z}),x}) )',
7616 '-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not( x:y..z <=> (y<=x & x<=z))',
7617 '-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not( x:y..z <=> (y<=x & x<=z & y<=z))',
7618 '-evalf', 'x:-3..3 & y:-3..3 & y /= 0 & not ( -x/y = -(x/y) )',
7619 '-evalf', '(2=3 & 1=1 <=> 4=5 & 2=2)',
7620 '-evalf', 'SS : POW(-1..3) & not (SS = ran(%x.(x:SS|x*1)))',
7621 '-evalf', 'SS : POW(-1..3) & not (SS = {z|z:INTEGER & #x.(x:SS & z=x*1)})',
7622 '-evalf', 'SS : POW(-1..3) & VV : POW(-1..3) & not ( SS <<: VV or SS /<<: VV )',
7623 '-evalf', 'SS : POW(-1..3) & VV : POW(-1..3) & not ( (VV <<: SS & SS <: TT) => (VV <<: TT))',
7624 '-evalf', 'SS : POW(-1..3) & VV : POW(-1..3) & not (SS <<: VV => (card(SS) < card(VV)))',
7625 '-evalf', 'SS : POW(-1..3) & VV : POW(-1..3) & not (SS <: VV => (card(SS) <= card(VV)))',
7626 '-evalf', 'SS : POW(-1..3) & VV : POW(-1..3) & not (SS /\\ VV = {} <=> SS <: (-1..3) - VV)',
7627 '-evalf', 'SS : POW(-1..3) & VV : POW(-1..3) & not((SS=VV & SS /= {}) => (max(SS) = max(VV) & min(SS)=min(VV)))',
7628 '-evalf', 'SS : POW(-1..3) & VV : POW(-1..3) & not((SS <: VV & SS/= {}) => (max(SS) <= max(VV) & min(SS) >= min(VV)))',
7629 '-evalf', 'a<:1..3 & b<:1..3 & not( a<:b <=> POW(a) <: POW(b) )',
7630 '-evalf', 'a<:1..3 & b<:1..3 & not( a<<:b <=> POW(a) <<: POW(b))',
7631 '-evalf', 'a<:1..3 & b<:1..3 & not( POW(a) /<: POW1(b) & FIN(a) /<: FIN1(b))',
7632 '-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( (a={} or b={}) => (a*b)={} & (a*b) <: (c*d) )',
7633 '-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( ( (a={} or b={} & f : a <-> b) => f: c <-> d ))',
7634 '-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( ( (a={} or b={} & f : a +-> b) => f: c +-> d ))',
7635 '-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( ( (a={} or b={} & f : a >+> b) => f: c >+> d ))',
7636 '-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( ( a <: c & b<:d => (a*b) <: c*d))',
7637 '-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( a <: c & b<:d & f : a <-> b => f: c <-> d )',
7638 '-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( a <: c & b<:d & f : a +-> b => f: c +-> d )',
7639 '-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( a <: c & b<:d & f : a >+> b => f: c >+> d )',
7640 '-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( b<:d & f : a --> b => f: a --> d )',
7641 '-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( b<:d & f : a >-> b => f: a >-> d )',
7642 '-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( a<:c & f : a +->> b => f: c +->> b )',
7643 '-evalf', 's1:STRING & s2:STRING & not((s1=s2 <=> s2=s1))',
7644 '-evalf', 's1:STRING & s2:STRING & not( s1=s2 or s1 /= s2 )',
7645 '-evalf', 's1:STRING & s2:STRING & not( s1=s2 & s2=s3 => s1 = s3 )',
7646 '-evalf', 's1:STRING & s2:STRING & not( s1=s2 & s2/=s3 => s1 /= s3 )',
7647 '-evalf', 's1:STRING & s2:STRING & not(s1=s2 <=> card({s1,s2}) = 1)',
7648 '-evalf', 's1:STRING & s2:STRING & not( s1=s2 <=> {s1,s2} = {s1} )',
7649 '-evalf', 's1:STRING & s2:STRING & not({s1,s2,s3} = {s3} \\/ {s2} \\/ {s1} )',
7650 '-evalf', 's1:STRING & s2:STRING & not({x| x=s1 or x=s2} = {s2,s1} )',
7651 '-evalf', 's1:STRING & s2:STRING & not( s1 : dom( { s2 |-> s2, s3|->s3, s1 |->s1} ) )',
7652 '-evalf', 's1:STRING & s2:STRING & not((s1/=s2 => s1 /: dom( { s2 |-> s2} ) ) )',
7653 '-evalf', 's1:STRING & s2:STRING & not( s1 /: {s1,s2,s3} - {s2,s1} )',
7654 '-evalf', 'S={"a","b"} & s1:S & s2:S & s3:S & not(card({s1,s2,s3} - {s2,s1}) < 2)',
7655 '-evalf', 's1:STRING & s2:STRING & not( s1:STRING <=> 1=1 )',
7656 '-evalf', 's1:STRING & s2:STRING & not( s1/:STRING <=> 1=2 )',
7657 '-evalf', 's1:STRING & s2:STRING & not( s1=s2 <=> {s1} \\/ {s2} = {s1})',
7658 '-evalf', 's1:STRING & s2:STRING & not( {s1,s2} \\/ {s3} = {s1,s2,s3})',
7659 '-evalf', 's1:STRING & s2:STRING & not( {s2} \\/ {s1,s2,s3} = {s1,s2,s3} )',
7660 '-evalf', 'S={"a","b"} & s1:S & s2:S & s3:S & not( s1 /= s3 => ({s1,s2} /\\ {s3,s2} = {s2}))',
7661 '-evalf', 'S={"a","b"} & s1:S & s2:S & s3:S & not( #x.(x:STRING & {x} \\/ {s1,s2} = {s1,s2} & x:{s1,s2,s3}))',
7662 '-evalf', 'S={"a","b"} & s1:S & s2:S & s3:S & not( #x.(x:STRING & {x} \\/ {s1,s2} = {s1,s2} ) )',
7663 '-evalf', 'SS<:POW(BOOL) & not( SS \\/ (TT /\\ VV) = (SS \\/ TT) /\\ (SS \\/ VV))',
7664 '-evalf', 'SS<:POW(BOOL) & not( SS <<: VV => (card(SS) < card(VV)) )',
7665 '-evalf', 'x<:BOOL & not(POW(x) = POW1(x) \\/ {{}})',
7666 '-evalf', 'not(#t138.(x<:BOOL & (!t135.(t135 <: x => t135 : t138 \\/ {{}}) & !t135.(t135 : t138 \\/ {{}} => t135 <: x) & (!t137.(t137 <: x & not(t137 = {}) => t137 : t138) & !t137.(t137 : t138 => t137 <: x & not(t137 = {}))))))', % translation of above for z3
7667 '-evalf', 'x<:BOOL & x <<: y & not(POW(x) <<: POW(y))',
7668 '-evalf', 'x<:BOOL & not(x = y) & x <: y & not(not(#t166.(btrue & (!t163.(t163 <: x => t163 : t166) & !t163.(t163 : t166 => t163 <: x) & (!t165.(t165 <: y => t165 : t166) & !t165.(t165 : t166 => t165 <: y))))) & #(t168,t170).(t168 <: t170 & (!t167.(t167 <: x => t167 : t168) & !t167.(t167 : t168 => t167 <: x) & (!t169.(t169 <: y => t169 : t170) & !t169.(t169 : t170 => t169 <: y)))))', % translation of above for z3
7669 '-evalf', 'SS<:BOOL & VV<:BOOL & not(union({SS,VV})=SS \\/ VV)',
7670 '-evalf', 'SS<:BOOL & VV<:BOOL & not(union({SS,VV,WW})=SS \\/ VV \\/ WW)',
7671 '-evalf', 'SS<:BOOL & VV<:BOOL & SV = {SS}\\/{VV} & SVW= SV\\/{WW} & not(union(SVW)=SS \\/ VV \\/ WW)',
7672 '-evalt', 'SS<:BOOL & VV<:BOOL & SV = {SS}\\/{VV} & SVW= SV\\/{WW} & not(inter(SVW)=SS \\/ VV \\/ WW)',
7673 '-evalf', 'SS<:BOOL & VV<:BOOL & SV = {SS}\\/{VV} & SVW= SV\\/{WW} & not(inter(SVW)=SS /\\ VV /\\ WW)',
7674 '-evalf', 'SS<:POW(BOOL) & not(union({SS,TT}) = SS \\/ TT)',
7675 '-evalf', 'SS<:POW(BOOL) & not(SS/={} & TT/={} => inter(SS \\/ TT) = inter(SS) /\\ inter(TT))',
7676 '-evalf', 'r:BOOL <-> BOOL & not(r <: closure1(r))',
7677 '-evalf', 'r:BOOL <-> BOOL & not(r <: closure(r))',
7678 '-evalf', 'rx:BOOL <-> BOOL & not(id( dom(rx) \\/ ran(rx) ) <: closure(rx))',
7679 '-evalf', 'rx:BOOL <-> BOOL & not(( id(BOOL) ; rx) = rx)',
7680 '-evalf', 'rx:BOOL <-> BOOL & not(( rx ; id(BOOL) ) = rx)',
7681 '-evalf', 'rx:BOOL <-> BOOL & ff:BOOL<->BOOL & not(( rx; ff )~ = (ff~ ; rx ~))',
7682 '-evalf', 'rx:BOOL <-> BOOL & ff:BOOL<->BOOL & not( (ff ; rx)[HH] = rx[ff[HH]])',
7683 '-evalf', 'ff:BOOL<->BOOL & not( gg <+ ff = (dom(ff) <<| gg) \\/ ff )',
7684 '-evalf', 'ff:BOOL<->BOOL & gg:BOOL<->BOOL & not( dom(ff) <<| gg = {a,b| (a,b):gg & a/:dom(ff)} )',
7685 '-evalf', 'ff:BOOL<->BOOL & gg:BOOL<->BOOL & not( gg |>> ran(ff) = {a,b| (a,b):gg & b/:ran(ff)})',
7686 '-evalf', 'ff:BOOL<->BOOL & ii=1 & not (iterate(ff,ii) = ff)',
7687 '-evalf', 'x<:BOOL & x <: y & not(POW(x) <: POW(y))',
7688 '-evalt', 'x<:BOOL & x <: y & not(POW(x) <<: POW(y))', % True,
7689 '-evalf', 'x<:BOOL & x <<: y & not(POW(x) <<: POW(y))',
7690 '-evalf', 'xx:0..3 & not(xx>xx-1 & card(xx..xx) = 1)', % used to cause timeout in CHR mode
7691 '-evalf', 'f:BOOL-->POW(BOOL) & card(f(TRUE))=0 & card(f(FALSE))=0 & card(union(ran(f)))>0',
7692 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
7693 ], 'check laws expressed as individual constraints').
7694
7695 cli_testcase(2132, [laws], ['-p', 'SMT', 'TRUE',
7696 '-evalf', 'x:-3..3 & y:-3..3 & not((x<y & y<z) => x<z) ', % does not work with CLPFD=FALSE
7697 '-evalf', 'x:-3..3 & y:-3..3 & not((x<=y & y<z) => x<z) '
7698 |Cmds],'Test 2131 with SMT true') :-
7699 cli_testcase(2131, _, Cmds,_).
7700 cli_testcase(2133, [laws, chr], ['-p', 'CHR', 'TRUE' |Cmds],'Test 2131 with SMT and CHR true') :-
7701 cli_testcase(2132, _, Cmds,_).
7702 cli_testcase(2134, [laws], ['-p', 'CLPFD', 'FALSE' |Cmds],'Test 2131 with CLPFD false') :-
7703 cli_testcase(2131, _, Cmds,_).
7704 cli_testcase(2135, [b_test], [
7705 '../prob_examples/public_examples/B/Tester/Uses/MachineB_wrong_uses.mch',
7706 '-expcterr', 'type_error', '-expcterr', 'load_main_file'], 'Check that operations of a used machine cannot be called').
7707 cli_testcase(2136, [b_test], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7708 '../prob_examples/public_examples/B/PerformanceTests/ModelChecking/IncrementalStatePackingTestLargeSlow_err.mch',
7709 '-mc', 20, '-p', 'PROOF_INFO', 'TRUE',
7710 '-expcterr', 'invariant_violation'], 'Check that invariant (proven for all events) violation found').
7711 cli_testcase(2137, [b_test, operation_reuse, operation_reuse_full], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7712 '../prob_examples/public_examples/B/PerformanceTests/ModelChecking/IncrementalStatePackingTestLargeSlow_err.mch',
7713 '-mc', 20, '-p', 'OPERATION_REUSE', 'full', '-p', 'PROOF_INFO', 'TRUE',
7714 '-expcterr', 'invariant_violation'], 'Check that invariant (proven for all events) violation found').
7715 cli_testcase(2138, [eventb_test, operation_reuse, operation_reuse_full, codespeed], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7716 '../prob_examples/public_examples/EventBPrologPackages/ABZ_Landing_Gear/Ref3_ControllerSensors_mch.eventb',
7717 '-mc', 2500, '-p', 'OPERATION_REUSE', 'full', '-p', 'COMPRESSION', 'TRUE', '-nodead',
7718 '-cc', 2354, 10154,
7719 '-check_op_cache_stats', 242, 0, 24, 0 % used to be 248,24,2;
7720 % but after improving Proof info 6 calls to invariant checks have disappeared; see also test 2218
7721 ], 'Check that operation reuse works for Event-B').
7722 cli_testcase(2139, [b_test, operation_reuse, operation_reuse_full, codespeed], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7723 '../prob_examples/public_examples/B/Other/Meeduse/gpuScheduler_main.mch',
7724 '-mc', 4000, '-p', 'OPERATION_REUSE', 'full', '-p', 'COMPRESSION', 'TRUE', '-noass',
7725 '-cc', 3180, 26054,
7726 '-check_op_cache_stats', 9598, 3566, 4, 10],% 3566 was 3500, before remove_finite rule made more conservative
7727 'Check Meeduse model').
7728 cli_testcase(2140, [b_test, operation_reuse, operation_reuse_full, codespeed], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7729 '../prob_examples/public_examples/B/Other/Meeduse/gpuScheduler_main.mch',
7730 '-mc', 4000, '-p', 'OPERATION_REUSE', 'full', '-p', 'COMPRESSION', 'TRUE', '-noass',
7731 '-nodead', '-p', 'SAFETY_MODEL_CHECK', 'TRUE', '-bf',
7732 '-cc', 3180, 3181, % was 3179, but now we store at least one transition per operation for coverage
7733 '-check_op_cache_stats', 9598 , 3566, 4, 10], % 3566 was 3500, before remove_finite rule made more conservative
7734 'Test 2140 with safety invariant model checking').
7735 cli_testcase(2141, [eventb_test, operation_reuse, operation_reuse_full, codespeed], [
7736 '../prob_examples/examples/EventBPrologPackages/Advance_WP2/v6_Sep2014/ex_mch.eventb',
7737 '-animate', 300, '-p', 'OPERATION_REUSE', 'full', '-p', 'COMPRESSION', 'TRUE',
7738 '-check_op_cache_stats', '_', '_', 41, 28], 'Test used to pose problem to operation reuse').
7739 cli_testcase(2142, [cbc], [
7740 '-evalt','x>1 & y:NATURAL & y=x+x & z={y,x}',
7741 '-p', 'CLPFD', 'TRUE', '-p', 'CHR', 'FALSE'], 'Check CLPFD overflows are caught').
7742 cli_testcase(2143, [operation_reuse, csp_test,cspb], ['-p', 'STRICT_RAISE_ENUM_WARNINGS','TRUE',
7743 '../prob_examples/public_examples/CSP/Tickets/WilliamsCSPB/Airports.mch', '-csp-guide',
7744 '../prob_examples/public_examples/CSP/Tickets/WilliamsCSPB/AirportsCtrl.csp',
7745 '-p', 'COMPRESSION', 'TRUE', '-p', 'OPERATION_REUSE', 'TRUE', '-mc', 1000,
7746 '-check_op_cache_stats', 127, 0, 2 , 0,
7747 '-cc', 843, 3504, '-strict'], 'Checking operation reuse CSP-M || B models.').
7748 cli_testcase(2144, [operation_reuse,csp_test,cspb],['-p', 'STRICT_RAISE_ENUM_WARNINGS','TRUE',
7749 '../prob_examples/public_examples/CSPB/Dining/Dining.mch', '-csp-guide',
7750 '../prob_examples/public_examples/CSPB/Dining/Dining.csp',
7751 '-p', 'COMPRESSION', 'TRUE', '-p', 'OPERATION_REUSE', 'TRUE',
7752 '-mc', 5000, '-nodead',
7753 '-p', 'MAX_INITIALISATIONS', 100,
7754 '-check_op_cache_stats', 516, 373, 3 , 2,
7755 '-cc', 1862, 4957,
7756 '-strict'],'Check operation_reuse in Dining.csp').
7757 cli_testcase(2145, [operation_reuse,csp_test,cspb],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS','TRUE',
7758 '../prob_examples/public_examples/CSPB/LTSMin/Counters_smaller.mch', '-csp-guide',
7759 '../prob_examples/public_examples/CSPB/LTSMin/Counters.csp',
7760 '-p', 'COMPRESSION', 'TRUE', '-p', 'OPERATION_REUSE', 'TRUE',
7761 '-mc', 85000,
7762 '-check_op_cache_stats', 63, 0 , 3 , 0,
7763 '-cc', 21486, 21486,
7764 '-strict'],'Check operation_reuse in Dining.csp').
7765 cli_testcase(2146, [b_test,card], ['-strict', '-p', 'STRICT_RAISE_ENUM_WARNINGS','TRUE',
7766 '../prob_examples/public_examples/B/FeatureChecks/DeferredSetsDisjointSubsets1.mch', '-init' ,'-assertions'], 'check cardinality of deferred set detects disjoint subsets').
7767 cli_testcase(2147, [smt_solver_integration], [
7768 '-evalt', ':z3-double-check a="(!&/()=>\\"<,.\\"-_%?"',
7769 '-evalt', ':z3-double-check a=""',
7770 '-evalt', ':z3-double-check a="\\""',
7771 '-evalt', ':z3-double-check a="\\"\\""'
7772 ], 'check z3 model translation for strings').
7773 cli_testcase(2148, [operation_reuse,eventb_test],[
7774 '../prob_examples/examples/EventBPrologPackages/Soton/UML-B/drone_0_mch.eventb',
7775 '-p', 'COMPRESSION', 'TRUE', '-p', 'OPERATION_REUSE', 'TRUE',
7776 '-mc', 3000, '-scope', 'card(SCXML_eq)<5',
7777 '-check_op_cache_stats', 1164, 0, 15 , 0,
7778 % analysed are these, but many more are added to the state space'-cc', 2422, 10767,
7779 '-strict'],'Check operation_reuse with scope').
7780 cli_testcase(2149, [smt_solver_integration], [
7781 '-evalt', ':z3-double-check rev(["a","b"]) = a',
7782 '-evalf', ':z3-double-check rev(["a"]) = []',
7783 '-evalt', ':z3-double-check first(["a","b"]) = a',
7784 '-evalt', ':z3-double-check last(["a","b"]) = a',
7785 '-evalt', ':z3-double-check ["a","b"]<-"c" = a',
7786 '-evalt', ':z3-double-check "c"->["a","b"] = a',
7787 '-evalt', ':z3-double-check tail(["a","b"]) = a',
7788 '-evalt', ':z3-double-check front(["a","b"]) = a',
7789 '-evalt', ':z3-double-check rev([3,4]) = a',
7790 '-evalf', ':z3-double-check rev([6]) = []',
7791 '-evalt', ':z3-double-check first([7,8]) = a',
7792 '-evalt', ':z3-double-check last([9,10]) = a',
7793 '-evalt', ':z3-double-check [11,12,13]<-14 = a',
7794 '-evalt', ':z3-double-check 9->[6,155] = a',
7795 '-evalt', ':z3-double-check tail([4,7]) = a',
7796 '-evalt', ':z3-double-check front([4,7]) = a',
7797 '-evalt', ':z3-double-check size([4,7,5]) = a',
7798 '-evalt', ':z3-double-check size([4,7,5]) = 3',
7799 '-evalf', ':z3-double-check size([4,7,5]) = 4'
7800 ], 'check sequences with z3').
7801 cli_testcase(2150, [operation_reuse,eventb_test],[
7802 '../prob_examples/examples/RodinModels/SAP/TUCC_Example/v3/m_wodel123_partner_behaviour.eventb',
7803 '-p', 'COMPRESSION', 'TRUE', '-p', 'OPERATION_REUSE', 'TRUE',
7804 '-mc', 1000, '-expcterr', 'model_check_incomplete',
7805 '-op_cache_profile',
7806 '-strict'],'Check that unmodifiable check works and read vars are correctly computed').
7807 cli_testcase(2151, [pragmas,eventb_test],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7808 '../prob_examples/public_examples/EventBPrologPackages/Tests/TestProBIgnoreAxioms_ctx.eventb',
7809 '-init', '-p', 'USE_IGNORE_PRAGMAS', 'TRUE',
7810 '-strict'],'Check prob-ignore labels respected').
7811 cli_testcase(2152, [b_test],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7812 '../prob_examples/public_examples/B/PerformanceTests/Compression/TotFunSkeleton.mch',
7813 '-mc', 1000, '-expcterr', 'model_check_incomplete',
7814 '-p', 'COMPRESSION', 'full', '-memory', '-prob-profile', % TODO: check that we Stored 1 AVL sets
7815 '-strict'],'Exercise bit-vector compression').
7816 cli_testcase(2153, [b_test,json_trace_replay,records,operation_reuse], ['../prob_examples/public_examples/B/FeatureChecks/AssignToRecordField.mch',
7817 '-p', 'COMPRESSION', 'TRUE', '-p', 'OPERATION_REUSE', 'full',
7818 '-trace_replay', 'json', '../prob_examples/public_examples/B/FeatureChecks/AssignToRecordField.prob2trace'
7819 ], 'Check read information correctly identfied').
7820 cli_testcase(2154, [tickets,json_trace_replay], ['../prob_examples/public_examples/B/Tickets/PartitionPrettyPrintBug/ABZ16_m4.eventb',
7821 '-pp', '../prob_examples/public_examples/B/Tickets/PartitionPrettyPrintBug/ABZ16_m4_pp.mch',
7822 '-trace_replay', 'json', '../prob_examples/public_examples/B/Tickets/PartitionPrettyPrintBug/ABZ16_m4.prob2trace'
7823 ], 'Check partition pretty-printing properly parenthesised').
7824 cli_testcase(2155, [b_test,cruise,external,operation_reuse], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7825 '../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-mc', '1400', '-bf',
7826 '-scope', 'PROB_STATISTICS("bf-level")<5',
7827 '-p', 'OPERATION_REUSE', 'TRUE', '-p', 'COMPRESSION', 'TRUE',
7828 '-cc', '833', '6578', % 456 are ignored
7829 '-strict', '-nodead', '-p', 'MAX_INITIALISATIONS', 5], 'Test SCOPE with breadth-first level predicate').
7830 cli_testcase(2156, [wd], ['../prob_examples/public_examples/B/Tickets/PartitionPrettyPrintBug/ABZ16_m4.eventb',
7831 '-evalu', ':prove not(x=STANDBY) => not(x=PREPARATION)',
7832 '-evalu', ':prove x=STANDBY => x=PREPARATION',
7833 '-evalt', ':prove x=TRUE => not(x=FALSE)',
7834 '-evalt', ':prove not(x=TRUE) => x=FALSE',
7835 '-evalt', ':prove x=STANDBY => not(x=PREPARATION)'
7836 ], 'Check simple equalities proven by wd prover').
7837 cli_testcase(2157, [infinite,external,choose], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7838 '-evalt', 's={f|f = /*@symbolic*/ %x.(x : NATURAL | IF x = 1 THEN 1 ELSE x+1 END)} & res = CHOOSE(s)(2)',
7839 '-evalt', 'f = /*@symbolic*/ %x.(x : NATURAL | IF x = 1 THEN 1 ELSE x+1 END) & s = {f} & res = CHOOSE(s)(2)',
7840 '-evalt', 's={f|f = /*@symbolic*/ %x.(x : NATURAL | IF x = 1 THEN 1 ELSE x+1 END)} & res = MU(s)(2)',
7841 '-evalt', 'f = /*@symbolic*/ %x.(x : NATURAL | IF x = 1 THEN 1 ELSE x+1 END) & s = {f} & 3 = MU(s)(2)'
7842 % '-evalt', 'f = /*@symbolic*/ %x.(x : NATURAL | IF x = 1 THEN 1 ELSE x+1 END) & s = {f, {0|->0}}' % does not work
7843 ], 'Check singleton sets with infinite element are not expanded, and check MU/CHOOSE').
7844 cli_testcase(2158, [infinite,external,choose,recursion], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7845 '-evalt', 'f = /*@symbolic*/ %x.(x : NATURAL | IF x = 0 THEN 0 ELSE 2+f(x-1) END) /*@desc recursive_let */ & f(20)=40',
7846 '-evalt', 'f = /*@symbolic*/ %x.(x >=0 | IF x = 0 THEN 1 ELSE 2+f(x-1) END) /*@desc letrec */ & f(20)=41',
7847 '-evalt', '{f|f = /*@symbolic*/ %x.(x : NATURAL | IF x = 0 THEN 0 ELSE 2+f(x-1) END) /*@desc recursive_let*/ } = s & rf = CHOOSE(s) & res = rf(10)',
7848 '-evalt', '{f|f = /*@symbolic*/ %x.(x : NATURAL | IF x = 0 THEN 0 ELSE 2+f(x-1) END) /*@desc recursive_let*/ } = s & rf = MU(s) & 20 = rf(10)',
7849 '-evalt', 'MU({f|f = /*@symbolic*/ %x.(x>=0 | IF x = 0 THEN 0 ELSE 2+f(x-1) END) /*@desc recursive_let*/ })(10) = 20',
7850 '-evalt', 'MU({f|f = /*@symbolic*/ %x.(x : NATURAL1 | IF x = 1 THEN 0 ELSE 1+f(x/2) END) /*@desc letrec */})(1024) = 10',
7851 '-evalt', 'card({f|f = /*@symbolic*/ %x.(x : NATURAL1 | IF x = 1 THEN 0 ELSE 1+f(x/2) END) /*@desc letrec */})=1'
7852 ], 'Check recursive_let pragma annotation').
7853 cli_testcase(2159, [infinite,external,choose], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7854 '-evalt', 'ilog2 = /*@symbolic */ {x,r| x:NATURAL & 2**r<=x & 2**(r+1) > x} & res=ilog2(1024)',
7855 '-evalt', 'ilog2 = /*@symbolic */ {x,r| x:NATURAL & 2**r<=x & 2**(r+1) > x} & 10=ilog2(1024) & ilog2(1025)=10 & ilog2(2048)=11',
7856 '-evalt', 'ilog3 = /*@symbolic */ {x,r| x:NATURAL & 3**r<=x & 3**(r+1) > x} & 4=ilog3(81) & ilog3(1000)=6',
7857 '-evalt', '1**r = t & t:0..100'
7858 ], 'Check propagation of power_of / exponentiation').
7859 cli_testcase(2160, [external], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7860 '../prob_examples/public_examples/B/FeatureChecks/NonDetDetection/NonDetSelect.mch',
7861 '-mc', 1000, '-noinv', '-noass', '-expecterr', 'goal_found'
7862 ], 'Check NON_DET_STATE external function and use of external functions in GOAL').
7863 cli_testcase(2161, [recursion,json_trace_replay,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7864 '../prob_examples/public_examples/B/RecursiveFunctions/Factorial_NewSyntax.mch',
7865 '-trace_replay', json, '../prob_examples/public_examples/B/RecursiveFunctions/Factorial_NewSyntax.prob2trace',
7866 '-assertions'
7867 ], 'Check JSON trace replay works with recursive function').
7868 cli_testcase(2162, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7869 '../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/ABZ16_m4.eventb', '-init',
7870 '-p', 'TIME_OUT', '60000',
7871 '-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_0.eval',
7872 '-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_1.eval',
7873 '-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_2.eval',
7874 '-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_3.eval',
7875 '-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_4.eval',
7876 '-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_5.eval',
7877 '-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_6.eval',
7878 '-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_7.eval',
7879 '-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_8.eval',
7880 '-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_9.eval',
7881 '-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_10.eval',
7882 '-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_11.eval',
7883 '-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_12.eval',
7884 '-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_13.eval',
7885 '-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_14.eval',
7886 '-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_15.eval'
7887 ], 'Double check CDCL(T) solver for BMC constraints of ABZ16_m4'). % see test 2553 for Z3 checks
7888 cli_testcase(2163, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7889 '../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/ABZ16_m6.eventb', '-init',
7890 '-p', 'TIME_OUT', '60000',
7891 '-eval', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_0.eval',
7892 '-eval', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_1.eval',
7893 '-eval', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_2.eval',
7894 '-eval', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_3.eval',
7895 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_0.eval',
7896 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_1.eval',
7897 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_2.eval',
7898 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_3.eval'
7899 ], 'Double check CDCL(T) solver for BMC constraints of ABZ16_m6 containing unfixed deferred sets').
7900 cli_testcase(2164, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7901 '../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/R5_Switch.eventb', '-init',
7902 '-p', 'TIME_OUT', '60000',
7903 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/Ref5_Switch_monolithic_bmc_k_0.eval',
7904 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/Ref5_Switch_monolithic_bmc_k_1.eval',
7905 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/Ref5_Switch_monolithic_bmc_k_2.eval',
7906 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/Ref5_Switch_monolithic_bmc_k_3.eval',
7907 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/Ref5_Switch_monolithic_bmc_k_0.eval',
7908 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/Ref5_Switch_monolithic_bmc_k_1.eval',
7909 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/Ref5_Switch_monolithic_bmc_k_2.eval',
7910 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/Ref5_Switch_monolithic_bmc_k_3.eval'
7911 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/Ref5_Switch_monolithic_bmc_k_4.eval' % needs more than 60 seconds
7912 ], 'Double check CDCL(T) solver for BMC constraints of Landing Gear R5 Switch').
7913 cli_testcase(2165, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE',
7914 '../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/R6_Lights.eventb', '-init',
7915 '-p', 'TIME_OUT', '60000',
7916 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_0.eval',
7917 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1.eval',
7918 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_2.eval',
7919 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_3.eval',
7920 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_0.eval',
7921 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1.eval',
7922 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_2.eval',
7923 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_3.eval'
7924 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_4.eval', % needs more than 60 seconds
7925 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_5.eval', %
7926 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6.eval' %
7927 ], 'Double check CDCL(T) solver for BMC constraints of Landing Gear R6 Lights').
7928 cli_testcase(2166, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE',
7929 '../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching.mch', '-init',
7930 '-p', 'TIME_OUT', '60000',
7931 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/core_bug.eval',
7932 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_0.eval',
7933 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_1.eval',
7934 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_2.eval',
7935 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_3.eval',
7936 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_4.eval',
7937 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_5.eval',
7938 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_6.eval',
7939 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_7.eval',
7940 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_8.eval',
7941 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_9.eval',
7942 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_10.eval',
7943 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_11.eval',
7944 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_12.eval',
7945 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_13.eval',
7946 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_14.eval',
7947 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_15.eval',
7948 % long runtime for the following tests
7949 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_16.eval',
7950 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_17.eval',
7951 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_18.eval',
7952 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_19.eval',
7953 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_20.eval',
7954 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_21.eval',
7955 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_22.eval',
7956 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_23.eval',
7957 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_24.eval',
7958 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_25.eval',
7959 % same constraints but not considering the current state
7960 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/core_bug.eval',
7961 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_0.eval',
7962 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_1.eval',
7963 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_2.eval',
7964 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_3.eval',
7965 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_4.eval',
7966 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_5.eval',
7967 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_6.eval',
7968 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_7.eval',
7969 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_8.eval',
7970 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_9.eval',
7971 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_10.eval',
7972 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_11.eval',
7973 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_12.eval',
7974 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_13.eval',
7975 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_14.eval',
7976 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_15.eval',
7977 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_16.eval',
7978 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_17.eval',
7979 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_18.eval',
7980 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_19.eval',
7981 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_20.eval',
7982 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_21.eval',
7983 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_22.eval',
7984 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_23.eval',
7985 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_24.eval',
7986 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_25.eval'
7987
7988 ], 'Double check CDCL(T) solver for BMC constraints of LargeBranching').
7989 cli_testcase(2167, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
7990 '../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase.tla', '-init',
7991 '-p', 'TIME_OUT', '60000',
7992 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_0.eval',
7993 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_1.eval',
7994 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_2.eval',
7995 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_3.eval',
7996 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_4.eval',
7997 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_5.eval',
7998 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_6.eval',
7999 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_7.eval',
8000 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_8.eval',
8001 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_9.eval',
8002 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_10.eval',
8003 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_11.eval',
8004 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_12.eval',
8005 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_13.eval',
8006 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_14.eval',
8007 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_15.eval',
8008 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_16.eval',
8009 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_17.eval',
8010 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_18.eval',
8011 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_19.eval',
8012 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_20.eval',
8013 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_21.eval',
8014 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_22.eval',
8015 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_23.eval',
8016 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_24.eval',
8017 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_25.eval',
8018 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_0.eval',
8019 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_1.eval',
8020 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_2.eval',
8021 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_3.eval',
8022 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_4.eval',
8023 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_5.eval',
8024 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_6.eval',
8025 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_7.eval',
8026 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_8.eval',
8027 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_9.eval',
8028 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_10.eval',
8029 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_11.eval',
8030 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_12.eval',
8031 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_13.eval',
8032 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_14.eval',
8033 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_15.eval',
8034 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_16.eval',
8035 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_17.eval',
8036 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_18.eval',
8037 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_19.eval',
8038 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_20.eval',
8039 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_21.eval',
8040 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_22.eval',
8041 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_23.eval',
8042 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_24.eval',
8043 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_25.eval'
8044
8045 ], 'Double check CDCL(T) solver for BMC constraints of SimpleTwoPhase').
8046 cli_testcase(2168, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8047 '../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents.mch', '-init',
8048 '-p', 'TIME_OUT', '60000',
8049 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_0.eval',
8050 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_1.eval',
8051 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_0.eval'
8052 %'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_1.eval' % sometimes exceeds the time limit on the Mac runner
8053 ], 'Double check CDCL(T) solver for BMC constraints of SearchEvents').
8054 cli_testcase(2169, [eventb_test,json_trace_replay,operation_reuse], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8055 '../prob_examples/public_examples/EventBPrologPackages/Abrial_Teaching/ch2_car/m3_mch.eventb',
8056 '-p', 'OPERATION_REUSE', 'TRUE', '-p', 'COMPRESSION', 'TRUE', '-mc', 500,
8057 '-property', 'd=3', '-cc', 239, 505,
8058 '-trace_replay', 'json',
8059 '../prob_examples/public_examples/EventBPrologPackages/Abrial_Teaching/ch2_car/m3_mch.prob2trace',
8060 '-read_write_matrix_csv', '../prob_examples/public_examples/EventBPrologPackages/Abrial_Teaching/ch2_car/m3_rw_matrix.csv'
8061 ], 'Check variant variables lead to no problem').
8062 cli_testcase(2170, [b_test,recursion,external,quantified,sequences,union,json_trace_replay,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8063 '../prob_examples/public_examples/B/Compilers/NFA.mch',
8064 '-trace_replay', 'json','../prob_examples/public_examples/B/Compilers/NFA.prob2trace'], 'Test trace replay with recursive symbolic functions.').
8065 cli_testcase(2171, [infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8066 '-evalt', '%n.(n:NATURAL|%x.(x:NATURAL|2*x+n)) = f & f = %n.(n:NATURAL|%y.(y:NATURAL|2*y+n))'
8067 ], 'Test comparison of symbolic functions / sets with alpha-conversion').
8068 cli_testcase(2172, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8069 '../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents.mch', '-init',
8070 '-p', 'TIME_OUT', '30000',
8071 '-evalf', ':prob-file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_0.eval',
8072 '-evalt', ':prob-file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_1.eval',
8073 '-evalf', ':prob-file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_2.eval'
8074 % SearchEvents_monolithic_bmc_k_3.eval too slow
8075 ], 'Adapted version of test 2168 for prob').
8076 cli_testcase(2173, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8077 '-p', 'TIME_OUT', '60000',
8078 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/Eval/SAT_uf20-02.eval',
8079 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/Eval/SAT_uf20-02_pred.eval',
8080 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/Eval/SAT_uf20-02_unsat.eval'
8081 ], 'Double check CDCL(T) solver for SAT constraints').
8082 cli_testcase(2174, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE',
8083 '../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching.mch',
8084 '-p', 'TIME_OUT', '3000', '-init',
8085
8086 '-evalf', ':prob-file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_0.eval',
8087 '-evalt', ':prob-file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_1.eval',
8088 '-evalt', ':prob-file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_2.eval',
8089 '-evalt', ':prob-file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_3.eval',
8090
8091 '-evalf', ':z3-free-file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_0.eval',
8092 '-evalt', ':z3-free-file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_1.eval',
8093 '-evalt', ':z3-free-file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_2.eval',
8094 '-evalt', ':z3-free-file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_3.eval'
8095 ], 'Variation of test 2166 with z3 and prob; testing new :z3-free command').
8096 cli_testcase(2175, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE',
8097 '-p', 'TIME_OUT', '3000',
8098 '-evalt', ':z3-double-check l = {1,2,4} & !x.(x:l => y /= x) & (#z.(z:l & y=z+z) <=> b=TRUE)',
8099 '-evalt', ':z3-double-check x : POW({1,2,y}) & z:x & z>2', % check precomputation does not fail
8100 '-evalt', ':z3-double-check !(x,y).(x|->y:[1,2,3] => v /= x)',
8101 '-evalt', ':z3-cns DOM = 1..3 & Board : POW(DOM * DOM * DOM)', % check POW elimination
8102 '-evalt', ':z3-cns Board : POW(DOM * DOM * DOM) & DOM <: INTEGER',
8103 %'-evalt', ':z3-axm Board : POW(DOM * DOM * DOM) & DOM <: INTEGER', % unknown since Z3 4.12.2
8104 '-evalt', ':z3-cns mxint = 500 & goal : -mxint ..mxint', % is now more performant
8105 '-evalt', ':z3-double-check not(A\\/B=BOOL & A/\\B={}) & A={TRUE} & A \\/ B = BOOL', % check negated partition
8106 %'-evalt', ':z3-double-check ((x:FIN(x) or x<:NATURAL1) => B=TRUE) & (x=1..10 or x = NATURAL) & B=TRUE', % TODO: mk_value fails
8107 '-evalt', ':z3-file ../prob_examples/public_examples/Eval/argumentation_theory.eval'
8108 ], 'Check quantifier expansion for z3').
8109 cli_testcase(2176, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8110 '-p', 'TIME_OUT', '60000',
8111 '-evalf', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & !ii.(ii:2..3 => aa(ii)/=aa(ii-1)) & ran(aa)={FALSE}',
8112 '-evalf', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & !ii.(ii:2..3 => aa(ii)/=aa(ii-1)) & ran(aa)={FALSE}',
8113 '-evalf', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & {ii|aa(ii)=TRUE} = dom(aa) & FALSE:ran(aa)',
8114 '-evalt', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & SIGMA(ii).(ii|->TRUE:aa|ii) = 6',
8115 '-evalf', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & SIGMA(ii).(ii|->TRUE:aa|ii) = 6 & FALSE:ran(aa)',
8116 '-evalt', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & PI(ii).(ii|->TRUE:aa|ii+1) = 24',
8117 '-evalf', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & PI(ii).(ii|->TRUE:aa|ii+1) = 24 & FALSE:ran(aa)',
8118 '-evalt', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & UNION(ii).(ii|->TRUE:aa |{ii}) = 1..3',
8119 '-evalf', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & UNION(ii).(ii|->TRUE:aa |{ii}) = 1..3 & FALSE:ran(aa)',
8120 '-evalt', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & INTER(ii).(ii|->TRUE:aa or ii=0|ii..(ii+1)) = 0..1',
8121 '-evalf', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & INTER(ii).(ii|->TRUE:aa or ii=0|ii..(ii+1)) = 0..1 & TRUE:ran(aa)',
8122 '-evalt', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & LET ii BE ii=3 IN aa(ii)=TRUE & x=1..ii END & a(ii)=FALSE'
8123 ], 'Check quantifier scoping for cdclt'). % see test 2557 for Z3 counterparts
8124 cli_testcase(2177, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8125 '../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents.mch', '-init',
8126 '-p', 'TIME_OUT', '60000',
8127 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'false',
8128 '-p', 'cdclt_perform_static_analysis', 'true',
8129 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem.eval',
8130 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem2.eval',
8131 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2.eval',
8132 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug.eval',
8133 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug2.eval',
8134 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug3.eval',
8135 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd.eval',
8136 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd2.eval',
8137 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd_contradiction.eval',
8138 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem.eval',
8139 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem2.eval',
8140 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2.eval',
8141 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug.eval',
8142 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug2.eval',
8143 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug3.eval',
8144 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd.eval',
8145 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd2.eval',
8146 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd_contradiction.eval'
8147 ], 'Test well-definedness issue for CDCL(T) solver to not report unsatisfiability for satisfiable formulas: SearchEvents').
8148 cli_testcase(2178, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8149 '../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/R6_Lights.eventb', '-init',
8150 '-p', 'TIME_OUT', '60000',
8151 '-p', 'cdclt_perform_static_analysis', 'true',
8152 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1_core.eval',
8153 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1_core.eval',
8154 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd.eval',
8155 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd.eval',
8156 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd2.eval',
8157 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd2.eval',
8158 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd3.eval',
8159 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd3.eval',
8160 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd_contradiction.eval',
8161 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd_contradiction.eval'
8162 ], 'Test well-definedness issue for CDCL(T) solver to not report unsatisfiability for satisfiable formulas: LandingGearLights').
8163 cli_testcase(2179, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8164 '../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents.mch', '-init',
8165 '-p', 'TIME_OUT', '60000',
8166 '-p', 'cdclt_perform_static_analysis', 'false',
8167 '-p', 'cdclt_perform_symmetry_breaking', 'true',
8168 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'false',
8169 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem.eval',
8170 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem2.eval',
8171 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2.eval',
8172 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug.eval',
8173 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug2.eval',
8174 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug3.eval',
8175 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd.eval',
8176 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd2.eval',
8177 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd_contradiction.eval',
8178 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem.eval',
8179 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem2.eval',
8180 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2.eval',
8181 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug.eval',
8182 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug2.eval',
8183 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug3.eval',
8184 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd.eval',
8185 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd2.eval',
8186 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd_contradiction.eval'
8187 ], 'Test well-definedness issue for CDCL(T) solver to not report unsatisfiability for satisfiable formulas without static analysis: SearchEvents').
8188 cli_testcase(2180, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8189 '../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/R6_Lights.eventb', '-init',
8190 '-p', 'cdclt_perform_static_analysis', 'false',
8191 '-p', 'TIME_OUT', '60000',
8192 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1_core.eval',
8193 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1_core.eval',
8194 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd.eval',
8195 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd.eval',
8196 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd2.eval',
8197 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd2.eval',
8198 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd3.eval',
8199 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd3.eval',
8200 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd_contradiction.eval',
8201 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd_contradiction.eval'
8202 ], 'Test well-definedness issue for CDCL(T) solver to not report unsatisfiability for satisfiable formulas without static analysis: LandingGearLights').
8203 cli_testcase(2181, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8204 '-evalt', '#file .(file:1..2)',
8205 '-evalt', '#file . (file:1..2)'], 'Check #file can be used for existential quantifier').
8206 cli_testcase(2182, [b_test,external,hash], ['stdlib/AssertionsForLibraryHash.mch', '-assertions', '-strict'], 'Assertions for LibraryHash').
8207 cli_testcase(2183, [b_test,forall], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8208 '-evalf', '!(x,y).(x|->y : { (y,x),(1,2)} => x<y)',
8209 '-evalf', '!(x,y).(x|->y : { (y,x),(1,2)} => x>y)',
8210 '-evalf', '!(x,y).(x>0 & x|->y : { (y,10/x),(1,2)} => y/=2)',
8211 '-evalt', '!(x,y).(x|->y : { (y,x),(1,2)} & x>0 & y>0 => x+y>0)'
8212 ], 'Test forall with sets reusing parameters').
8213 cli_testcase(2184, [cbc,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/QueensWithEvents_ForallTest1.mch',
8214 '-p', 'TIME_OUT', 18000, % increase time-out because now time-out applies to all solutions of an event
8215 '-mc', 60, '-cc', 43, 82, '-strict'], 'Check forall instead of perm in N-Queens').
8216 cli_testcase(2185, [cbc,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/QueensWithEvents_ForallTest2.mch',
8217 '-p', 'TIME_OUT', 4500, % increase time-out for macOS runner because now time-out applies to all solutions of an event
8218 '-mc', 60, '-cc', 7, 10, '-strict'], 'Check forall instead of perm in N-Queens').
8219 cli_testcase(2186, [cbc,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/QueensWithEvents_ForallTest3.mch',
8220 '-p', 'TIME_OUT', 5200, % increase time-out for swipl runner because now time-out applies to all solutions of an event
8221 '-mc', 60, '-cc', 7, 10, '-strict'], 'Check forall instead of perm in N-Queens').
8222 cli_testcase(2187, [cbc,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/QueensWithEvents_ForallTest2b.mch',
8223 '-p', 'TIME_OUT', 5200, % increase time-out because the time-out applies to all solutions of an event
8224 '-mc', 60, '-cc', 7, 10, '-strict'], 'Check forall instead of perm in N-Queens').
8225 cli_testcase(2188, [b_test,forall], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8226 '-evalt', 'a:1..n --> BOOL & !i.(i|->TRUE:a => i mod 2=0) & n=40 & !i.(i|->FALSE:a => i mod 2=1)',
8227 '-evalf', 'a:1..n --> BOOL & n=200 & !i.(i|->FALSE:a => i mod 2=1) & a(n)=FALSE',
8228 '-evalf', 'a:1..n --> BOOL & n=200 & !i.(i|->FALSE:a => i mod 2=1) & a(2)=FALSE'
8229 ], 'Test forall for set membership with a pattern is not delaying').
8230 cli_testcase(2189, [cbc,card,forall], ['../prob_examples/public_examples/B/Puzzles/Queens/NBishopsSets_v2.mch',
8231 '-p', 'TIME_OUT', 5000, % set it higher for Windows bot
8232 '-init'], 'See that ProB can solve this puzzle; variation of test 1631').
8233 cli_testcase(2190, [cbc_refinement,refinement], [
8234 '../prob_examples/public_examples/CSP/simple/RefinementChecks.csp',
8235 '--MAIN', 'A', '-mc', '100',
8236 '-save', '../prob_examples/public_examples/CSP/simple/RefinementChecks_A_spec.P'
8237 ], 'Save CSP state space for later refinement check').
8238 cli_testcase(2191, [cbc_refinement,refinement], [
8239 '../prob_examples/public_examples/CSP/simple/RefinementChecks.csp',
8240 '--MAIN', 'C',
8241 '-refchk', '../prob_examples/public_examples/CSP/simple/RefinementChecks_A_spec_saved.P'
8242 ], 'CSP refinement check against saved state space').
8243 cli_testcase(2192, [cbc_refinement,refinement], [
8244 '../prob_examples/public_examples/CSP/simple/RefinementChecks.csp',
8245 '--MAIN', 'D',
8246 '-refchk', '../prob_examples/public_examples/CSP/simple/RefinementChecks_A_spec_saved.P'
8247 ], 'CSP refinement check against saved state space').
8248 cli_testcase(2193, [cbc_refinement,refinement], [
8249 '../prob_examples/public_examples/CSP/simple/RefinementChecks.csp',
8250 '--MAIN', 'E',
8251 '-refchk', '../prob_examples/public_examples/CSP/simple/RefinementChecks_A_spec_saved.P'
8252 ], 'CSP refinement check against saved state space').
8253 cli_testcase(2194,[private_source_not_available],[
8254 '../private_examples/Thales/Hansen_FMTools_Issue2/WD_Issue.prob',
8255 '-df', '-mc', 200, '-expcterr', goal_found,
8256 '-p', 'TRY_FIND_ABORT', 'FALSE'], 'Ensure no wd error found').
8257 cli_testcase(2195, [tickets, union], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8258 '-evalt', '%i.(i:dom(g)|UNION(x,y).(x=g(i) & x:dom(f) & y = f(x) & y /= {} |y))=res & f = {2|->{22}} & g=[1,2]',
8259 '-evalt', '%i.(i:dom(g)|UNION(x,y).(x=g(i) & x:dom(f) & y = f(x) & y /= {} |y))=res & f = {2|->{22}} & g=[1,2] & res = {(1|->{}),(2|->{22})}',
8260 '-p', 'TRY_FIND_ABORT', 'TRUE'], 'Ensure no wd error found due to quant_union_inter_let/find_one_point rules bug').
8261 cli_testcase(2196, [error_checks], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8262 '-eval', 'x = {(1|->2)|->3, 44|->(55|->66)}',
8263 '-expcterr', 'type_expression_error'],
8264 'Ensure type error caught').
8265 cli_testcase(2197, [kodkod], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
8266 '-evalf', ':kodkod-double-check mx=10 & x: (0-mx)..mx & y:(0-1)..mx & z:(0-1)..mx & not((x=y or x=z) => (y=x or z=x)) & ((x=y <=> x=z) => (y=z or x/=y))',
8267 '-evalt', ':kodkod-double-check mx=10 & x: (0-mx)..mx & y:(0-1)..mx & z:(0-1)..mx & ((x=y or x=z) => (y=x or z=x)) & ((x=y <=> x=z) => (y=z or x/=y))',
8268 '-evalt', ':kodkod-double-check card({x,y,z,mx| mx=3 & x: (0-mx)..mx & y:(0-1)..mx & z:(0-1)..mx & ((x=y or x=z) => (y=x or z=x)) & ((x=y <=> x=z) => (y=z or x/=y))})=175',
8269 '-evalt', ':kodkod-double-check ({x,y,z,mx| mx=10 & x: (0-mx)..mx & y:(0-1)..mx & z:(0-1)..mx & not((x=y or x=z) => (y=x or z=x)) & ((x=y <=> x=z) => (y=z or x/=y))})={}',
8270 '-evalt', ':kodkod-double-check card({x,y,z,mx| mx=3 & x: (0-mx)..mx & y:(0-1)..mx & z:(0-1)..mx & ((x:{y,z}) => (x:{z,y})) & ((x=y <=> x=z) => (y=z or x/=y))})=175',
8271 '-evalt', ':kodkod-double-check ({x,y,z,mx| mx=10 & x: (0-mx)..mx & y:(0-1)..mx & z:(0-1)..mx & not((x:{y,z}) => (x:{z,y})) & ((x=y <=> x=z) => (y=z or x/=y))})={}',
8272 '-evalt', 'card({x,y,z,mx| mx=3 & x: (0-mx)..mx & y:(0-1)..mx & z:(0-1)..mx & (((x:{y,y}) => (x:{z,z})) & ((x=y <=> x=z) => (y=z or x/=y)))})=155'
8273 ], 'Ensure issue in kodkod integer cast typing solved').
8274 cli_testcase(2198, [b_test], ['../prob_examples/public_examples/B/Implementations/Values/DefSetsPartiallyEnum.mch',
8275 '../prob_examples/public_examples/B/Implementations/Values/DefSetsPartiallyEnumImp.imp',
8276 '../prob_examples/public_examples/B/Implementations/Values/DefSetsPartiallyEnum_v2.mch',
8277 '../prob_examples/public_examples/B/Implementations/Values/ArrayValuationAImp.imp',
8278 '../prob_examples/public_examples/B/Implementations/Values/EnumSetImp.imp',
8279 '-t', '-assertions', '-mc', 10, '-nodead'
8280 ], 'test VALUES clause can access constants in abstraction and check partial enumerated sets detection').
8281 cli_testcase(2199, [smt], ['../prob_examples/public_examples/SMT/SendMoreMoney.smt2',
8282 '../prob_examples/public_examples/SMT/KnightsKnaves.smt2'
8283 ], 'test Send More Money in SMTLib format').
8284 cli_testcase(2200, [ltl], ['../prob_examples/public_examples/B/LTL/Tests/UnchangedOperator.mch',
8285 '../prob_examples/public_examples/B/LTL/Tests/UnchangedOperator2.mch',
8286 '-ltlassertions',
8287 '-p', 'LTL_SAFETY_MODEL_CHECK', 'TRUE'
8288 ], 'test new LTL operators unchanged, changed, increasing, decreasing, BA').
8289 cli_testcase(2201, [ltl], ['../prob_examples/public_examples/B/LTL/Tests/UnchangedOperator.mch',
8290 '../prob_examples/public_examples/B/LTL/Tests/UnchangedOperator2.mch',
8291 '-ltlassertions',
8292 '-p', 'LTL_SAFETY_MODEL_CHECK', 'FALSE'
8293 ], 'test 2001 without LTL safety mc').
8294 cli_testcase(2202, [tickets], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8295 '-evalf', 'ff:1..1<->BOOL & not (ff : setX --> setY <=> (ff: setX +-> setY & dom(ff) = setX))',
8296 '-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (ff : setX --> setY <=> (ff: setX +-> setY & dom(ff) = setX))',
8297 % these below were already false before fixing the ticket; they just test other similar dangerous calls:
8298 '-evalf', 'ff:1..2<->BOOL & setX <: 1..3 & not (ff : setX --> setY <=> (ff: setX +-> setY & SIGMA(y).(y:dom(ff)|y)= SIGMA(y).(y:setX|y)))',
8299 '-evalf', 'SIGMA(y).(y:S|y) = 2 & S<:0..1',
8300 '-evalf', 'SIGMA(y).(y:S|y) = 2 & S<:0..1 & S={s1,s2}',
8301 '-evalt', 'SIGMA(y).(y:S|y) = 1 & S<:0..1 & S={s1,s2}',
8302 '-evalf', 'SIGMA(y).(y:S|y) = 4 & (S<:1..2 <=> f:1..2 --> BOOL) & f:1..2 +->BOOL & card(f)=2'
8303 ], 'check that subset-reification issue generating lists with duplicates is solved on SWI').
8304 cli_testcase(2203, [tickets,union], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8305 '-evalt', 'UNION(x,y).(x:INTEGER & y=x+1|{x|->y}) = f & f(2)=3',
8306 '-evalt', 'UNION(a,b).(a:1..2 & b:BOOL|{b|->a}) = UNION(b,a).(a:1..2 & b:BOOL|{b|->a})',
8307 '-evalt', 'UNION(a,b).(a:1..2 & b:BOOL|{b|->a}) = UNION(b,a,c).(a:1..2 & b:BOOL & c=a+1|{b|->a})',
8308 '-evalt', 'UNION(a,b,c).(a:BOOL & b:1..6 & c:10..20 & b+b=c|{b|->a}) = {(5|->FALSE),(5|->TRUE),(6|->FALSE),(6|->TRUE)}'
8309 ,
8310 '-evalt', 'UNION(c,b,a).(a:BOOL & b:1..6 & c:10..20 & b+b=c|{b|->a}) = {(5|->FALSE),(5|->TRUE),(6|->FALSE),(6|->TRUE)}',
8311 '-evalt', 'UNION(c,a,b).(a:BOOL & b:1..6 & c:10..20 & b+b=c|{b|->a}) = {(5|->FALSE),(5|->TRUE),(6|->FALSE),(6|->TRUE)}'
8312 ], 'check UNION into comprehension set translation').
8313 cli_testcase(2204,[wd,wd_prover],[
8314 '-evalt', ':prove (x>1 & x<20) => not(x mod 20 = 0)',
8315 '-evalt', ':prove (x>=1 & x<20) => not(x mod 20 = 0)',
8316 '-evalt', ':prove (x>1 & x<y) => not(x mod y = 0)',
8317 '-evalt', ':prove (x>=1 & x<20) => (x mod 20) >= 1',
8318 '-evalu', ':prove (x>1 & x<=20) => not(x mod 20 = 0)',
8319 '-evalu', ':prove (x>=1 & x<=20) => (x mod 20) >= 1',
8320 '-evalu', ':prove x>1 => not(x mod 20 = 0)',
8321 '-evalu', ':prove not(x mod 2 = 0) or not(x > 1)',
8322
8323
8324 '-evalt', ':prove x mod 2 /= 2',
8325 '-evalt', ':prove x mod 2 : 0..1',
8326 '-evalt', ':prove x mod 2 < 2',
8327 '-evalt', ':prove 2 mod x <= 2',
8328 '-evalt', ':prove x mod 2 : NATURAL',
8329 '-evalt', ':prove x mod 2 : {0,1}',
8330 '-evalt', ':prove x mod 2 : {0,1,3}',
8331 '-evalt', ':prove x:0..3 => x mod 4 : {0,1,2,3}',
8332 '-evalt', ':prove x:0..3 => x mod 4 : {0,1,2,3,5}',
8333 '-evalt', ':prove x:0..3 => x mod 6 : {0,1,2,3,4}',
8334 '-evalt', ':prove x:0..3 => x mod 5 : {0,1,2,3,5}',
8335 '-evalt', ':prove x:{1,2,3,4,5} => x mod 10 : {0,1,2,3,4,5,9}',
8336 '-evalt', ':prove x:{1,3,5} => x mod 10 : {0,1,2,3,4,5,9}',
8337 '-evalu', ':prove x mod 2 /= 1',
8338 '-evalu', ':prove x mod 2 /= 0',
8339 '-evalu', ':prove 2 mod x <= 1',
8340 '-evalu', ':prove 2 mod x > 0',
8341 '-evalu', ':prove x mod 2 : NATURAL1',
8342 '-evalu', ':prove x:0..3 => x mod 5 : {0,1,3,5}',
8343 '-evalu', ':prove x:{1,3,5,6} => x mod 10 : {0,1,2,3,4,5,9}',
8344 '-evalu', ':prove x mod 3 < 2'
8345 ], 'check bug in modulo proof rule fixed').
8346 cli_testcase(2205, [infinite, external, regex, let], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8347 '-evalt', 'f = %s.(s:STRING & REGEX_MATCH(s,"[a-z]+")=TRUE | s)',
8348 '-evalt', 'f = %s.(s:STRING & REGEX_MATCH(s,"[a-z]+")=TRUE | s) & f("abz") = "abz"',
8349 '-evalt', 'f = %s.(s:STRING & REGEX_MATCH(s,"[a-z]+")=TRUE | s) & "ab0" /: dom(f)',
8350 '-evalt', 'f = %s.(s:STRING & GET_STRING_IS_DECIMAL(s) = TRUE| s) & f("10.0") = "10.0" & "a" /: dom(f)',
8351 '-evalt', 'f = LET pat BE pat = "[a-z]+" IN %s.(s:STRING & REGEX_MATCH(s,pat)=TRUE | (pat,s)) END & f("abz")=r',
8352 '-evalt', 'f = LET pat BE pat = "[a-z]+" IN %s.(s:STRING & REGEX_MATCH(s,pat)=TRUE | REGEX_REPLACE(s,pat,"xx")) END & f("abz")="xx"',
8353 '-evalt', 'f = LET pat BE pat = "([a-z]+)([A-Z]*)" IN %s.(s:STRING & REGEX_MATCH(s,pat)=TRUE | REGEX_REPLACE(s,pat,"$1")) END & f("abzAZ")=abz', % also checks $1 feature
8354 '-evalt', 'f = LET pat BE pat = "([a-z]+)([A-Z]*)" IN %s.(s:STRING & REGEX_MATCH(s,pat)=TRUE | REGEX_REPLACE(s,pat,"$1.$2")) END & f("abzAZ")=abz.AZ', % also checks $1 feature
8355 '-evalt', 'f = %x.(x /= "" | x^x) & f("a") = "aa"',
8356 '-evalt', 'f = %x.("" /= x | x^x) & f("a") = "aa"',
8357 '-evalt', 'f = %x.(x /= 0 | 100/x) & f(2) = 50',
8358 '-evalt', 'f = %(x,y).(x /= 0 | y/x) & f(2,100) = 50',
8359 '-evalt', 'f = %(x,y).(x /= y | y/(y-x)) & f(5,10) = 2',
8360 '-evalt', 'f = %x.(x < y*y | x+x) & f(2)=res & y:3..5',
8361 '-evalt', 'f = %x.(x > y*y | x+x) & f(200)=res & y:3..5',
8362 '-evalt', 'f = %x.(x <= y*y | x+x) & f(2)=res & y:3..5',
8363 '-evalt', 'f = %x.(x >= y*y | x+x) & f(200)=res & y:3..5',
8364 '-evalt', 'f = %x.( y*y <= x | x+x) & f(200)=res & y:3..5'
8365 ], 'check detection of function as symbolic involving certain external predicates').
8366 cli_testcase(2206, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8367 '../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents.mch', '-init',
8368 '-p', 'TIME_OUT', '60000',
8369 '-p', 'cdclt_perform_static_analysis', 'false',
8370 '-p', 'cdclt_perform_symmetry_breaking', 'false',
8371 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'false',
8372 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem.eval',
8373 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem2.eval',
8374 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2.eval',
8375 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug.eval',
8376 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug2.eval',
8377 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug3.eval',
8378 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd.eval',
8379 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd2.eval',
8380 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd_contradiction.eval',
8381 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem.eval',
8382 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem2.eval',
8383 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2.eval',
8384 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug.eval',
8385 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug2.eval',
8386 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug3.eval',
8387 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd.eval',
8388 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd2.eval',
8389 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd_contradiction.eval'
8390 ], 'Test well-definedness issue for CDCL(T) solver to not report unsatisfiability for satisfiable formulas without static analysis and symmetry breaking: SearchEvents').
8391 cli_testcase(2207, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8392 '../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/R6_Lights.eventb', '-init',
8393 '-p', 'TIME_OUT', '60000',
8394 '-p', 'cdclt_perform_static_analysis', 'true',
8395 '-p', 'cdclt_perform_symmetry_breaking', 'false',
8396 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1_core.eval',
8397 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd.eval',
8398 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1_core.eval',
8399 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd.eval',
8400 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd2.eval',
8401 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd2.eval',
8402 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd3.eval',
8403 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd3.eval',
8404 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd_contradiction.eval'
8405 ], 'Test well-definedness issue for CDCL(T) solver to not report unsatisfiability for satisfiable formulas: LandingGearLights (static analysis but no symmetry breaking)').
8406 cli_testcase(2208, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8407 '../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/R6_Lights.eventb', '-init',
8408 '-p', 'TIME_OUT', '60000',
8409 '-p', 'cdclt_perform_static_analysis', 'false',
8410 '-p', 'cdclt_perform_symmetry_breaking', 'false',
8411 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1_core.eval',
8412 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd.eval',
8413 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1_core.eval',
8414 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd.eval',
8415 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd2.eval',
8416 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd2.eval',
8417 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd3.eval',
8418 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd3.eval',
8419 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd_contradiction.eval'
8420 ], 'Test well-definedness issue for CDCL(T) solver to not report unsatisfiability for satisfiable formulas: LandingGearLights (no static analysis or symmetry breaking)').
8421 cli_testcase(2209,[private_source_not_available],[
8422 '../private_examples/ClearSy/2022/28_Apr/rule_RVF219/rule_RVF219_compo.mch',
8423 '-execute_all', '-silent',
8424 '-evalt', 'caval__rule__1__done=TRUE & caval__rule__2__done=TRUE & caval__rule__3__done=TRUE & caval__rule__4__done=TRUE & caval__rule__8__done=TRUE',
8425 '-evalt', 'card(caval__rule__2__ALL)=25504'
8426 ], 'Test performance issue with term_variables in exists').
8427 cli_testcase(2210,[cbc,quantified,exists],[
8428 '-evalt', '{x|x:1..10 & #y.(y>x & y*y >10)}=res',
8429 '-evalt', 'card({x|x:1..10 & #y.(y>x & y*y >10)})=10'
8430 ], 'Check enumeration warning in existential quantifier not propagated out').
8431 cli_testcase(2211,[wd,wd_prover],[
8432 '-evalt', ':prove shock_absorber:INTEGER => not(shock_absorber : {ground,flight} \\ {shock_absorber})',
8433 '-evalt', ':prove shock_absorber:INTEGER => (shock_absorber /: {ground,flight} \\ {shock_absorber})',
8434 '-evalu', ':prove shock_absorber:INTEGER => not(shock_absorber /: {ground,flight} \\ {shock_absorber})',
8435 '-evalt', ':prove x:INTEGER & x=shock_absorber => (x /: {ground,flight} \\ {shock_absorber})',
8436 '-evalt', ':prove x:BOOL & x=shock_absorber => not(x : {ground,flight} \\ {shock_absorber})',
8437 '-evalt', ':prove x<:BOOL & x /<: y => x/=y',
8438 '-evalt', ':prove x<:BOOL & x /<: y => y/=x',
8439 '-evalt', ':prove x<:BOOL & x /<: y => not(y=x)',
8440 '-evalt', ':prove x>0 & y>0 => not(x>0 & y<=0)',
8441 '-evalt', ':prove x>0 & y>0 => not(x<=0 & y>0)',
8442 '-evalt', ':prove x>0 & y>0 => not(x<=0 & y<=1)',
8443 '-evalu', ':prove x>0 & y>0 => not(x<=1 & y<=1)',
8444 '-evalt', ':prove x>0 & y>0 => not(x<=0 or y<=0)',
8445 '-evalu', ':prove x>0 & y>0 => not(x<=0 or y>0)',
8446 '-evalt', ':prove x>0 => (y>0 => not(x<=0 or y<=0))',
8447 '-evalt', ':prove x>0 => ( x=1 or x>1)',
8448 '-evalu', ':prove x>0 => not( x=1 or x>1)',
8449 '-evalt', ':prove x>0 => not( x/=1 & not(x>1))',
8450 '-evalt', ':prove x>1 & y>2 => not( x>0 => not(y>2))',
8451 '-evalt', ':prove a <:b & a /<<: {1,2} => b /<<: {1,2}', % requires to push all hyps (push_more_hyps option)
8452 '-evalt', ':prove a ={} & b<:BOOL => b/<<:a',
8453 '-evalt', ':prove a =BOOL & b<:BOOL => a/<<:b',
8454 '-evalu', ':prove a ={} & b<:BOOL => a/<<:b',
8455 '-evalu', ':prove a =BOOL & b<:BOOL => b/<<:a',
8456 '-evalt', ':prove a ={} & b<:BOOL & a/=b => b/<:a',
8457 '-evalt', ':prove a ={} & b<:BOOL & a/=b => not(b<:a)',
8458 '-evalu', ':prove a ={} & b<:BOOL & a/=c => not(b<:a)',
8459 '-evalt', ':prove a=b => (a>0 <=> b>0)',
8460 '-evalu', ':prove a=b => (a>0 <=> b>=0)',
8461 '-evalu', ':prove a>=b => (a>0 <=> b>0)',
8462 '-evalt', ':prove a:INTEGER => (a>b <=> not(b>=a))',
8463 '-evalt', ':prove a:INTEGER => not(a>b <=> not(a>b))',
8464 '-evalu', ':prove a:INTEGER => not(a>b <=> not(a>=b))',
8465 '-evalu', ':prove a<:BOOL => not(a<:b <=> b<:a)',
8466 '-evalu', ':prove a<:BOOL => not(not(a<:b) <=> not(b<:a))',
8467 '-evalt', ':prove a<:BOOL => not((a<:b) <=> not(a<:b))', % requires to push all hyps
8468 '-evalt', ':prove a<:BOOL => not(not(a<<:b) <=> (a<<:b))', % ditto, requires push_more_hyps option
8469 '-evalt', ':prove x<:INTEGER & inter({x,y,{1}}) : FIN(inter({x,y,{1}}))',
8470 '-evalt', ':prove x<:POW(INTEGER) & inter({{1}}\\/x) : FIN(inter({{1}}\\/x))',
8471 '-evalu', ':prove x<:POW(INTEGER) & inter({NATURAL}\\/x) : FIN(inter({NATURAL}\\/x))'
8472 ], 'check wd prover can deal with negations in goal').
8473 cli_testcase(2212, [b_test,json_trace_replay], [
8474 '../prob_examples/public_examples/B/Tester/Includes/InclQueue.mch',
8475 '-trace_replay', 'json', '../prob_examples/public_examples/B/Tester/Includes/InclQueue.prob2trace'
8476 ], 'Check inclusion of machine with parameters').
8477 cli_testcase(2213, [cbc,disprover,private], [
8478 '../prob_examples/public_examples/ProofObligations/Tickets/TestPartialFunctionBuggyProofRule_ctx.pl',
8479 '-check_disprover_result', 0,1,0,
8480 '-p', 'DOUBLE_EVALUATION', 'TRUE',
8481 '-export_po' % exercise the export_po_as_machine (nested_print_sequent_as_classicalb)
8482 % this is also done in ProB for Rodin
8483 ],'Test this PO involving partial function cannot be proven').
8484 cli_testcase(2214, [ltl], ['../prob_examples/public_examples/EventBPrologPackages/OperatingSystem/12301853/m03_proB_mch.eventb',
8485 '--model-check', '-expcterr', 'model_check_incomplete' , '-cc', 465, 1662,
8486 '-p', 'CLPFD', 'FALSE', '-p', 'MAX_OPERATIONS', 20,
8487 '-ltlfile',
8488 '../prob_examples/public_examples/EventBPrologPackages/OperatingSystem/12301853/LTL_m03.ltl'],
8489 'Check Rodin LTL file format now supported').
8490 cli_testcase(2215, [ltl], ['../prob_examples/public_examples/EventBPrologPackages/OperatingSystem/12301853/m06_proB_mch.eventb',
8491 '--model-check', '-expcterr', 'model_check_incomplete' , '-cc', 309, 964,
8492 '-p', 'CLPFD', 'FALSE', '-p', 'MAX_OPERATIONS', 30,
8493 '-ltlfile',
8494 '../prob_examples/public_examples/EventBPrologPackages/OperatingSystem/12301853/LTL_m06.ltl'],
8495 'Check Rodin LTL file format now supported').
8496 cli_testcase(2216, [ltl], ['../prob_examples/public_examples/EventBPrologPackages/OperatingSystem/12301853/m11_proB_mch.eventb',
8497 '--model-check', '-cc', 105, 252,
8498 '-p', 'CLPFD', 'FALSE', '-p', 'MAX_OPERATIONS', 30, '-p', 'MAX_INITIALISATIONS', 100,
8499 '-ltlfile',
8500 '../prob_examples/public_examples/EventBPrologPackages/OperatingSystem/12301853/LTL_m11.ltl'],
8501 'Check Rodin LTL file format now supported').
8502 cli_testcase(2217, [eventb_test,operation_reuse],
8503 ['../prob_examples/examples/RodinModels/Pacemaker/M4_VVIR_prob_mch.eventb',
8504 '-mc', 100000, '-cc', 25814, 42617 , '-p', 'OPERATION_REUSE', 'TRUE', '-p', 'COMPRESSION', 'TRUE',
8505 '-expcterr', 'model_check_incomplete'
8506 ], 'Check Pacemaker model with operation reuse.').
8507 cli_testcase(2218, [eventb_test,operation_reuse],
8508 ['../prob_examples/examples/RodinModels/Pacemaker/M4_VVIR_prob_mch.eventb',
8509 '-cbc', all,
8510 '-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 100
8511 ], 'Check that all proof info available for Pacemaker model (with conjuncts as invariants).').
8512 cli_testcase(2219, [tickets], ['../prob_examples/public_examples/B/ErrorMachines/ParseErrors/SemicolonError.mch',
8513 '-expcterrpos', parse_error, 6, 17,
8514 '-expcterrpos', parse_error, 8, 18, '-expcterr', 'load_main_file'
8515 ], 'Check semicolons detected'). % https://github.com/hhu-stups/prob-issues/issues/141
8516 cli_testcase(2220, [b_test,json_trace_replay,visb], [
8517 '../prob_examples/public_examples/B/VisB/TrafficLight/TrafficLight.mch', '-init',
8518 '-visb-click', 'peds_green',
8519 '-visb-click', 'peds_red',
8520 '-visb-click', 'cars_yellow_1',
8521 '-visb-click', 'cars_green',
8522 '-visb-click', 'cars_yellow_2',
8523 '-visb-click', 'cars_red',
8524 '-visb-click', 'peds_green',
8525 '-visb', '../prob_examples/public_examples/B/VisB/TrafficLight/traffic_light.json',
8526 '../prob_examples/public_examples/B/VisB/TrafficLight/TrafficLight_Trace.html',
8527 '-his', '../prob_examples/public_examples/B/VisB/TrafficLight/TrafficLight_Trace.txt'
8528 %'-his_option','json' % cannot be tested for equality at moment because of metadata
8529 ],
8530 'Check VisB click response').
8531 cli_testcase(2221, [b_test,infinite,memoize,recursion], [
8532 '../prob_examples/public_examples/B/RecursiveFunctions/Fibonacci_Memoized.mch', '-assertions', '-init',
8533 '-csv', 'prob_memo_profile', 'user_output',
8534 '-csv', 'constants_analysis', 'user_output',
8535 '-assertions'],
8536 'test new prob_memo_profile csv command').
8537 cli_testcase(2222, [xtl,ctl], ['../prob_examples/public_examples/XTL/microwave.P',
8538 '-ctlformulat', 'AG ({closed} or {open})',
8539 '-ctlformulat', 'EF ( EG ({closed}))',
8540 '-ctlformulaf', 'EG ({closed})',
8541 '-ctlformulat', 'EF ({heat})',
8542 '-ctlformulaf', 'EF ( AG ({closed}))',
8543 '-ctlformulaf', 'AF ({heat})',
8544 '-ctlformulat', 'AX ({closed})',
8545 '-ctlformulat', 'AX AX({heat} or {open})'
8546 ], 'Testing CTL for XTL model').
8547 cli_testcase(2223,[cbc,external],[
8548 '-evalt', '{v|%(r,s).(r:INTEGER|r+s)(0|->%(x,y).(x:INTEGER|x*y)(v|->v))=10000} = {-100,100}',
8549 '-evalt', '{v|%(r,s).(r:INTEGER|r*s)(v|->%(x,y).(x:INTEGER|x*y)(v|->v))=1000} = {10}',
8550 '-evalt', '{v|%(r,s).(r:INTEGER|r*s)(v|->%(x,v).(x:INTEGER|x*v)(v|->v))=1000} = {10}',
8551 '-evalf', '%(r,s).(r:INTEGER|r+s)(0|->%(x,y).(x:INTEGER|x*y)(v|->v))=1000',
8552 '-evalf', '%(r,s).(r:INTEGER|r*s)(v|->%(x,y).(x:INTEGER|x*y)(v|->v))=10000',
8553 '-evalf', '%(r,s).(r:INTEGER|r*s)(v|->%(x,v).(x:INTEGER|x*v)(v|->v))=10000',
8554 '-evalt', '(%(x,y).(x:INTEGER|%v.(v:INTEGER|v+x*y))(v|->v))(0)=10000',
8555 '-evalf', '(%(x,y).(x:INTEGER|%v.(v:INTEGER|v+x*y))(v|->v))(0)=1000',
8556 '-evalt', '{v|(%(x,y).(x:INTEGER|%v.(v:INTEGER|v+x*y))(v|->v))(0)=10000}={-100,100}',
8557 '-evalt', 's=STRINGIFY(%(r,s).(r:INTEGER|r*s)(v|->%(x,y).(x:INTEGER|x*y)(v|->v))) & s = "v * (v * v)"'
8558 ], 'Check lambda function call inlining').
8559 cli_testcase(2224, [error_checks,wd], [
8560 '../prob_examples/public_examples/B/FeatureChecks/DEFINITIONS/DefCallStackDisplay.mch',
8561 '../prob_examples/public_examples/B/FeatureChecks/DEFINITIONS/DefCallStackDisplay2.mch',
8562 '../prob_examples/public_examples/B/FeatureChecks/DEFINITIONS/DefCallStackDisplay3.mch',
8563 '-model_check',
8564 '-expcterr', well_definedness_error
8565 ],
8566 'exercise printing of call stack').
8567
8568 cli_testcase(2225,[b_test,operation_calls_in_expr],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8569 '../prob_examples/public_examples/B/Tickets/OpCallsInExpr/OpCallInExpression.mch',
8570 '../prob_examples/public_examples/B/Tickets/OpCallsInExpr/OpCallInExpression_v4.mch',
8571 '../prob_examples/public_examples/B/Tickets/OpCallsInExpr/OpCallInExpression2.mch',
8572 '-mc', '1000',
8573 '-assertions'
8574 ], 'Test calling operations in expressions mixed with allowing local calls').
8575 cli_testcase(2226,[b_test,operation_calls_in_expr],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8576 '../prob_examples/public_examples/B/Tickets/OpCallsInExpr/OpCallInExpression_v2.mch',
8577 '-init',
8578 '-expcterrpos', type_error, 13, 31, '-expcterr', load_main_file
8579 ], 'Detect erroneous operation call').
8580 cli_testcase(2227,[b_test,operation_calls_in_expr],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8581 '../prob_examples/public_examples/B/Tickets/OpCallsInExpr/OpCallInExpression_v3.mch',
8582 '-init',
8583 '-expcterrpos', type_error, 14, 11, '-expcterr', load_main_file
8584 ], 'Detect erroneous operation call').
8585 cli_testcase(2228, [laws,rel_fnc], ['../prob_examples/public_examples/B/Laws/RelLaws.mch', '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE', '-expcterr', 'model_check_incomplete',
8586 '-p', 'OPTIMIZE_AST', 'FALSE'], 'Test 297 without OPTIMIZE_AST.').
8587 cli_testcase(2229, [eventb_test, theories], ['-mc', 100, '-cc', 9, 16, '-strict', '../prob_examples/public_examples/EventBPrologPackages/Theory/Mammar_Somme/sum_set.eventb'], 'Check support for SUM axiomatic operator on sets of integers').
8588 cli_testcase(2230, [eventb_test, theories, json_trace_replay],
8589 ['-mc', 100, '-expcterr', 'model_check_incomplete', '-assertions',
8590 '-trace_replay', 'json', '../prob_examples/public_examples/EventBPrologPackages/Theory/TestTheoryFloats1_mch.prob2trace',
8591 '../prob_examples/public_examples/EventBPrologPackages/Theory/TestTheoryFloats1_mch.eventb'],
8592 'Check support for real operators').
8593 cli_testcase(2231, [eventb_test, theories, json_trace_replay,strings],
8594 ['-mc', 3, '-assertions', '-nodead',
8595 '-p', 'AUTO_DETECT_THEORY_MAPPING', 'TRUE',
8596 '../prob_examples/public_examples/EventBPrologPackages/Theory/StandardLibrary/RealTheoryTests1_ctx.eventb',
8597 '../prob_examples/public_examples/EventBPrologPackages/Theory/TestStringTheory1_ctx.eventb',
8598 '../prob_examples/public_examples/EventBPrologPackages/Theory/TestRealsOpTheory_ctx.eventb'],
8599 'Check support for strings, unicode REAL and new preference').
8600 cli_testcase(2232, [eventb_test, theories, clpfd_tables],
8601 ['-mc', 100, '-opterr', 'model_check_incomplete', '-assertions', '-nodead',
8602 '-opterr', 'virtual_time_out',
8603 '-p', 'AUTO_DETECT_THEORY_MAPPING', 'TRUE',
8604 '../prob_examples/public_examples/EventBPrologPackages/Theory/StandardLibrary/Sampler_mch.eventb',
8605 '../prob_examples/public_examples/EventBPrologPackages/Theory/StandardLibrary/Sampler2_mch.eventb',
8606 '../prob_examples/public_examples/EventBPrologPackages/Theory/StandardLibrary/JobQueue_mch.eventb',
8607 '../prob_examples/public_examples/EventBPrologPackages/Theory/StandardLibrary/ConnectedNetwork_mch.eventb'],
8608 % Sampler2 creates a simulation_error when using SICStus 4.7 standard table/2 constraint
8609 'Check support for standard library without .ptm theory mapping file and fix issue with SICS table/2').
8610 cli_testcase(2233, [cbc,sigma], [
8611 '-evalt', ' data = {TRUE|->0, FALSE|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
8612 '-evalt', ' data = {1|->0, 2|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
8613 '-evalt', ' data = {1|->-1, 2|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-2',
8614 '-evalt', ' data = {1|->1, 2|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=0',
8615 '-evalt', ' data = {1|->-1, 2|->-1} & res = PI(x,y).(x|->y:data|y) & res=1',
8616 '-evalt', ' data = {1|->0, 2|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res<0',
8617 '-evalt', ' data = {1|->0, 2|->-1} & res = PI(x,y).(x|->y:data|y) & res=0',
8618 '-evalt', ' data = {1|->2, 2|->-1} & res = PI(x,y).(x|->y:data|y) & res=-2',
8619 '-evalt', ' data = {1|->0, 3|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
8620 '-evalt', ' data = {1|->0, 2|->0, 3|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
8621 '-evalt', ' data = {1|->0, 2|->0, 3|->-1, 4|->0} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
8622 '-evalt', ' data = {1|->0, 2|->0, 3|->-1, 4|->0, -1|->0} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
8623 '-evalt', ' data = {1|->0, 2|->0, 3|->-1, 4|->0, -1|->2} & res = SIGMA(x,y).(x|->y:data|y) & res=1',
8624 '-evalt', ' data = {1|->0, 2|->0, 3|->-1, 5|->0, -11|->2} & res = SIGMA(x,y).(x|->y:data|y) & res=1',
8625 '-evalt', ' data = {"a"|->0, "b"|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
8626 '-evalt', ' data = {(1,1)|->0, (1,2)|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
8627 '-evalt', ' data = {(1,1)|->0, (2,1)|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
8628 '-evalt', ' data = {1|->0, 1|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
8629 '-evalt', ' data = {(1,1)|->0, (1,1)|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
8630 '-evalt', ' data = {(1,1)|->0, (1,1)|->-1, (1,2)|->0} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
8631 '-evalt', ' data = {rec(f:1)|->0, rec(f:2)|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
8632 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
8633 ], 'check bug in clpfd:table/2 circumvented').
8634 cli_testcase(2234, [tla,visb,cbc], ['../prob_examples/public_examples/TLA/TLA_Examples/EinsteinRiddle/Einstein.tla',
8635 '-cbc', all, '-expecterr', cbc,
8636 '-visb_with_vars', '../prob_examples/public_examples/TLA/TLA_Examples/EinsteinRiddle/Einstein_tla.json',
8637 '../prob_examples/public_examples/TLA/TLA_Examples/EinsteinRiddle/Einstein.html'
8638 ], 'check TLA model can be solved and visualised'). % see also test 2090
8639 cli_testcase(2235, [visb,dot], ['../prob_examples/public_examples/B/Mathematical/AI/MCTS.mch',
8640 '-animate', 100,
8641 '-dot', 'custom_graph', '../prob_examples/public_examples/B/Mathematical/AI/MCTS_100.dot',
8642 % we could also generate .pdf
8643 '-visb_with_vars', '../prob_examples/public_examples/B/Mathematical/AI/MCTS_visb.json',
8644 '../prob_examples/public_examples/B/Mathematical/AI/MCTS_100.html'
8645 ], 'check MCTS with VisB and CustomGraph').
8646 cli_testcase(2236, [b_test,strings], [
8647 '-evalt', ' size("a//") = 3',
8648 '-evalt', ' size("a// ") = 4',
8649 '-evalt', ' "abc//def" = "abc/" ^ "/def"',
8650 '-evalt', ' size("a// ") = 4 // comment',
8651 '-evalt', ' size("a// ") = /* comment */ 4 // comment',
8652 '-evalt', ' size("a\\\\") = 2'
8653 ], 'check double slash in strings').
8654 cli_testcase(2237, [laws], ['../prob_examples/public_examples/B/Laws/ArithmeticLaws.mch',
8655 '../prob_examples/public_examples/B/Laws/ArithmeticExpLaws.mch',
8656 '-p', 'CLPFD', 'FALSE',
8657 '-mc', '100000', '-cs', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE'], 'Test 295 without CLPFD.').
8658 cli_testcase(2238,[tickets,json_trace_replay],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8659 '../prob_examples/public_examples/B/Tickets/Gruteser1/Ticket_clpfd_Rangierfahrt.mch',
8660 '-trace_replay', 'json', '../prob_examples/public_examples/B/Tickets/Gruteser1/Ticket_clpfd_Rangierfahrt.prob2trace'
8661 ], 'Check opt_ground_atom accidental cut issue solved').
8662 cli_testcase(2239,[tickets,json_trace_replay],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8663 '../prob_examples/public_examples/B/Tickets/Gruteser1/Rangierfahrt0_prob.mch',
8664 '-trace_replay', 'json', '../prob_examples/public_examples/B/Tickets/Gruteser1/ProblemTrace.prob2trace'
8665 ], 'Check opt_ground_atom accidental cut issue solved on larger example'). % step 24 is the important one
8666 cli_testcase(2240,[tickets,operation_reuse,json_trace_replay],[ % prob-issues #238
8667 '../prob_examples/public_examples/B/Tickets/Vu_TraceReplayOpReuse/Poker.mch', '-p', 'OPERATION_REUSE', 'TRUE',
8668 '-trace_replay', 'json', '../prob_examples/public_examples/B/Tickets/Vu_TraceReplayOpReuse/Poker.prob2trace'
8669 ], 'Check operation caching copies max reached infos to ensure executed by predicate is used by trace replay').
8670 cli_testcase(2241, [cruise,ltl,safety], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-ltlformulat', 'G ([CruiseBecomesAllowed] => X e(SetCruiseSpeed))', '-p', 'LTL_SAFETY_MODEL_CHECK', 'TRUE',
8671 '-cc', '1361', '25696', '-p', 'MAX_INITIALISATIONS', 5], 'Ensure safety mc inspects entire state space').
8672 cli_testcase(2242,[b_test,json_trace_replay],[
8673 '../prob_examples/public_examples/B/Other/Leftpad/Leftpad_i.imp',
8674 '-trace_replay', 'json', '../prob_examples/public_examples/B/Other/Leftpad/Leftpad_i.prob2trace'
8675 ], 'Check VALUES clause with interval as set').
8676 cli_testcase(2243,[ltl,external],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8677 '../prob_examples/public_examples/B/LTL/Tests/NonDetOutput.mch',
8678 '-ltlformulat', 'G {GET_IS_DET("Set")=TRUE}',
8679 '-ltlformulaf', 'G {GET_IS_DET_OUTPUT("Choose")=TRUE}',
8680 '-ltlformulat', 'G {NON_DET_STATE=FALSE}',
8681 '-ltlformulaf', 'G {NON_DET_OUTPUT_STATE=FALSE}',
8682 '-ltlformulat', 'G {not("Set" : NON_DET_OUTPUT_OPERATIONS)}',
8683 '-ltlformulaf', 'G {not("Choose" : NON_DET_OUTPUT_OPERATIONS)}'
8684 ], 'Check using external determinism checking functions in LTL').
8685 cli_testcase(2244,[wd],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8686 '-evalt', ':check-ast x/0 = x mod 0',
8687 '-evalt', ':check-ast first({})=1 => last({})=2',
8688 '-evalt', ':check-ast last({})=1 => tail([3,2])=[2]',
8689 '-evalt', ':check-ast (min({})=1 or max({})=1) <=> {}(2)>0',
8690 '-evalt', ':check-ast (-1)**2 = x',
8691 '-evalt', ':check-ast 2>3 => (-1)**2 = x',
8692 '-evalt', ':check-ast #lkyde.(union(lkyde) <: {FALSE,TRUE})'
8693 ], 'Run a few ASTs with WD conditions through check-ast').
8694 cli_testcase(2245,[b_test,refinement,json_trace_replay],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8695 '../prob_examples/public_examples/B/FeatureChecks/InclusionChecks/SimpleRefSees/Ref1.ref',
8696 '-trace_replay', 'json', '../prob_examples/public_examples/B/FeatureChecks/InclusionChecks/SimpleRefSees/Ref1.prob2trace'
8697 ], 'Check inclusion at abstract and refined level').
8698 cli_testcase(2246,[b_test,refinement,json_trace_replay],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8699 '../prob_examples/examples/B/KILOK/Aufteilung/Rangierfahrt_KI_prob.mch',
8700 '-trace_replay', 'json', '../prob_examples/examples/B/KILOK/Aufteilung/Rangierfahrt_KI_prob.prob2trace'
8701 ], 'Check inclusion at abstract and refined level').
8702 cli_testcase(2247,[b_test,refinement,json_trace_replay],[
8703 '../prob_examples/examples/B/KILOK/Aufteilung/Rangierfahrt_KI.mch',
8704 '-trace_replay', 'json', '../prob_examples/examples/B/KILOK/Aufteilung/Rangierfahrt_KI.prob2trace'
8705 ], 'Check inclusion at abstract and refined level, in particular for deferred sets'). % machine has invariant violation
8706 cli_testcase(2248,[cbc,tickets],[
8707 '-evalt', 'mousePositionBlockSlot : POW(INTEGER) & not(mousePositionBlockSlot = {})',
8708 '-evalt', 'mp : POW(INTEGER) & isClickedBlock = mp & not(mp <: blockedTime) & not(mp = {})',
8709 '-p', 'TRACE_INFO', 'TRUE', '-p', 'SMT', 'TRUE'
8710 ], 'Check trace value printing issue fixed').
8711 cli_testcase(2249, [cdclt], [%'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8712 '../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/R4_Handle.eventb', '-init',
8713 '-p', 'TIME_OUT', '60000',
8714 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/test.eval',
8715 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_0.eval',
8716 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1.eval',
8717 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2.eval',
8718 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction.eval',
8719 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction2.eval',
8720 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction.eval',
8721 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction2.eval',
8722 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction3.eval',
8723 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction4.eval',
8724 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution.eval',
8725 %'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution2.eval', % timeout
8726 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution3.eval',
8727 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution4.eval',
8728 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution.eval',
8729 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution2.eval',
8730 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution3.eval',
8731 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution5.eval',
8732 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution6.eval',
8733 %'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution7.eval', % timeout
8734 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution8.eval',
8735 %'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution9.eval', % timeout
8736 %'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution10.eval', % timeout again after eval_set_extension pre-compiles sets with enumerated set elements
8737 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/test.eval',
8738 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_0.eval',
8739 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1.eval',
8740 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction.eval',
8741 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction2.eval',
8742 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction.eval',
8743 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction2.eval',
8744 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction3.eval',
8745 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction4.eval',
8746 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution.eval',
8747 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution2.eval',
8748 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution3.eval',
8749 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution4.eval',
8750 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution.eval',
8751 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution2.eval',
8752 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution3.eval',
8753 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution4.eval',
8754 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution5.eval',
8755 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution6.eval',
8756 %'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution7.eval', % timeout
8757 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution8.eval'
8758 %'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution9.eval', % timeout
8759 ], 'Double check CDCL(T) solver for BMC constraints of Landing Gear R4 Handle').
8760 cli_testcase(2250, [cdclt], [ %'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8761 '../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/R4_Handle.eventb', '-init',
8762 '-p', 'TIME_OUT', '60000',
8763 '-p', 'cdclt_perform_static_analysis', 'false',
8764 '-p', 'cdclt_perform_symmetry_breaking', 'false',
8765 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/test.eval',
8766 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_0.eval',
8767 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1.eval',
8768 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction.eval',
8769 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction2.eval',
8770 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2.eval',
8771 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction.eval',
8772 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction2.eval',
8773 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction3.eval',
8774 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction4.eval',
8775 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution.eval',
8776 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution2.eval',
8777 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution3.eval',
8778 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution4.eval',
8779 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution.eval',
8780 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution2.eval',
8781 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution3.eval',
8782 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution5.eval',
8783 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution6.eval',
8784 %'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution7.eval', % timeout
8785 %'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution8.eval', % timeout
8786 %'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution9.eval', % timeout
8787 %'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution10.eval', % timeout
8788 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/test.eval',
8789 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_0.eval',
8790 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1.eval',
8791 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction.eval',
8792 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction2.eval',
8793 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction.eval',
8794 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction2.eval',
8795 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction3.eval',
8796 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction4.eval',
8797 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution.eval',
8798 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution2.eval',
8799 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution3.eval',
8800 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution4.eval',
8801 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution.eval',
8802 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution2.eval',
8803 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution3.eval',
8804 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution4.eval',
8805 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution5.eval',
8806 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution6.eval',
8807 %'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution7.eval', % timeout
8808 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution8.eval'
8809 %'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution9.eval', % timeout
8810 %'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution10.eval' % timeout due to adding finite PO
8811 ], 'Double check CDCL(T) solver without static analysis and symmetry breaking for BMC constraints of Landing Gear R4 Handle').
8812 cli_testcase(2251, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8813 '../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/R4_Handle.eventb', '-init',
8814 '-p', 'TIME_OUT', '60000',
8815 %'-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/test.eval', % timeout
8816 %'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_0.eval', % unknown
8817 %'-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1.eval', % unknown
8818 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction.eval',
8819 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction2.eval',
8820 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction.eval',
8821 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction2.eval',
8822 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction3.eval',
8823 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction4.eval',
8824 '-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution.eval',
8825 %'-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution2.eval', % unknown
8826 '-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution3.eval',
8827 %'-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution4.eval', % unknown
8828 %'-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution.eval', % timeout
8829 %'-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution2.eval', % unknown
8830 '-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution3.eval',
8831 %'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/test.eval', % unknown
8832 %'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_0.eval', % unknown
8833 %'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1.eval', % occasional unknown
8834 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction.eval',
8835 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction2.eval',
8836 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction.eval',
8837 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction2.eval',
8838 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction3.eval',
8839 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction4.eval',
8840 '-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution.eval',
8841 %'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution2.eval', % occasional unknown
8842 '-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution3.eval'
8843 %'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution4.eval', % unknown
8844 %'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution.eval', % unknown
8845 %'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution2.eval', % unknown
8846 %'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution3.eval' % unknown since Z3 version 4.13.0
8847 ], 'Double check Z3 interface for BMC constraints of Landing Gear R4 Handle').
8848 cli_testcase(2252, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8849 '../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/PM_M0_AAI.eventb', '-init',
8850 '-p', 'TIME_OUT', '60000',
8851 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Change_Pace_Int.eval',
8852 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF.eval',
8853 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF_with_Sensor.eval',
8854 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_ON.eval',
8855 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Sense_ON.eval',
8856 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_tic.eval',
8857 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Change_Pace_Int.eval',
8858 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF.eval',
8859 %'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF_with_Sensor.eval', % timeout
8860 %'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_ON.eval', % timeout
8861 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Sense_ON.eval'
8862 %'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_tic.eval' % timeout
8863 ], 'Double check CDCL(T) solver for inductive invariant constraints of a pacemaker model').
8864 cli_testcase(2253, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8865 '../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/PM_M0_AAI.eventb', '-init',
8866 '-p', 'TIME_OUT', '60000',
8867 '-p', 'cdclt_perform_static_analysis', 'false',
8868 '-p', 'cdclt_perform_symmetry_breaking', 'false',
8869 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Change_Pace_Int.eval',
8870 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF.eval',
8871 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF_with_Sensor.eval',
8872 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_ON.eval',
8873 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Sense_ON.eval',
8874 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_tic.eval',
8875 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Change_Pace_Int.eval',
8876 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF.eval',
8877 %'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF_with_Sensor.eval', % timeout
8878 %'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_ON.eval', % timeout
8879 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Sense_ON.eval'
8880 %'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_tic.eval' % timeout
8881 ], 'Double check CDCL(T) solver without static symmetry breaking and static analysis for inductive invariant constraints of a pacemaker model').
8882 cli_testcase(2254, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8883 '../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/PM_M0_AAI.eventb', '-init',
8884 '-p', 'TIME_OUT', '5000',
8885 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Change_Pace_Int.eval',
8886 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF.eval',
8887 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF_with_Sensor.eval',
8888 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_ON.eval',
8889 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Sense_ON.eval',
8890 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_tic.eval',
8891 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Change_Pace_Int.eval',
8892 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF.eval',
8893 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF_with_Sensor.eval',
8894 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_ON.eval',
8895 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Sense_ON.eval',
8896 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_tic.eval'
8897 ], 'Double check integration of Z3 for inductive invariant constraints of a pacemaker model').
8898 cli_testcase(2255, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8899 '-p', 'maxNrOfInitialisations', '1',
8900 '-p', 'TIME_OUT', '60000',
8901 '../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/PM_M1_VOOR.eventb', '-init',
8902 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
8903 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
8904 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval',
8905 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
8906 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
8907 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval',
8908 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
8909 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
8910 %'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval', % timeout
8911 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
8912 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
8913 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval'
8914 ], 'Double check CDCL(T) solver for inductive invariant constraints of a pacemaker model').
8915 cli_testcase(2256, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8916 '-p', 'maxNrOfInitialisations', '1',
8917 '-p', 'TIME_OUT', '60000',
8918 '-p', 'cdclt_perform_static_analysis', 'false',
8919 '-p', 'cdclt_perform_symmetry_breaking', 'false',
8920 '../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/PM_M1_VOOR.eventb', '-init',
8921 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
8922 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
8923 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval',
8924 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
8925 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
8926 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval',
8927 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
8928 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
8929 %'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval', % timeout
8930 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
8931 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval'
8932 %'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval' % timeout
8933 ], 'Double check CDCL(T) solver without static symmetry breaking and static analysis for inductive invariant constraints of a pacemaker model').
8934 cli_testcase(2257, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8935 '-p', 'maxNrOfInitialisations', '1',
8936 '-p', 'TIME_OUT', '20000',
8937 '../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/PM_M1_VOOR.eventb', '-init',
8938 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
8939 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
8940 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval',
8941 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
8942 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
8943 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval',
8944 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
8945 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
8946 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval',
8947 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
8948 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
8949 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval'
8950 ], 'Double check integration of Z3 for inductive invariant constraints of a pacemaker model').
8951
8952 cli_testcase(2258, [kodkod, tickets], [
8953 '../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/PM_M1_VOOR.eventb',
8954 '-init', '-p', 'SOLVER_FOR_PROPERTIES', 'kodkod'], 'Check division bug in Kodkod interval analysis').
8955
8956 cli_testcase(2259, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE',
8957 '../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching.mch', '-init',
8958 '-p', 'TIME_OUT', '60000',
8959 '-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/core_bug.eval',
8960 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_0.eval',
8961 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_1.eval',
8962 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_2.eval',
8963 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_3.eval',
8964 % same constraints but not considering the current state
8965 '-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/core_bug.eval',
8966 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_0.eval',
8967 '-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_1.eval',
8968 '-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_2.eval',
8969 '-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_3.eval'
8970 ], 'Double check integration of Z3 solver for BMC constraints of LargeBranching').
8971 cli_testcase(2260, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8972 '../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase.tla', '-init',
8973 '-p', 'TIME_OUT', '60000',
8974 %'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_0.eval', % unknown in Gitlab pipeline
8975 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_1.eval',
8976 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_2.eval',
8977 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_3.eval',
8978 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_23.eval',
8979 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_24.eval',
8980 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_25.eval',
8981 %'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_0.eval', % unknown in Gitlab pipeline
8982 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_1.eval',
8983 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_2.eval',
8984 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_3.eval',
8985 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_23.eval',
8986 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_24.eval',
8987 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_25.eval'
8988 ], 'Double check integration of Z3 solver for BMC constraints of SimpleTwoPhase').
8989 cli_testcase(2261, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
8990 '-p', 'TIME_OUT', '60000',
8991 '../prob_examples/public_examples/EventBPrologPackages/BinarySearch/binary_search_prob_mch.eventb', '-init',
8992 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_0.eval',
8993 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_1.eval',
8994 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_5.eval',
8995 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_10.eval',
8996 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_0.eval',
8997 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_1.eval',
8998 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_5.eval'
8999 ], 'Double check CDCL(T) solver for BMC constraints of a binary search model').
9000 cli_testcase(2262, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9001 '-p', 'TIME_OUT', '60000',
9002 '-p', 'cdclt_perform_static_analysis', 'false',
9003 '-p', 'cdclt_perform_symmetry_breaking', 'false',
9004 '../prob_examples/public_examples/EventBPrologPackages/BinarySearch/binary_search_prob_mch.eventb', '-init',
9005 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_0.eval',
9006 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_1.eval',
9007 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_5.eval',
9008 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_10.eval', % sometimes throws clpfd overflow error in unsat core computation, CDCL(T) result is fine
9009 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_0.eval',
9010 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_1.eval',
9011 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_5.eval'
9012 %'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_10.eval'
9013 ], 'Double check CDCL(T) solver without static symmetry breaking and static analysis for BMC constraints of a binary search model').
9014 cli_testcase(2263, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9015 '-p', 'TIME_OUT', '60000',
9016 '../prob_examples/public_examples/EventBPrologPackages/BinarySearch/binary_search_prob_mch.eventb', '-init',
9017 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_0.eval',
9018 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_1.eval',
9019 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_5.eval',
9020 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_10.eval',
9021 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_0.eval',
9022 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_1.eval',
9023 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_5.eval',
9024 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_10.eval'
9025 ], 'Double check integration of Z3 for BMC constraints of a binary search model').
9026 cli_testcase(2264, [cbc,tickets], [
9027 '-evalf', 'x=SIGMA(y).(y:1..n|y) & x = PI(y).(y:1..n|y) & n:4..10', % used to be issue in norm_expr, mapping PI to SIGMA
9028 '-evalt', 'x=SIGMA(y).(y:1..n|y) & x = PI(y).(y:1..n|y) & n:2..10'
9029 ], 'Check issue in norm_expr fixed').
9030
9031 cli_testcase(2265, [private], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9032 '-p', 'TIME_OUT', '1000', '-p', 'CLPFD', 'FALSE', '-pref_group', 'integer', 'int32', '-noinv',
9033 '-execute_all', '-animate_stats',
9034 '-evalt', 'aa41=TRUE & aa42=FALSE & aa44=TRUE & aa45=FALSE & aa48=TRUE & aa50=TRUE & card(aa49)=160',
9035 '../prob_examples/examples/B/ClearSy/Olaf/rule_Regle_P3_NID_C/rule_olaf_bugly.mch'],'Data validation run').
9036 cli_testcase(2266,[private],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9037 '../prob_examples/examples/B/ClearSy/Caval/N_ITERa_avec_DV_sans_DV/rule_avec_DV_bugly.mch',
9038 '-execute_all', '-animate_stats',
9039 '-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
9040 '-p', 'TRY_FIND_ABORT', 'FALSE', '-p', 'DATA_VALIDATION', 'TRUE',
9041 % '-p', 'LIFT_EXISTS', 'TRUE', % should also work without this
9042 '-execute_expect_steps', 44,
9043 '-evalt', 'card(aa100)=243 & aa101=TRUE & card(aa102)=128 & aa103=TRUE',
9044 '-evalt', 'card(aa111)=234 & aa112=TRUE & card(aa119)=246 & aa120=TRUE',
9045 '-evalt', 'card(aa96)=110 & aa97=TRUE & card(aa98)=110 & aa99=TRUE',
9046 %'-silent',
9047 '-noinv'], 'Scrambled version of test 1945').
9048 cli_testcase(2267, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9049 '-p', 'TIME_OUT', '60000',
9050 '../prob_examples/public_examples/B/Simple/TwoPurses.mch', '-init',
9051 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/TwoPurses/TwoPurses_monolithic_bmc_k_0.eval',
9052 % '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/TwoPurses/TwoPurses_monolithic_bmc_k_1.eval', % sometimes times out
9053 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/TwoPurses/TwoPurses_monolithic_bmc_k_0.eval'
9054 %'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/TwoPurses/TwoPurses_monolithic_bmc_k_1.eval' % successful but takes some time
9055 ], 'Double check CDCL(T) solver for BMC constraints of a simple model with nested quantified formulas and WD conditions.').
9056 cli_testcase(2268,[private],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9057 '../prob_examples/examples/B/ClearSy/Caval/rule_SSO_SLOT_MSG_ID_SET_SSO_Well_def/rule_SSO_SLOT_bugly.mch',
9058 '-execute_all', '-animate_stats',
9059 '-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
9060 '-p', 'DATA_VALIDATION', 'TRUE',
9061 '-p', 'COMPRESSION', 'TRUE',
9062 '-execute_expect_steps', 6,
9063 '-evalt', 'aa33=TRUE & aa34=TRUE & aa36=TRUE & aa37=TRUE & aa39=TRUE & aa40=FALSE & aa41={} &aa42=TRUE & aa43=FALSE',
9064 '-silent'
9065 ], 'Scrambled version of 1950; ensure wd-problem solved').
9066 cli_testcase(2270,[private],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9067 '../prob_examples/examples/B/ClearSy/Caval/rule_Test__RGP_71237__RI_091/rule_DebugPv10_bugly.mch',
9068 '../prob_examples/examples/B/ClearSy/Caval/rule_Test__RGP_71237__RI_091/rule_DebugPv11_bugly.mch',
9069 '-execute', 9, '-animate_stats', '-silent',
9070 '-evalt', 'aa650=FALSE & aa651=TRUE & aa718=TRUE & aa716=TRUE & aa717=(NATURAL1 * {[]}) & aa721=(NATURAL1 * {FALSE})',
9071 '-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
9072 '-p', 'DATA_VALIDATION', 'TRUE',
9073 '-p', 'COMPRESSION', 'TRUE', '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647], 'Scrambled version of 1952; Ensure in_domain delay solved. In addition check cartesian product detection with seq types.').
9074 cli_testcase(2271,[private],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9075 '../prob_examples/examples/B/ClearSy/Caval/2019_June/string_tail/rule_nok_bugly.mch',
9076 '-execute', 4, '-animate_stats', '-silent',
9077 '-expcterr', deadlock,
9078 '-execute_expect_steps', 3,
9079 '-evalt', 'aa747=TRUE',
9080 '-evalt', 'aa748=FALSE & aa749={({}|->TRUE)}'
9081 ], 'Scrambled version of test 1973, Ensure pending co-routing in reverse of sequence solved').
9082 cli_testcase(2272,[private],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9083 '../prob_examples/examples/B/ClearSy/Caval/2019_June/performance/toto_ko_bugly.mch',
9084 '-execute', 4, '-animate_stats', '-expcterr', deadlock,
9085 '-execute_expect_steps', 3,
9086 '-evalt', 'aa6=TRUE',
9087 '-evalt', 'aa7=TRUE',
9088 '-evalt', 'aa8 = {({(1|->2|->3|->4|->2)}|->FALSE),({(1|->2|->3|->4|->3)}|->FALSE)}' ], 'Scrambled version of 1974, Ensure we do not wait for identifier in exists using used_ids_defined_by_equality optimisation').
9089 cli_testcase(2273,[private],[
9090 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', % Note: generated virtual timeout, no longer does after override does not try to expand symbolic closures anymore
9091 '../prob_examples/examples/B/ClearSy/Caval/2019_Aug/call_residue/rule_erreur_bugly.mch',
9092 '-p', 'RAISE_ABORT_IMMEDIATELY', 'FALSE', % necessary as of 3974491412f39ab8b6beea3d2a7c47e7c56315ae
9093 '-execute_all', '-animate_stats', '-noinv',
9094 '-execute_expect_steps', 23,
9095 '-evalt', 'aa518=TRUE',
9096 '-evalt', 'aa553=TRUE',
9097 '-evalt', 'aa555=TRUE'], 'Scrambled version of test 1977; Ensure we have no call_residue internal error').
9098 cli_testcase(2274,[private],[
9099 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9100 '../prob_examples/examples/B/ClearSy/Caval/2019_Sep/rule_dummy/rule_dummy_acc_bugly.mch',
9101 '-execute_all', '-animate_stats', '-noinv',
9102 '-execute_expect_steps', 3,
9103 '-evalt', 'aa32=TRUE',
9104 '-evalt', 'card(aa33)=4299'
9105 ], 'Scrambled version of 1980, Ensure that compilation of set_extension works properly').
9106 cli_testcase(2275,[private,regex],[
9107 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9108 '../prob_examples/examples/B/ClearSy/Caval/2019_Sep/non_ground_closure/rule_bugly.mch',
9109 '-execute_all', '-animate_stats', '-noinv',
9110 '-execute_expect_steps', 13,
9111 '-evalt', 'aa155=TRUE',
9112 '-evalt', 'aa157=TRUE',
9113 '-evalt', 'card(aa158)=254',
9114 '-evalt', 'aa159=TRUE',
9115 '-evalt', 'card(aa160)=254'
9116 ], 'Scrambled version of 1981; Ensure that no internal error due to non-ground closure').
9117 cli_testcase(2276,[private],[
9118 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'TRUE',
9119 '-p', 'DATA_VALIDATION', 'TRUE',
9120 '../prob_examples/examples/B/ClearSy/Caval/2020/01_Jan/regressions2/rule_Regle_Transverse_Variable_Q_DIR/rule_bugly.mch', '-p', 'BUGLY', 'TRUE',
9121 '-execute_all', %'-silent',
9122 '-animate_stats',
9123 '-execute_expect_steps', 6,
9124 '-evalt', 'aa40=TRUE & aa42=TRUE & aa44=TRUE & aa46=TRUE',
9125 '-evalt', 'card(aa41) = 1187 & card(aa47) = 180'
9126 ], 'Scrambled version of test 2002, Ensure useless existentially quantified variable (value) does not perturb enumeration').
9127 cli_testcase(2277,[private],[
9128 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'TRUE',
9129 '-p', 'DATA_VALIDATION', 'TRUE',
9130 '../prob_examples/examples/B/ClearSy/Caval/2020/01_Jan/ticket_record_typing/ruleERR_missingdata_bugly.mch',
9131 '-execute_all',
9132 '-execute_expect_steps', 3, %'-silent',
9133 '-evalt', 'aa646=TRUE',
9134 '-evalt', 'caval__rule__1__ALL={({("FINAL_GEIF__id1"|->1|->"eq11"|->"eq11"|->1|->"aa")}|->FALSE),({("FINAL_GEIF__id1"|->1|->"eq21"|->"eq21"|->1|->"aa")}|->FALSE),({("FINAL_GEIF__id1"|->2|->"A_equ2__tst2"|->"A_equ2__tst2"|->2|->"aa")}|->FALSE),({("FINAL_GEIF__id2"|->3|->"A_equ2__tst1"|->"A_equ2__tst1"|->3|->"aa")}|->FALSE),({("FINAL_GEIF__id2"|->4|->"A_equ2__tst2"|->"A_equ2__tst1"|->4|->"aa")}|->FALSE)}'
9135 ], 'Scrambled version of 2003; Ensure problem with type checker and wrongly sorted record fields solved').
9136 cli_testcase(2278,[private],[
9137 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'TRUE',
9138 '-p', 'DATA_VALIDATION', 'TRUE',
9139 '../prob_examples/examples/B/ClearSy/Caval/2020/01_Jan/ticket_record_typing/ruleOK_noExpectedName_bugly.mch',
9140 '-execute_all', '-execute_expect_steps', 3,
9141 '-silent',
9142 '-evalt', 'caval__rule__1__done=TRUE',
9143 '-evalt', 'caval__rule__1__ALL={({("FINAL_GEIF__id1"|->1|->"eq11"|->1|->"{1,2,3,4}")}|->FALSE),({("FINAL_GEIF__id1"|->1|->"eq21"|->1|->"{1,2,3,4}")}|->FALSE),({("FINAL_GEIF__id1"|->2|->"A_equ2__tst2"|->2|->"{1,2,3,4}")}|->FALSE),({("FINAL_GEIF__id2"|->3|->"A_equ2__tst1"|->3|->"{1,2,3,4}")}|->FALSE),({("FINAL_GEIF__id2"|->4|->"A_equ2__tst2"|->4|->"{1,2,3,4}")}|->FALSE)} '
9144 ], 'Scrambled version of test 2004; Variation of test 2003 with file which did not exhibit initial problem').
9145 cli_testcase(2279,[private],[
9146 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'FALSE',
9147 '-p', 'DATA_VALIDATION', 'TRUE',
9148 '../prob_examples/examples/B/ClearSy/Caval/2020/01_Jan/memory/Debug__2486__INF/rule_OPS_SDS_2486/rule_bugly.mch',
9149 %'../private_examples/ClearSy/2020/01_Jan/memory/Debug__2486__TO_STRING/rule_OPS_SDS_2486/rule.mch',
9150 '-execute', 4, %'-execute_all', '-execute_expect_steps', 5, %'-silent',
9151 '-animate_stats',
9152 '-evalt', 'aa151=TRUE & aa153=TRUE & aa155=FALSE'
9153 ], 'Scrambled version of 2007 restricted to 4 steps; Test infinite loop in instantiated_enough for filter_cannot_match in b_compiler solved. Also test enum warning due to seq/set type and record values solved.').
9154 cli_testcase(2280, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9155 '-p', 'TIME_OUT', '60000',
9156 '-p', 'cdclt_perform_symmetry_breaking', 'false', % disable bliss to avoid GC: marked cell count is wrong SPRM-21543
9157 '../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb', '-init',
9158 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M0_mch_monolithic_bmc_k_0.eval',
9159 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M0_mch_monolithic_bmc_k_1.eval',
9160 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M0_mch_monolithic_bmc_k_2.eval',
9161 '-eval', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M0_mch_monolithic_bmc_k_0.eval',
9162 '-eval', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M0_mch_monolithic_bmc_k_1.eval',
9163 '-eval', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M0_mch_monolithic_bmc_k_2.eval'
9164 ], 'Double check CDCL(T) solver for BMC constraints that cannot be decided due to the use of unfixed deferred sets.').
9165 cli_testcase(2281, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9166 '-p', 'TIME_OUT', '60000',
9167 '-p', 'cdclt_perform_symmetry_breaking', 'false', % disable bliss to avoid GC: marked cell count is wrong SPRM-21543
9168 '../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M1_mch.eventb', '-init',
9169 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M1_mch_monolithic_bmc_k_0.eval',
9170 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M1_mch_monolithic_bmc_k_1.eval',
9171 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M1_mch_monolithic_bmc_k_2.eval',
9172 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M1_mch_monolithic_bmc_k_0.eval',
9173 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M1_mch_monolithic_bmc_k_1.eval',
9174 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M1_mch_monolithic_bmc_k_2.eval'
9175 ], 'Double check CDCL(T) solver for BMC constraints some of which cannot be decided due to the use of unfixed deferred sets.').
9176 cli_testcase(2282, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9177 '-p', 'TIME_OUT', '60000',
9178 '-p', 'cdclt_use_idl_theory_solver', 'true',
9179 '../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/PM_M0_AAI.eventb', '-init',
9180 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_0.eval',
9181 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_1.eval',
9182 '-evalf', ':cdclt #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_2.eval', % ProB is not able to double check the result
9183 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_0.eval',
9184 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_1.eval',
9185 '-evalf', ':cdclt-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_2.eval'
9186 ], 'Double check CDCL(T) solver for BMC constraints including IDL constraints.').
9187 cli_testcase(2283,[private_source_not_available],[
9188 '-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 20000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
9189 '../private_examples/ClearSy/2023/rules_GDE_TAILLE_loss/rule_CHAMPS_COMMUNS_AUX_FICHIERS_MCMDORIGINE_RVF64_MCMD_FOLIO.mch',
9190 '-execute_all', '-execute_expect_steps', 10, %'-silent',
9191 '-animate_stats',
9192 '-evalt', 'card(caval__rule__3__ALL)=426',
9193 '-evalt', 'card(caval__rule__4__ALL)=395',
9194 '-evalt', 'card(caval__rule__6__ALL)=395',
9195 '-evalt', 'card(caval__rule__8__ALL)=563',
9196 '-evalt', 'caval__rule__8__done=TRUE'
9197 ], 'Issue with allow_to_lift_exists annotation for domain/range solved.'). % takes about 70 seconds; has strongly nested type with huge cardinalities
9198 cli_testcase(2284,[tickets],[
9199 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9200 '-evalt', '{x|x<:BOOL & card(x) <= 0} = {{}}',
9201 '-evalt', '{x|x<:BOOL & card(x) = 0} = {{}}',
9202 '-evalt', '{x|x<:BOOL & card(x) > 0} = {{TRUE,FALSE},{TRUE},{FALSE}}',
9203 '-evalt', '{x|x<:BOOL & card(x) >= 1} = {{TRUE,FALSE},{TRUE},{FALSE}}'
9204 ], 'Detect card to equal/not_equal empty_set transformations work correctly').
9205 cli_testcase(2285,[b_test,refinement,json_trace_replay],[
9206 '../prob_examples/public_examples/B/Tester/TraceReplay/CheckOptimizedReplay.mch',
9207 '-expcterr', 'replay_json_trace_file', % it is actually a warning for imprecise replay
9208 '-expcterr', 'trace_replay', % ditto
9209 '-evalt', 'cnt=5 & pc=1', % check we are in right end state
9210 '-trace_replay', 'json', '../prob_examples/public_examples/B/Tester/TraceReplay/CheckOptimizedReplay.prob2trace'
9211 ], 'Check flexible replay where parameter is negated').
9212 cli_testcase(2286,[infinite,cbc],[
9213 '-evalt', 'closure1({1|->2,2|->3}) : 1..3 <-> 1..3',
9214 '-evalf', 'closure({1|->2,2|->3}) : 1..3 <-> 1..3',
9215 '-evalf', 'closure({1|->2,2|->3}) : INTEGER <-> 1..3',
9216 '-evalf', 'closure({1|->2,2|->3}) : 1..3 <-> INTEGER',
9217 '-evalf', 'closure({1|->2,2|->3}) : 1..3 <->> 1..3',
9218 '-evalf', 'closure({1|->2,2|->3}) : 1..3 <<-> 1..3',
9219 '-evalf', 'closure({1|->2,2|->3}) : 1..3 <<->> 1..3',
9220 '-evalf', 'closure({1|->2,2|->3}) : 1..3 +-> 1..3',
9221 '-evalf', 'closure({1|->2,2|->3}) : 1..3 +->> 1..3',
9222 '-evalf', 'closure({1|->2,2|->3}) : 1..3 --> 1..3',
9223 '-evalf', 'closure({1|->2,2|->3}) : 1..3 -->> 1..3',
9224 '-evalf', 'closure({1|->2,2|->3}) : 1..3 >-> 1..3',
9225 '-evalf', 'closure({1|->2,2|->3}) : 1..3 >->> 1..3',
9226 '-evalf', 'closure({1|->2,2|->3}) : 1..3 >+> 1..3',
9227 '-evalt', 'f=%x.(x:INTEGER|x*x) & f:INTEGER +-> INTEGER',
9228 '-evalf', 'f=%x.(x:INTEGER|x*x) & f:INTEGER >+> INTEGER'
9229 % does not work yet: closure({1|->2,2|->3}) /: 1..3 <-> 1..3
9230 ], 'Check infinite reflexive closure result can be checked symbolically').
9231 cli_testcase(2287,[private_source_not_available],[
9232 '-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 25000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
9233 '../private_examples/ClearSy/2023/Machines_perf_0111/Thales_All/rule_zcpa2.mch',
9234 '-noinv', % there are invariant violations
9235 '-execute_all', '-execute_expect_steps', 5, %'-silent',
9236 '-animate_stats',
9237 '-evalt', 'caval__rule__1__done=TRUE & caval__rule__2__done=TRUE',
9238 '-evalt', 'card(caval__rule__1__ALL)=96',
9239 '-evalt', 'card(caval__rule__2__ALL)=17'
9240 ], 'Issue with virtual timeout in exists for rel_composition/iterate solved.'). % takes about 30 seconds
9241 cli_testcase(2288, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9242 '-p', 'TIME_OUT', '20000',
9243 '../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/PM_M0_AAI.eventb', '-init',
9244 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_0.eval',
9245 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_1.eval',
9246 '-evalf', ':z3 #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_2.eval', % ProB is not able to double check the result
9247 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_0.eval',
9248 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_1.eval',
9249 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_2.eval'
9250 ], 'Double check Z3 solver for BMC constraints including IDL constraints.').
9251 cli_testcase(2289, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9252 '-p', 'TIME_OUT', '1000',
9253 '-p', 'z3_solve_for_animation', 'true',
9254 '../prob_examples/public_examples/B/SmtSolverTests/unfixed_deferred_sets/simple_unfixed_deferred_sets.mch', '-init',
9255 '-evalt', ':z3-double-check f:BOOL --> DS3',
9256 '-evalt', ':z3-double-check f:BOOL >-> DS3',
9257 '-evalf', ':z3-double-check !x.(x:INTEGER => card(DS) = x)',
9258 '-evalf', ':z3-double-check !x.(x:INTEGER => card(DS3) = x)',
9259 '-evalf', ':z3-double-check f:1..4 >-> DS3',
9260 '-evalf', ':z3-double-check f:1..4 >->> DS3',
9261 '-evalf', ':z3-double-check f:BOOL -->> DS3',
9262 '-evalt', ':z3-double-check x:INTEGER & card(DS) = x',
9263 '-evalt', ':z3-double-check x:INTEGER & card(DS3) = x',
9264 '-evalt', ':z3-double-check f:1..3 -->> DS3',
9265 '-evalt', ':z3-double-check f:BOOL <-> DS3',
9266 '-evalt', ':z3-free-double-check f:BOOL --> DS3',
9267 '-evalt', ':z3-free-double-check f:BOOL >-> DS3',
9268 '-eval', ':z3-free-double-check !x.(x:INTEGER => card(DS) = x)', % unfixed deferred set
9269 '-eval', ':z3-free-double-check !x.(x:INTEGER => card(DS3) = x)', % unfixed deferred set
9270 '-eval', ':z3-free-double-check f:1..4 >-> DS3', % unfixed deferred set
9271 '-eval', ':z3-free-double-check f:1..4 >->> DS3', % unfixed deferred set
9272 '-eval', ':z3-free-double-check f:BOOL -->> DS3', % unfixed deferred set
9273 '-evalt', ':z3-free-double-check x:INTEGER & card(DS) = x',
9274 '-evalt', ':z3-free-double-check x:INTEGER & card(DS3) = x',
9275 '-evalt', ':z3-free-double-check f:1..3 -->> DS3',
9276 '-evalt', ':z3-free-double-check f:BOOL <-> DS3',
9277 '-eval', ':z3-free-double-check f:1..5 -->> (DS3*(1..2))', % nested unfixed deferred set
9278 '-eval', ':z3-free-double-check f:1..6 -->> (DS3*(1..2))'
9279 ], 'Double check Z3 solver for constraints involving unfixed deferred sets.').
9280 cli_testcase(2290, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9281 '-p', 'TIME_OUT', '60000',
9282 '../prob_examples/public_examples/B/SmtSolverTests/unfixed_deferred_sets/simple_unfixed_deferred_sets.mch', '-init',
9283 '-evalt', ':cdclt-double-check f:BOOL --> DS3',
9284 '-evalt', ':cdclt-double-check f:BOOL >-> DS3',
9285 '-evalf', ':cdclt-double-check !x.(x:INTEGER => card(DS) = x)',
9286 '-evalf', ':cdclt-double-check !x.(x:INTEGER => card(DS3) = x)',
9287 '-evalf', ':cdclt-double-check f:1..4 >-> DS3',
9288 '-evalf', ':cdclt-double-check f:1..4 >->> DS3',
9289 '-evalf', ':cdclt-double-check f:BOOL -->> DS3',
9290 '-evalt', ':cdclt-free-double-check x:INTEGER & card(DS) = x',
9291 '-evalt', ':cdclt-free-double-check x:INTEGER & card(DS3) = x',
9292 '-evalt', ':cdclt-double-check f:1..3 -->> DS3',
9293 '-evalt', ':cdclt-double-check f:BOOL <-> DS3',
9294 '-evalt', ':cdclt-free-double-check f:BOOL --> DS3',
9295 '-evalt', ':cdclt-free-double-check f:BOOL >-> DS3',
9296 '-eval', ':cdclt-free-double-check !x.(x:INTEGER => card(DS) = x)', % unfixed deferred set
9297 '-eval', ':cdclt-free-double-check !x.(x:INTEGER => card(DS3) = x)', % unfixed deferred set
9298 '-eval', ':cdclt-free-double-check f:1..4 >-> DS3', % unfixed deferred set
9299 '-eval', ':cdclt-free-double-check f:1..4 >->> DS3', % unfixed deferred set
9300 '-eval', ':cdclt-free-double-check f:BOOL -->> DS3', % unfixed deferred set
9301 '-evalt', ':cdclt-free-double-check x:INTEGER & card(DS) = x',
9302 '-evalt', ':cdclt-free-double-check x:INTEGER & card(DS3) = x',
9303 '-evalt', ':cdclt-free-double-check f:1..3 -->> DS3',
9304 '-evalt', ':cdclt-free-double-check f:BOOL <-> DS3',
9305 '-eval', ':cdclt-free-double-check f:1..5 -->> (DS3*(1..2))', % nested unfixed deferred set
9306 '-eval', ':cdclt-free-double-check f:1..6 -->> (DS3*(1..2))'
9307 ], 'Double check CDCL(T) solver for constraints involving unfixed deferred sets.').
9308 cli_testcase(2291, [external,reals,wd], [
9309 '-evalt', 'max({2.0,3.0,x})=r & x:{2.0,4.1} & r>3.0',
9310 '-evalt', 'min({2.0,3.0,x})=r & x:{2.0,1.1} & r<2.0',
9311 '-evalf', 'min({2.0,3.0,x})=r & x:{2.0,4.1} & r>3.0',
9312 '-evalt', 'max(ran(%x.(x:1..100|2.0 / real(x)))) = 2.0',
9313 '-evalt', 'min(ran(%x.(x:1..100|2.0 / real(x)))) = 0.02',
9314 '-evalt', 'min(ran(%x.(x:1..100|-2.0 / real(x)))) = -2.0',
9315 '-evalt', ':wd ll<:REAL & ll/={} & ll:FIN(ll) & ff=max(ll)', % from test 2018 with REAL
9316 '-evalt', ':wd ll<:REAL & ll/={} & ll:FIN(ll) & ff=min(ll)',
9317 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
9318 ], 'check min and max work with reals').
9319 cli_testcase(2292, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9320 '-p', 'TIME_OUT', '1000',
9321 '-p', 'z3_solve_for_animation', 'true',
9322 '../prob_examples/public_examples/TLC/NoError/safecap2549260349036854403.mch', '-init',
9323 '-eval', ':z3-double-check not(tl : TRAIN +-> AMBIT) & tl = {} <+ {tt |-> {A_S10 |-> AD,S10_S12 |-> AE,S12_S14 |-> AG,S14_S16 |-> AI,S14_S116 |-> AI,S16_B |-> AL,S116_C |-> BL}({A_B |-> A_S10,A_C |-> A_S10}(ll))}',
9324 '-eval', ':z3-double-check not(tl : TRAIN +-> AMBIT) & tl = {tt |-> AD}',
9325 '-eval', ':z3-double-check aa : TRAIN -->> AMBIT',
9326 '-eval', ':z3-free-double-check not(tl : TRAIN +-> AMBIT) & tl = {} <+ {tt |-> {A_S10 |-> AD,S10_S12 |-> AE,S12_S14 |-> AG,S14_S16 |-> AI,S14_S116 |-> AI,S16_B |-> AL,S116_C |-> BL}({A_B |-> A_S10,A_C |-> A_S10}(ll))}',
9327 '-eval', ':z3-free-double-check not(tl : TRAIN +-> AMBIT) & tl = {tt |-> AD}',
9328 '-eval', ':z3-free-double-check aa : TRAIN -->> AMBIT'
9329 ], 'Double check Z3 solver for constraints involving unfixed deferred sets.').
9330 cli_testcase(2293, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9331 '-p', 'TIME_OUT', '60000',
9332 '../prob_examples/public_examples/TLC/NoError/safecap2549260349036854403.mch', '-init',
9333 '-eval', ':cdclt-double-check not(tl : TRAIN +-> AMBIT) & tl = {} <+ {tt |-> {A_S10 |-> AD,S10_S12 |-> AE,S12_S14 |-> AG,S14_S16 |-> AI,S14_S116 |-> AI,S16_B |-> AL,S116_C |-> BL}({A_B |-> A_S10,A_C |-> A_S10}(ll))}',
9334 '-eval', ':cdclt-double-check not(tl : TRAIN +-> AMBIT) & tl = {tt |-> AD}',
9335 '-eval', ':cdclt-double-check aa : TRAIN -->> AMBIT',
9336 '-eval', ':cdclt-free-double-check not(tl : TRAIN +-> AMBIT) & tl = {} <+ {tt |-> {A_S10 |-> AD,S10_S12 |-> AE,S12_S14 |-> AG,S14_S16 |-> AI,S14_S116 |-> AI,S16_B |-> AL,S116_C |-> BL}({A_B |-> A_S10,A_C |-> A_S10}(ll))}',
9337 '-eval', ':cdclt-free-double-check not(tl : TRAIN +-> AMBIT) & tl = {tt |-> AD}',
9338 '-eval', ':cdclt-free-double-check aa : TRAIN -->> AMBIT'
9339 ], 'Double check CDCL(T) solver for constraints involving unfixed deferred sets.').
9340 cli_testcase(2294, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9341 '-p', 'TIME_OUT', '60000',
9342 '../prob_examples/public_examples/B/PerformanceTests/ModelChecking/BooleanFunctions.mch', '-init',
9343 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BooleanFunctions/BooleanFunctions_monolithic_bmc_k_3.eval',
9344 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BooleanFunctions/BooleanFunctions_monolithic_bmc_k_4.eval', % sometimes throws enumeration warning
9345 % '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BooleanFunctions/BooleanFunctions_monolithic_bmc_k_5.eval', % comment out to avoid unknowns in buildbot
9346 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BooleanFunctions/BooleanFunctions_monolithic_bmc_k_6.eval', % can take some time
9347 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BooleanFunctions/BooleanFunctions_monolithic_bmc_k_3.eval',
9348 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BooleanFunctions/BooleanFunctions_monolithic_bmc_k_4.eval'
9349 % '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BooleanFunctions/BooleanFunctions_monolithic_bmc_k_5.eval' % sometimes unknown on buildbot
9350 %'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BooleanFunctions/BooleanFunctions_monolithic_bmc_k_6.eval' % can take some time
9351 ], 'Double check CDCL(T) solver for constraints involving choice points within ProB\'s constraint solver for which we use chronological backtracking instead of backjumping.').
9352 cli_testcase(2295, [eventb_test, theories], [
9353 '-p', 'AUTO_DETECT_THEORY_MAPPING', 'TRUE',
9354 '../prob_examples/public_examples/EventBPrologPackages/Theory/Float/ctx_float_tests_nodiv_ctx.eventb',
9355 '-assertions'],
9356 'Check that Event-B float theory with inductive datatype').
9357 cli_testcase(2296, [cbc], [
9358 '../prob_examples/public_examples/EventBPrologPackages/Tickets/Cansell_RingLead/elect2_2_mch.eventb',
9359 '-evalf', ':prob-file ../prob_examples/public_examples/EventBPrologPackages/Tickets/Cansell_RingLead/bmc/elect2_2_mch_monolithic_bmc_k_1.eval'], 'Ensure we do not produce unfixed_deferred_set Unknown result').
9360 cli_testcase(2297, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9361 '-evalt', '{y|y<:BOOL & %x.(x:INTEGER|x+1)(card(y))=2} = {{FALSE},{TRUE}}',
9362 '-evalt', '{x|x<:BOOL & %x.(x:INTEGER|x+1)(card(x))=2} = {{FALSE},{TRUE}}',
9363 '-evalt', '{v|(%(x,v).(x:INTEGER|x*v)(v|->v))=100} = {-10,10}'
9364 ], 'Check no issues with variable clashes and lambda function (inlining)').
9365 cli_testcase(2298,[private_source_not_available],[
9366 '-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 20000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
9367 '../private_examples/ClearSy/2019_May/perf_3264/rule_186.mch',
9368 '-execute', 49, %'-silent',
9369 '-animate_stats',
9370 '-evalt', 'card(ic___OPS_SDS_3264_BBS)=218',
9371 '-evalt', 'card(ic___OPS_SDS_3264_DPS)=185',
9372 '-evalt', 'card(ic___edge_chaining)=304',
9373 '-evalt', 'card(ic___ns___edge_paths)=17186',
9374 '-evalt', 'caval__ic___ns___edge_paths__initialized=TRUE',
9375 '-evalt', 'caval__ic___edge_normal_chaining__done=TRUE',
9376 '-evalt', 'caval__ic___OPS_SDS_3264_OTHER_DP_IN_BLOCK__done = TRUE',
9377 '-evalt', 'caval__acc___edge__LINK_DOWN_TANGENT__done=TRUE'
9378 ], 'Issue with lambda treatment of b_test_closure.'). % takes about 62 seconds for 49 steps; difficult step is number 51
9379 cli_testcase(2299, [cbc,cbc_tests], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9380 '../prob_examples/public_examples/B/TestCaseGeneration/Ontology/Person_incremental.mch',
9381 '-cbc_sequence_with_target', 'add', '{(hasSpeed |-> 0)} : dom(testcases)',
9382 '-cbc_sequence_with_target', 'add', '{(hasSpeed |-> 1)} : dom(testcases)'
9383 ], 'Check issue with expansion of large set solved').
9384 cli_testcase(2300, [cbc], [%'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9385 '-evalt', '/*@symbolic */ {x|x:1..100000000 & x / 22 > 10} = x & (x={} <=> B=TRUE)',
9386 '-evalt', '/*@symbolic */ {x|x>2 & x / 22 > 10} = x & (x={} <=> B=TRUE)',
9387 '-evalf', '/*@symbolic */ {x|x>2 & x / 22 > 10} = x & (x={} <=> B=TRUE) & /*@symbolic */ {x|x>2 & x / 23 > 11} = x & (x={} <=> B=FALSE)',
9388 '-evalt', '/*@symbolic */ {x|x>2 & x / 22 > 10} = x & (x*{1}) /= (x*{2})',
9389 % some with WD conditions:
9390 '-evalt', '/*@symbolic */ {x|x:1..100000000 & x mod 22=1} = x & (x={} <=> B=TRUE)',
9391 '-evalt', '/*@symbolic */ {x|x>2 & x mod 22=1} = x & (x={} <=> B=TRUE)',
9392 '-evalf', '/*@symbolic */ {x|x>2 & x mod 22=1} = x & (x={} <=> B=TRUE) & /*@symbolic */ {x|x>2 & x mod 23=1} = x & (x={} <=> B=FALSE)',
9393 '-evalt', '/*@symbolic */ {x|x>2 & x mod 22=1} = x & (x*{1}) /= (x*{2})',
9394 '-evalf', '/*@symbolic */ {x|x<0 & x mod 22=1 & x>-1000} = x & (x={} <=> B=TRUE) & (!x.(x:1..10000 => (B=FALSE <=> x+x < 20000))) & (!x.(x:1..10000 => (B=TRUE <=> x+x < 20000))) '
9395 ], 'Check that empty-ness check of closures has been improved').
9396 cli_testcase(2301, [csp_test], [
9397 '../prob_examples/public_examples/CSP/Tickets/304/SetChannelSynchronisation.csp',
9398 '-t'
9399 ], 'Check issue 304 with synchronisation of CSP sets').
9400 cli_testcase(2302, [cbc], [%'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9401 '-evalt', 'id0 <: {1} & INTEGER - id0 +-> {} : FIN1(INTEGER +-> {})',
9402 '-evalt', 'id0 <: {1} & INTEGER - id0 +-> {} : POW1(INTEGER +-> {})',
9403 '-evalt', 'id0 <: {1} & INTEGER - id0 +-> {} : FIN(INTEGER +-> {})',
9404 '-evalt', 'INTEGER --> {1} : FIN1(INTEGER --> {1})'
9405 ], 'Check no problem with inf Prolog term for cardinality').
9406 cli_testcase(2303, [infinite,b_test,json_trace_replay], [
9407 '../prob_examples/public_examples/B/PerformanceTests/DeferredSets/InfiniteDeferredSets.mch',
9408 '../prob_examples/public_examples/B/PerformanceTests/DeferredSets/InfiniteDeferredSets2.mch',
9409 '-trace_replay', 'json', % model name removed in trace file
9410 '../prob_examples/public_examples/B/PerformanceTests/DeferredSets/InfiniteDeferredSets.prob2trace',
9411 '-expcterr', 'virtual_time_out', % TODO: should this be generated here?
9412 '-evalt', 'ID2 /= ID3 & {iv}:FIN1(ID) & {iv,ID2,ID3,ID4}:FIN1(ID)',
9413 '-evalt', '#ss.(ss<:ID & card(ss) = 3)',
9414 '-evalt', '#ss.(ss<:ID & card(ss) = 20)',
9415 '-evalt', 'ss={iv,ID2,ID3,ID4} & ii /: ss',
9416 '-evalf', 'ID : FIN(ID)',
9417 '-evalt', 'not(ID = {iv})',
9418 '-evalf', '(ID = {iv})',
9419 '-evalt', 'iv:ID',
9420 '-evalt', '#x.(x /= iv)',
9421 '-evalt', 'not(#x.(ID = {x}))',
9422 '-evalf', '(#x.(ID = {x}))',
9423 '-evalf', '(B=TRUE <=> ({x}=ID)) & (B=TRUE <=> ({x} /= ID))',
9424 '-evalt', 'f:BOOL >-> ID',
9425 '-evalf', 'f:BOOL >->> ID'
9426 ], 'Check issue 304 with synchronisation of CSP sets').
9427 cli_testcase(2304, [wd,wd_prover], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9428 '../prob_examples/public_examples/EventBPrologPackages/ProofDirected/benchmarks/mondex_m3.eventb',
9429 '-silent',
9430 '-wd', 65, 72, '-timeout', 400 % timeout per PO
9431 ], 'Test we no longer prove all POs'). % some were unprovable, old remove_finite cleanup rule was unsound for proving
9432 cli_testcase(2305, [external,reals,json_trace_replay], [
9433 '../prob_examples/public_examples/B/Tester/TraceReplay/TestNonDetInitReplayReals.mch',
9434 '-trace_replay', 'json', '../prob_examples/public_examples/B/Tester/TraceReplay/TestNonDetInitReplayReals.prob2trace',
9435 '-evalt', 'ff(aa)=30.0 & ff(bb)=21.0'
9436 ], 'Check trace replay with becomes element of :: and reals work').
9437 cli_testcase(2306, [infinite,eventb_test,json_trace_replay], [
9438 '../prob_examples/examples/EventBPrologPackages/SEMCODT/MachineSystemLibrary_mch.eventb',
9439 '-expcterr', 'virtual_time_out', % TODO: should this be generated here?
9440 '-trace_replay', 'json', '../prob_examples/examples/EventBPrologPackages/SEMCODT/MachineSystemLibrary_mch.prob2trace'
9441 ], 'Check infinite deferred set works').
9442 cli_testcase(2307, [b_test,let], [%'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9443 '-evalt', 'LET x BE x=1+1 IN %y.(y:0..x|y+x+x) END (x) = res & x=0 & res=4',
9444 '-evalf', 'LET x BE x=1+1 IN %y.(y:0..x|y+x+x) END (x) = res & x=0 & res=6',
9445 '-evalt', 'LET x BE x=1+1 IN %y.(y:0..x|y+x+x) END (xx) = res & xx=0 & res=4'
9446 ], 'Check lambda inlining with LET expressions').
9447 cli_testcase(2308, [external,reals,json_trace_replay], [
9448 '../prob_examples/public_examples/B/ErrorMachines/UninitialisedVAR/Person_LeiTai.mch',
9449 '-trace_replay', 'json', '../prob_examples/public_examples/B/ErrorMachines/UninitialisedVAR/Person_LeiTai.prob2trace',
9450 %Note: if we animate one step further we get a problem reading an uninitialised variable
9451 '-evalt', 'card(testcases)=16'
9452 ], 'Check no time-out in invariant due to closure expansion for WF priority').
9453 cli_testcase(2309, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9454 '-evalt', ':cdclt-double-check y:-10..10 & n:-10..10 & a=IF n>7 THEN 1/y ELSE 1/n END', % rewrite if and add y/=0 and n/=0
9455 '-evalt', ':cdclt-double-check z:-10..10 & a=LET x BE x=1/z IN 2*x*x END', % rewrite let and add z/=0
9456 '-evalt', ':cdclt-double-check z:-10..10 & LET x BE x=1/z IN %y.(y:0..x|y+x+x) END (x) = res', % add z/=0
9457 '-evalt', ':cdclt-double-check x:INTEGER & s:POW(1..10) & x=min(s)', % add s/={}
9458 '-evalt', ':cdclt-double-check x:INTEGER & s:POW(1..10) & x=max(s)', % add s/={}
9459 '-evalt', ':cdclt-double-check x:INTEGER & {(1,2)}(x)=2', % add x:dom({(1,2)})
9460 '-evalf', ':cdclt !(y,n).(y:-10..10 & n:-10..10 => IF n>7 THEN 1/y ELSE 1/n END<100)', % not WD: could be true or false depending on whether you add POs to LHS or RHS of forall
9461 '-evalt', ':cdclt-double-check #(y,n).(y:-10..10 & n:-10..10 & IF n>7 THEN 1/y ELSE 1/n END<100)',
9462 '-evalt', ':cdclt-double-check a=bool(#(y,n).(y:-10..10 & n:-10..10 & IF n>7 THEN 1/y ELSE 1/n END<100))'
9463 ], 'Check rewriting of if- and let-expressions and some WD conditions for the SMT solver').
9464 cli_testcase(2310,[private_source_not_available],[
9465 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9466 '../private_examples/ClearSy/2023/rules_GDE_TAILLE_loss/rule_CHAMPS_COMMUNS_AUX_FICHIERS_MCMDORIGINE_RVF64_MCMD_FOLIO.mch',
9467 '-execute_all', '-animate_stats', '-noinv',
9468 '-execute_expect_steps', 10, '-p', 'TIME_OUT', 30000,
9469 '-evalt', 'caval__rule__8__done=TRUE',
9470 '-evalt', 'card(caval__rule__3__ALL)=426 & card(caval__rule__4__ALL)=395 & card(caval__rule__6__ALL)=395' ],
9471 'Ensure no timeout due to exists not lifted'). % now takes about 70 seconds for 10 steps; see e99501de85ca9cba167aec3cbae67c1271121b32
9472 cli_testcase(2311, [proz,json_trace_replay], [
9473 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9474 '../prob_examples/public_examples/Z/Daniel/Praxis/network2.tex',
9475 '-trace_replay', 'json', '../prob_examples/public_examples/Z/Daniel/Praxis/network2.prob2trace',
9476 '-evalt', 'card({wsIdle,wsEditing})=2',
9477 '-evalt', 'wsWaiting({1}) = wsWaiting({x})'
9478 ], 'Check JSON trace replay works with freetype ids in trace').
9479 cli_testcase(2312, [eventb_test, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/ListTest1.eventb', '-init',
9480 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9481 '-evalt', 'cons(2,nil) /= nil',
9482 '-evalf', 'cons(2,nil) = cons(3,x)',
9483 '-evalt', 'cons(x,nil) /= nil & x>2 & x<10',
9484 '-evalt', 'card({cons(2,nil) , cons(3,nil)})=2',
9485 '-evalt', 'cons(TRUE,nil) /= cons(FALSE,nil)'
9486 % '-evalt', 'card({cons(2,nil) , cons(3,nil)})=2 & cons(TRUE,nil) /= cons(FALSE,nil)' % does not work yet; type error
9487 ], 'Checking using polymorphic freetype constructors in formulas').
9488 cli_testcase(2313,[private],[
9489 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'FALSE',
9490 '-p', 'DATA_VALIDATION', 'TRUE',
9491 '../prob_examples/examples/B/ClearSy/Caval/2023/Machines_perf0323/Lowesoft/rule_Eq_9_internal_bugly.mch',
9492 '-execute_all', '-execute_expect_steps', 4, %'-silent',
9493 '-animate_stats',
9494 '-evalt', 'aa56=TRUE & card(aa57)=9670 & aa58=TRUE & aa59={}'
9495 ], 'Test no slowdown'). % was due to apply_check_tuple_delay real division, although issue only appears in original file before scrambling, as it modifies strings and results
9496 cli_testcase(2314,[private_source_not_available],[
9497 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'FALSE',
9498 '-p', 'DATA_VALIDATION', 'TRUE',
9499 '../private_examples/ClearSy/2023/Machines_perf_0323/Lowesoft/rule_Rule_Eq_0009.mch',
9500 '-execute_all', '-execute_expect_steps', 4, %'-silent',
9501 '-animate_stats',
9502 '-evalt', 'caval__rule__1__done=TRUE & card(caval__rule__1__ALL)=9670 & caval__rule__2__done=TRUE & card(caval__rule__2__ALL)=795'
9503 ], 'version of 2313 not scrambled'). % tests fix in 30e348cf02697748b3f902c7f7e7fd2bccd279bb
9504 cli_testcase(2315, [laws,data_validation], [
9505 '../prob_examples/public_examples/B/Laws/RelLaws.mch',
9506 '../prob_examples/public_examples/B/Laws/EqualityLaws.mch',
9507 '../prob_examples/public_examples/B/Laws/BoolLaws.mch',
9508 '../prob_examples/public_examples/B/Laws/ArithmeticLaws.mch',
9509 '../prob_examples/public_examples/B/Laws/SetLaws.mch',
9510 '../prob_examples/public_examples/B/Laws/SetLawsNat.mch',
9511 '../prob_examples/public_examples/B/Laws/CardinalityLaws.mch',
9512 '../prob_examples/public_examples/B/Laws/FunLaws.mch',
9513 '../prob_examples/public_examples/B/Laws/SubstitutionLaws.mch',
9514 '../prob_examples/public_examples/B/Laws/BoolLaws_SetCompr.mch',
9515 '../prob_examples/public_examples/B/Laws/SetLawsPow.mch',
9516 '../prob_examples/public_examples/B/Laws/SetLawsPowPow.mch',
9517 '../prob_examples/public_examples/B/Laws/SetRelLaws_NatBool.mch',
9518 '../prob_examples/public_examples/B/Laws/RelLaws_BOOL1.mch',
9519 '../prob_examples/public_examples/B/Laws/RelLaws_BOOL2.mch',
9520 '../prob_examples/public_examples/B/Laws/RelLaws_BOOL3.mch',
9521 '../prob_examples/public_examples/B/Laws/RelLaws_STRING1.mch',
9522 '../prob_examples/public_examples/B/Laws/RelLaws_REAL1.mch', % still fails with CLP(FD) real solver in 4.10
9523 '../prob_examples/public_examples/B/Laws/RelLaws_REC1.mch',
9524 '../prob_examples/public_examples/B/Laws/FunLawsRecStrings.mch',
9525 '../prob_examples/public_examples/B/Laws/FunLawsRecReals.mch',
9526 '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE', '-opterr', 'model_check_incomplete',
9527 '-p', 'CLPFD', 'TRUE', '-p', 'DATA_VALIDATION', 'TRUE'], 'Laws (297,...) with DATA_VALIDATION.').
9528 cli_testcase(2316,[private_source_not_available],[
9529 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'FALSE',
9530 '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser', '-noinv',
9531 '../private_examples/ClearSy/2023/perf_0704/rule_genz.mch',
9532 '-execute_all', '-execute_expect_steps', 17, %'-silent',
9533 '-animate_stats',
9534 '-evalt', 'caval__rule__1__done=TRUE & card(caval__rule__1__ALL)=1808 & card(ic___Elementary_ZoneKpMax)=1809'
9535 ], 'test we do not lift gz,bmz_name exists and idle waitflag works without duplication of calls'). % takes around 90 secs
9536 cli_testcase(2317,[wd,wd_prover],[
9537 '-evalt', ':prove x<:INTEGER & card(x):0..1 => x:FIN(x)',
9538 '-evalt', ':prove x<:INTEGER & card(x)<= y => x:FIN(x)',
9539 '-evalt', ':prove x<:INTEGER & card(x)<= 10 => x:FIN(x)',
9540 '-evalt', ':prove x<:INTEGER & card(x)< 10 => x:FIN(x)',
9541 '-evalt', ':prove x<:INTEGER & 10>card(x) => x:FIN(x)',
9542 '-evalt', ':prove x<:INTEGER & y>=card(x) => x:FIN(x)',
9543 '-evalt', ':prove real(1) /= 0.0',
9544 '-evalt', ':prove real(1) /= real(0)',
9545 '-evalt', ':prove floor(1.1) = ceiling(0.9)',
9546 '-evalt', ':prove floor(1.1) /= ceiling(1.1)',
9547 '-evalu', ':prove real(0) /= 0.0'
9548 ], 'check wd prover can use previous card hyps to prove finite and some simple real literals').
9549 cli_testcase(2318,[cbc],[
9550 '-evalt', 'iterate(%x.(x:NATURAL|x+2),2000)[{20}] = {4020}',
9551 '-evalt', 'iterate(%x.(x:NATURAL|x+2),2000)(20) = 4020',
9552 '-evalt', 'iterate(%x.(x:NATURAL|x+2),20000)[{20}] = {40020}',
9553 '-evalt', 'iterate(%x.(x:1..20100|x+2),10000)[{20}] = {20020}',
9554 % now also check that image of closure / closure1 still works:
9555 '-evalt', 'closure1(%x.(x:NATURAL|x/2))[{20}] = {10,5,2,1,0}',
9556 '-evalt', 'closure1(%x.(x:1..1000|x/2))[{20}] = {10,5,2,1,0}',
9557 '-evalt', 'closure(%x.(x:NATURAL|x/2))[{20}] = {20,10,5,2,1,0}',
9558 '-evalt', 'closure(%x.(x:1..1000|x/2))[{20}] = {20,10,5,2,1,0}'
9559 ], 'check performance improvement for image of iterate').
9560 cli_testcase(2319,[smt_solver_integration],[
9561 '-evalt', ':z3-double-check a:REAL',
9562 '-evalt', ':z3-double-check a:REAL & a=1.1',
9563 '-evalt', ':z3-double-check a:REAL & a=-1.1',
9564 '-evalt', ':z3-double-check a:REAL & a/=b',
9565 '-evalt', ':z3-double-check a:REAL & a=1.2*b',
9566 '-evalt', ':z3-double-check a:REAL & a=1.2+b',
9567 '-evalt', ':z3-double-check a:REAL & a=1.2-b',
9568 '-evalt', ':z3-double-check a:REAL & a=1.2/b',
9569 '-evalt', ':z3-double-check a:REAL & b/=0.0 & a=1.2/b',
9570 '-evalt', ':z3-double-check a:REAL & b/=0.0 & b/=1.0 & a=1.2/b',
9571 '-evalt', ':z3-double-check a:REAL & a=1.2*0.5',
9572 '-evalf', ':z3-double-check a:REAL & a=1.2*0.5 & a /= 0.6',
9573 '-evalt', ':z3-double-check a:REAL & a=1.2/0.5',
9574 '-evalt', ':z3-double-check a:REAL & a=1.2+0.5',
9575 '-evalt', ':z3-double-check a:REAL & a=1.2-0.5',
9576 '-evalt', ':z3-double-check a:REAL & a=1.2-0.5',
9577 '-evalt', ':z3-double-check a:REAL & a=max({1.1,1.2,1.3})',
9578 '-evalf', ':z3-double-check a:REAL & a=max({1.1,1.2,1.3}) & a/=1.3',
9579 '-evalt', ':z3-double-check a:REAL & a=min({1.1,1.2,1.3})',
9580 '-evalf', ':z3-double-check a:REAL & a=min({1.1,1.2,1.3}) & a/=1.1',
9581 '-evalt', ':z3-double-check a=1.0/49.0',
9582 '-evalt', ':z3-double-check 0.0=0.0/49.0',
9583 '-evalt', ':z3-double-check a=1.0/1000000000.0',
9584 '-evalt', ':z3 x*2.2=4.4 & x=2.0',
9585 '-evalf', ':z3 x*2.2=4.4 & x=3.0',
9586 '-evalt', ':z3 a=3.2*8.9 & a=28.48',
9587 '-evalt', ':z3-double-check a=3.2/8.9',
9588 '-evalt', ':z3-double-check a=3.2/8.9*3.564',
9589 '-evalt', ':z3-double-check floor(4.2) = 4',
9590 '-evalt', ':z3-double-check floor(4.9) = 4',
9591 '-evalt', ':z3-double-check floor(-4.2) = -5',
9592 '-evalt', ':z3-double-check floor(-4.9) = -5',
9593 '-evalt', ':z3-double-check ceiling(4.2) = 5',
9594 '-evalt', ':z3-double-check ceiling(4.9) = 5',
9595 '-evalt', ':z3-double-check ceiling(-4.2) = -4',
9596 '-evalt', ':z3-double-check ceiling(-4.9) = -4',
9597 '-evalt', ':z3 a:REAL & a=3.2+8.90000000000001 & floor(a)=b & a=12.10000000000001 & b=12',
9598 '-evalt', ':z3 a:REAL & a=3.2+8.9 & floor(a)=b & a=12.1 & b=12',
9599 '-evalf', ':z3 a:REAL & a=3.2+8.9 & floor(a)=b & a=12.1 & b=10',
9600 '-evalf', ':z3 !(id0).(id0 : REAL => 0 <= floor(id0))',
9601 '-evalf', ':z3 !(id0).(id0 : REAL => 0 <= ceiling(id0))',
9602 '-evalf', ':z3 !(id0,id1,id2,id3).(id0 : STRING * INTEGER & id1 : REAL & id2 : POW(INTEGER * POW(INTEGER * STRING)) & id3 : INTEGER & MAXINT / 52 <= floor(id1) => id3 + id3 <= 94 / 31)',
9603 '-evalt', ':z3-double-check id1 : INTEGER & real(id1) = 0.0',
9604 '-evalf', ':z3-double-check id1 : INTEGER & real(id1) = 0.0 & id1 = 1',
9605 '-evalt', ':z3-double-check id0 : REAL & id1 : INTEGER & not(real(id1) /= 0.0 & - ((id0 + 46.65095758838716) / real(id1)) /: dom(union({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(REAL * POW(INTEGER * REAL)) & bfalse})))',
9606 '-evalt', ':z3-double-check id3 : INTEGER & (42.994762156651845 / 7.561341603220248) * real(id3) <= real(ceiling(29.615766387109186))',
9607 '-evalt', ':z3 id10 : REAL & id11 : POW(REAL) * REAL & id3 : POW(BOOL * (BOOL * POW(BOOL))) & id4 : POW(BOOL * POW(BOOL) * POW(INTEGER)) & ({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(BOOL * POW(INTEGER) * REAL) & bfalse} /= {} & ((id3 ; id4) <| {rel_x,rel_y|rel_x : BOOL * POW(INTEGER) & rel_y : REAL & (rel_x : {} & rel_y : union({}[{rel_x}]))}) /= (inter({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(BOOL * POW(INTEGER) * REAL) & bfalse}) /\\ union({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(BOOL * POW(INTEGER) * REAL) & bfalse}))) <=> 71.86386245644421 * (76.4118627261523 + id10) < - 98.95914556742649 + prj2(id11)'
9608 %'-evalt', ':z3-double-check a=max({1.2,1.3,1.4,0.4}) & b=floor(a)', % Z3 is not able to solve the following formulas
9609 %'-evalt', ':z3-double-check a=max({1.2,1.3,1.4,0.4}) & b=ceiling(a)',
9610 %'-evalt', ':z3-double-check a=min({1.2,1.3,1.4,0.4}) & b=floor(a+0.35)',
9611 %'-evalt', ':z3-double-check a=min({1.2,1.3,1.4,0.4}) & b=ceiling(a*3.2)',
9612 ], 'simple formulas to double check real support of Z3').
9613 cli_testcase(2320,[tickets, infinite],[
9614 '-evalt', 'ran(id2) <: BOOL & {} <<: (pred ; id2)'
9615 ], 'check symbolic composition works with list value'). % required type argument to construct closure
9616 cli_testcase(2322,[tickets, wd],[
9617 '-evalt', '(id0 : seq1(INTEGER) & last(id0) < 84 * MAXINT) <=> (first(id5) /= 0.0 & (id5 : seq1(REAL) & {id6|id6 : POW(INTEGER * REAL) & bfalse} : FIN({id6|id6 : POW(INTEGER * REAL) & bfalse})) & (id4 - 96.9113325147011) / first(id5) < PI(id6).(id6 : POW(INTEGER * REAL) & bfalse|prj1(REAL,POW(REAL))(id7)))',
9618 '-evalt', '(id0 : seq1(INTEGER) & last(id0) < 252) <=> (first(id5) /= 0.0 & (id5 : seq1(REAL) & (id4 - 96.9113325147011) / first(id5) < 1.0))'
9619 %'-expcterr', well_definedness_error % was evalnw but with reification of REAL comparison (3b3f2834dde2a25ffc480300bdf5e11f28a4aabf) we now find solution
9620 ], 'check no pending coroutine').
9621 cli_testcase(2323, [external,wd], [
9622 '-evalt', ':wd x>0 & r:BOOL<->BOOL & iterate(r,x) = res',
9623 '-evalf', ':wd x<10 & r:BOOL<->BOOL & iterate(r,x) = res',
9624 '-evalt', ':wd x:NATURAL & r:BOOL<->BOOL & iterate(r,x) = res',
9625 '-evalt', ':wd x<:BOOL & r:BOOL<->BOOL & iterate(r,card(x)) = res',
9626 '-evalt', ':wd x<:1..10 & r:BOOL<->BOOL & iterate(r,card(x)) = res',
9627 '-evalt', 'r : BOOL<->BOOL & (x:3..4 => iterate(r,y) = iterate(r,y-1)) & y:0..10 & x>10 & x<100'
9628 ], 'check wd works with iterate ').
9629 cli_testcase(2324, [external,tickets], [
9630 '-evalt', ':prob (id0 : seq1(REAL) & real(MININT) = first(id0)) <=> prj2(REAL,REAL)(id1) <= id2'
9631 ], 'ensure default instantiation for REAL generated in case term not needed').
9632 cli_testcase(2325, [wd], [ '-p', 'TRACE_INFO', 'TRUE',
9633 '-evalf', '(card(inter({rr|rr : POW(INTEGER) & rr = NATURAL1})) <= 1 & inter({rr|rr : POW(INTEGER) & rr = NATURAL1}) : FIN(inter({rr|rr : POW(INTEGER) & rr = NATURAL1}))) & SIGMA(id0,id1,id2).(id0 : STRING & id1 : STRING & id2 : STRING & FLOAT <: id3|79 * MININT) >= MU(inter({rr|rr : POW(INTEGER) & rr = NATURAL1}))'
9634 ], 'test improved WD treatment for predicate components'). % WFE grounded at end for all components in one go
9635 cli_testcase(2326, [wd], [ '-p', 'TRACE_INFO', 'TRUE',
9636 '-evalnwd', '(card(inter({rr|rr : POW(INTEGER) & rr = NATURAL1})) <= 1 & SIGMA(id0).(id0 : BOOL|79 * MININT) >= MU(inter({rr|rr : POW(INTEGER) & rr = NATURAL1})))',
9637 '-evalnwd', '(card(inter({rr|rr : POW(INTEGER) & rr = NATURAL1})) <= 1 & SIGMA(id0).(id0 : BOOL|79 * MININT) < 2)',
9638 '-expcterr', 'well_definedness_error'
9639 ], 'test improved WD treatment for predicate components'). % WFE grounded at end for all components in one go
9640 cli_testcase(2327, [b_test], [
9641 '-eval', '{xx,xx|xx:BOOL} =res & res:BOOL<->BOOL',
9642 '-expcterr', 'type_expression_error'
9643 ], 'test duplicate ids in comprehension set detected').
9644 cli_testcase(2328, [b_test,infinite, total_function], [ '-p', 'TRACE_INFO', 'TRUE',
9645 '-eval', '(id10 ; id11) : STRING --> BOOL & ran(id10)<:BOOL',
9646 '-eval', '(id10 ; id11) : STRING --> BOOL & ran(id10)<:BOOL & id11 = id(BOOL)', % this one could be solved in principle
9647 '-evalt', '(id10 ; id11) : STRING --> BOOL & ran(id10)<:BOOL & id11 = id(BOOL) & id10 = STRING*{TRUE}',
9648 '-expcterr', 'eval_string_enum_warning'
9649 ], 'test no call_residue due to symbolic total function closure').
9650 cli_testcase(2329, [wd], [
9651 '-evalnwd', 'max(NATURAL1)>0',
9652 '-evalnwd', 'max(NATURAL)>0',
9653 '-evalnwd', 'max(INTEGER)>0',
9654 '-evalnwd', 'min(INTEGER)<0',
9655 '-expcterr', 'well_definedness_error'
9656 ], 'test reporting of min/max of unbounded global sets as non wd').
9657 cli_testcase(2330, [tickets], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9658 '-evalt', '(id1 : dom(id0) & id0 : POW(INTEGER * POW(POW(STRING))) +-> INTEGER & MININT * 61 < id0(id1)) <=> (id3 : dom(id2) & id2 : INTEGER +-> POW(INTEGER * INTEGER * INTEGER) & prj2(NATURAL,INT) = id2(id3))',
9659 '-evalt', 'x={NATURAL1,NATURAL} & y:x & 0:y' % was also working before
9660 ], 'Check no enumeration warning thrown during normalisation').
9661 cli_testcase(2331, [b_test], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9662 '-evalt', '{x\x22c5\x:1..10|x*x} = {1,4,9,16,25,36,49,64,81,100}', % \x22c5\ is Unicode dot
9663 '-evalt', '{x\x22c5\x:1..10|x*x} = {1,4,9,16,25,36,49,64,81,100}',
9664 '-evalt', '{x,y\x22c5\x:1..5 & y:2..3|x*y} = {2,3,4,6,8,9,10,12,15}',
9665 '-evalt', '{x\x22c5\ x:{x,y\x22c5\x:1..5 & y:2..3|x*y} & x<12 & x>9|x*10} = {100}',
9666 '-evalt', 'prj2(prj1(1|->2|->3)) = 2',
9667 '-evalt', 'prj1(prj1(1|->2|->3)) = 1',
9668 '-evalt', 'prj2(1|->2|->3) = 3',
9669 '-evalt', 'prj2(prj1(1|->2|->3)) = prj2(INTEGER,INTEGER)(prj1(INTEGER*INTEGER,INTEGER)(1|->2|->3))', % mix
9670 '-evalt', 'prj2(INTEGER,INTEGER)[{2}*{3}] = {3}' % old style still works
9671 ], 'Check new Event-B prj1/prj2 and set comprehension syntax').
9672 cli_testcase(2332, [tickets,card], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9673 '-evalt', '(INTEGER /\\ id0) /= {} & INTEGER /\\ id0 : FIN(INTEGER /\\ id0) & card(id0) <= 1 & MU(INTEGER /\\ id0) = 111',
9674 '-evalt', '(INTEGER /\\ id0) /= {} & INTEGER /\\ id0 : FIN(INTEGER /\\ id0) & card(INTEGER /\\ id0) <= 1 & MU(INTEGER /\\ id0) = 0',
9675 '-evalt', '(INTEGER /\\ id0) /= {} & INTEGER /\\ id0 : FIN(INTEGER /\\ id0) & card(INTEGER /\\ id0) <= 1 & MU(INTEGER /\\ id0) >= 0'
9676 ], 'Check cyclic term issue in construct_interval_closure solved').
9677 cli_testcase(2333, [tickets,card,wd], [
9678 '-evalnwd', 'id1 <: INT & 1 < card(seq1(id1))',
9679 %'-evalnwd', ' id1 <: INT & 1 + ceiling(id0) < card(seq1(id1))', % with new solver in 4.10 this finds solution id1={}
9680 '-evalnwd', 'id1 : POW1(INT) & 1 + ceiling(id0) < card(seq1(id1))',
9681 %'-evalnwd', 'id1 : POW1(INT) & 1 + ceiling(id0) < card(seq1(id1)) & id0>11.0 & id0 <11.0+10.0**(-13)', % does not work with 4.9
9682 '-opterr', 'eval_string_enum_warning',
9683 '-expcterr', 'well_definedness_error'
9684 ], 'Check CLPFD unification with inf is prevented').
9685 cli_testcase(2334,[smt_solver_integration],[
9686 '-evalt', ':z3-double-check size([]) /: {}'
9687 ], 'ensure bug in size of empty sequence for Z3 fixed').
9688 cli_testcase(2335,[infinite,external],[
9689 '-evalf', '(INTEGER<->id1) /= {} & INTEGER<->id1 : FIN(INTEGER<->id1) & card(INTEGER<->id1) <= 1 & MU(INTEGER<-> id1) /= {x,y | x : INTEGER & y : BOOL & bfalse}', % used to be -evalu
9690 '-evalnwd', '(INTEGER<->id1) /= {} & card(INTEGER<->id1) <= 1 & MU(INTEGER<-> id1) /= {x,y | x : INTEGER & y : BOOL & bfalse}',
9691 '-opterr', 'eval_string_enum_warning',
9692 '-expcterr', 'well_definedness_error'
9693 ], 'ensure no representation error due to infinite cardinality').
9694 cli_testcase(2336, [infinite], [
9695 '-evalt', 'INTEGER /= {x}',
9696 '-evalf', 'INTEGER = {x}',
9697 '-evalt', '{x} /= INTEGER',
9698 '-evalt', 'REAL /= {x}',
9699 '-evalt', 'FLOAT /= {x}',
9700 '-evalt', 'NATURAL /= {x}',
9701 '-evalt', 'NATURAL1 /= {x}',
9702 '-evalt', 'STRING /= {x}',
9703 '-evalt', '{x,y} /= INTEGER',
9704 '-evalt', '{x,y} /= REAL',
9705 '-evalt', '{x,y,z} /= INTEGER',
9706 '-evalt', '{x,y,z} /= INTEGER <=> B=TRUE',
9707 '-evalt', '{x,y,z} /= INTEGER <=> B=TRUE & card({x,y,z})=3',
9708 '-evalt', '{x|x>1} /= {x}',
9709 '-evalt', '{x|x<2} /= {x}',
9710 '-evalt', '{x} /= {z|z>100}'
9711 %'-evalt', '{x,y,z} /= {z|z>100} <=> B=TRUE' % does not work yet
9712 ], 'test not equal with infinite global sets succeed').
9713 cli_testcase(2337, [wd,tickets], [
9714 '-evalt', '{id19,id20|id19 : BOOL & id20 <: INTEGER}(id1) = x'
9715 % in principle this is a WD error as the relation is not a function
9716 % here this leads to x not being assigned a value as id20 is marked as do_not_enumerate
9717 ], 'test no pending co-routines for WD issue').
9718 cli_testcase(2338, [infinite,tickets], [
9719 '-evalf', 'not({1|->2} : INTEGER <->> {2})',
9720 '-evalt', '({1|->2} : INTEGER <->> {2})',
9721 '-evalt', 'not({1|->2,2|->3} : INTEGER <->> {2})',
9722 '-evalt', 'not({1|->3,2|->3} : INTEGER <->> {2,3})',
9723 '-evalt', 'not({1|->2,2|->4} : INTEGER <->> {2,3,4})',
9724 '-evalf', 'not({1|->4,2|->2} : INTEGER <->> {2,4})',
9725 '-evalt', '({1|->4,2|->2} : INTEGER <->> {2,4})',
9726 '-evalf', 'not({1|->4,2|->3} : INTEGER <->> 3..4)',
9727 '-evalt', '({1|->4,2|->3} : INTEGER <->> 3..4)'
9728 ], 'test issue with negation of surjection_relation').
9729 cli_testcase(2339, [infinite,tickets,reals], [
9730 '-evalt', 'not(REAL <<: {})',
9731 '-evalt', 'not(FLOAT <<: {})',
9732 '-evalt', 'not(FLOAT <<: {1.0})',
9733 '-evalt', 'not(REAL <<: {1.0})',
9734 '-evalt', 'not(REAL <<: {1.0}) & not( REAL <: {}) & not( REAL <: {1.0})',
9735 '-evalf', 'REAL <<: {}',
9736 '-evalf', 'REAL <: {}',
9737 '-evalf', 'REAL <: {1.0,2.0}',
9738 '-evalf', 'FLOAT <: {1.0,2.0}'
9739 ], 'test issue with negation of strict subset for reals').
9740 cli_testcase(2340, [laws,reals], ['../prob_examples/public_examples/B/Laws/RealLaws.mch', '-mc', '600', '-nogoal', '-nodead', '-strict'], 'Some Laws about the REAL datatype').
9741 cli_testcase(2341, [laws,reals,strings], ['../prob_examples/public_examples/B/Laws/SetRelLaws_RecRealString.mch', '-mc', '500', '-nogoal', '-nodead','-expcterr', 'model_check_incomplete'], 'Some Laws using both STRING and REAL datatype').
9742 cli_testcase(2342, [tickets,records], [
9743 '-eval', 'rec(a:1,a:2) = rec(a:1)',
9744 '-expcterr', 'type_expression_error'
9745 ], 'test duplicate record field with same type detected').
9746 cli_testcase(2343, [b_test,refinement],['../prob_examples/public_examples/B/RefinementChecking/Simple/ifabc1.mch', '-init', '-ref_check','F', '../prob_examples/public_examples/B/RefinementChecking/Simple/ifabc2_refine_spec.P'], 'Test failure trace refinement checking for B.').
9747 cli_testcase(2344, [b_test,refinement],['../prob_examples/public_examples/B/RefinementChecking/Simple/ifabc2.mch', '-init', '-ref_check', 'F', '../prob_examples/public_examples/B/RefinementChecking/Simple/ifabc1_refine_spec.P',
9748 '-expcterr', 'refinement_check_fails'], 'Test failure trace refinement checking for B finds counter example.').
9749 cli_testcase(2345, [cbc,json_trace_replay],['../prob_examples/public_examples/B/PerformanceTests/SAT_Tests/IceCream_Generic.mch',
9750 '-trace_replay', 'json', '../prob_examples/public_examples/B/PerformanceTests/SAT_Tests/IceCream_Generic.prob2trace'],
9751 'Test example is now solved without SMT mode.').
9752 cli_testcase(2346, [cbc],['../prob_examples/examples/EventBPrologPackages/Stock/concreteTrace_ctx.eventb',
9753 '-init'],
9754 'Test propagation of empty total function range to relation').
9755 cli_testcase(2347, [cbc,random],['../prob_examples/public_examples/B/Mathematical/Info4/TuringMachine_Cook_SAT.mch',
9756 '-evalt', ':prob #Alphabet.(1:Alphabet)', % and check existential quantifier with clash not removed
9757 '-evalt', '#Alphabet.(1:Alphabet)', % ditto
9758 '-evalt', ':prob #Alphabet.(I/:Alphabet)', % ditto
9759 '-evalf', '!x.(x : POW(Alphabet) => card(x) = 3)', % ditto
9760 '-init'],
9761 'Test SAT-style encoding of Cook of TM works').
9762 cli_testcase(2348, [tickets,records], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9763 '-evalf', '{x,y,z,v,w,a} <: 1..3 & {x|->y,x|->z,v|->z,v|->w,a|->w,w|->a} /\\ {z|->y,z|->v,y|->x,w|->x,w|->z,a|->z,a|->y,w|->y,a|->x,v|->y} = {}',
9764 '-evalt', '{x,y,z,v,w,a} <: 1..150 & {x|->y,x|->z,v|->z,v|->w,a|->w,w|->a} /\\ {z|->y,z|->v,y|->x,w|->x,w|->z,a|->z,a|->y,w|->y,a|->x,v|->y} = {}',
9765 '-evalt', '{x,y,z,v,w,a} <: 1..3 & {x|->y,x|->z,v|->z,v|->w,a|->w,w|->a} /\\ {z|->y,z|->v,y|->x,w|->x,w|->z,a|->z,a|->y,w|->y,a|->x} = {}'
9766 ], 'Test expansion of disjointness of set extensions').
9767 cli_testcase(2349, [csp_test], [
9768 '../prob_examples/public_examples/CSP/other/Kleine/needham-schroeder.csp',
9769 '-assertions', '-p', 'TIME_OUT', 5000], % increase time-out as test can sometimes fail on slow test runners
9770 'Test no call residues due to ignore_infinite_datatypes kludge.').
9771 cli_testcase(2350, [tickets,external], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9772 '-evalt', 'e_ne : {rec(Id:{"ne_1717"}),rec(Id:{"ne_102"})} & MU(e_ne\'Id) = "ne_1717" & i_e = "sig1725" & {iC1,iC2} <: ({"ne_1717" |->{("ic1"|->0.0),("ic2"|->0.167),("ic3"|->1.0)}})(MU(e_ne\'Id))~ & prj1(iC1) <= 0.2 & 0.2 < prj1(iC2) & {(0.0|->"ic1"|->1),(0.167|->"ic2"|->2),(1.0|->"ic3"|->3)}(iC1) = pred({(0.0|->"ic1"|->1),(0.167|->"ic2"|->2),(1.0|->"ic3"|->3)}(iC2))', % used to fail
9773 '-evalt', 'e_ne : {rec(Id:{"ne_1717"}),rec(Id:{"ne_102"})} & MU(e_ne\'Id) = "ne_1717" & i_e = "sig1725" & {iC1,iC2} <: ({"ne_1717" |->{("ic1"|->0.0),("ic2"|->0.167),("ic3"|->1.0)}})(MU(e_ne\'Id))~ & prj1(iC1) <= 0.2 & 0.2 < prj1(iC2) & {(0.0|->"ic1"|->1),(0.167|->"ic2"|->2),(1.0|->"ic3"|->3)}(iC1) = pred({(0.0|->"ic1"|->1),(0.167|->"ic2"|->2),(1.0|->"ic3"|->3)}(iC2)) & iC1 = (0.167|->"ic2")', % was ok
9774 '-evalt', 'e_ne : {rec(Id:{"ne_1717"}),rec(Id:{"ne_102"})} & MU(e_ne\'Id) = "ne_1717" & i_e = "sig1725" & {iC1,iC2} <: ({"ne_1717" |->{("ic1"|->0.0),("ic2"|->0.167),("ic3"|->1.0)}})(MU(e_ne\'Id))~ & prj1(iC1) <= 0.2 & 0.2 < prj1(iC2) & {(0.0|->"ic1"|->1),(0.167|->"ic2"|->2)}(iC1) = pred({(0.167|->"ic2"|->2),(1.0|->"ic3"|->3)}(iC2))', % used to fail
9775 '-evalt', 'e_ne : {rec(Id:{"ne_1717"}),rec(Id:{"ne_102"})} & MU(e_ne\'Id) = "ne_1717" & i_e = "sig1725" & {iC1,iC2} <: ({"ne_1717" |->{("ne_1717_aps01_ic1"|->0),("ne_1717_aps01_ic2"|->1),("ne_1717_aps01_ic3"|->10)}})(MU(e_ne\'Id))~ & prj1(iC1) <= 2 & 2 < prj1(iC2) & {(0|->"ne_1717_aps01_ic1"|->1),(1|->"ne_1717_aps01_ic2"|->2),(10|->"ne_1717_aps01_ic3"|->3)}(iC1) = pred({(0|->"ne_1717_aps01_ic1"|->1),(1|->"ne_1717_aps01_ic2"|->2),(10|->"ne_1717_aps01_ic3"|->3)}(iC2)) & e_sloc = ("ne_1717"|->2)'
9776 ],
9777 'Test equality reification for floating numbers fixed.').
9778 cli_testcase(2351, [b_test,records,union], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9779 '-p', 'CLPFD', 'FALSE', % ensure fast without CLPFD propagations
9780 '-evalt', ':prob n=10000 & s=UNION(x).(x:1..n|{rec(f1:x,f2:x+1)}) & !y,z.(y:2..n & rec(f1:y,f2:z):s => z>2)', % used to take 12 secs
9781 '-evalt', ':prob n=10000 & s=UNION(x).(x:1..n|{rec(f1:x,f2:x+1)}) & !y,r.(y:2..n & r\'f1=y & r:s => r\'f2>2)'
9782 ], 'Test performance of looking up records').
9783 cli_testcase(2352, [smt_solver_integration], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9784 % see smt_solvers_interface/ast_cleanup_for_smt.pl and smt_solvers_interface/set_rewriter.pl
9785 '-evalt', ':z3-double-check x:INTEGER & card({x,y,z}) < 3',
9786 '-evalt', ':z3-double-check x:INTEGER & 3 > card({x,y,z})',
9787 '-evalt', ':z3-double-check x:INTEGER & card({x,y,z}) <= 2',
9788 '-evalt', ':z3-double-check x:INTEGER & 2 >= card({x,y,z})',
9789 '-evalt', ':z3-double-check x:INTEGER & card({x,y,z}) < 4',
9790 '-evalt', ':z3-double-check x:INTEGER & 4 > card({x,y,z})',
9791 '-evalt', ':z3-double-check x:INTEGER & card({x,y,z}) <= 4',
9792 '-evalt', ':z3-double-check x:INTEGER & 4 >= card({x,y,z})',
9793 '-evalt', ':z3-double-check x:INTEGER & card({x,y,z}) <= 3',
9794 '-evalt', ':z3-double-check x:INTEGER & 3 >= card({x,y,z})',
9795 '-evalt', ':z3-double-check x:INTEGER & card({x,y,z}) >= 3',
9796 '-evalt', ':z3-double-check x:INTEGER & 3 >= card({x,y,z})',
9797 '-evalf', ':z3-double-check x:INTEGER & card({x,y,z}) > 3',
9798 '-evalf', ':z3-double-check x:INTEGER & 3 < card({x,y,z})',
9799 '-evalt', ':z3-double-check x:INTEGER & card({x,y,z}) > 2',
9800 '-evalt', ':z3-double-check x:INTEGER & 2 < card({x,y,z})',
9801 '-evalt', ':z3-double-check x:INTEGER & card({x,y,z}) >= 1',
9802 '-evalt', ':z3-double-check x:INTEGER & 1 <= card({x,y,z})',
9803 '-evalt', ':z3-double-check x:INTEGER & card({x,y}) = 1',
9804 '-evalt', ':z3-double-check x:INTEGER & 1 = card({x,y})',
9805 '-evalt', ':z3-double-check x:INTEGER & card({x,y}) /= 1',
9806 '-evalt', ':z3-double-check x:INTEGER & 1 /= card({x,y})',
9807 '-evalf', ':z3-double-check x:INTEGER & card({x,y,z}) = 0',
9808 '-evalf', ':z3-double-check x:INTEGER & 0 = card({x,y,z})',
9809 '-evalt', ':z3-double-check x:INTEGER & card({x,y,z}) = 3',
9810 '-evalt', ':z3-double-check x:INTEGER & 3 = card({x,y,z})',
9811 '-evalf', ':z3-double-check x:INTEGER & card({x,y,z}) = 0',
9812 '-evalf', ':z3-double-check x:INTEGER & card({x,y,z}) >= 4',
9813 '-evalf', ':z3-double-check x:INTEGER & 4 <= card({x,y,z})',
9814 '-evalf', ':z3-double-check x:INTEGER & 0 = card({x,y,z})',
9815 '-evalt', ':z3-double-check x:POW(INTEGER) & card(x) = 0', % these rules also work for sets that are not statically finite
9816 '-evalt', ':z3-double-check x:POW(INTEGER) & 0 = card(x)',
9817 '-evalt', ':z3-double-check x:POW(INTEGER) & card(x) /= 0',
9818 '-evalt', ':z3-double-check x:POW(INTEGER) & 0 /= card(x)',
9819 '-evalt', ':z3-double-check x:POW(INTEGER) & card(x) > 0',
9820 '-evalt', ':z3-double-check x:POW(INTEGER) & 0 < card(x)'
9821 ], 'Test rewriting of cardinality constraints using finite sets for Z3.').
9822 cli_testcase(2353, [b_test,external,records,rulesdsl,xml], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9823 '../prob_examples/examples/Rules/RailML_Simple/RailML3_IS.rmch',
9824 '-execute_all', '-execute_expect_steps', 86,
9825 '-evalt', 'RailML3_IS_NETWORK_IDS={"nw01"} & card(RailML_spotLocation)=41 & card(RailML_signalIS)=13 & card(RailML_netRelation)=13',
9826 '-evalt', 'card(warnings_linearLocation_Counterexamples)=72 & warnings_level_Counterexamples={}',
9827 '-evalt', 'card(warnings_spotLocation_Counterexamples)=41 & warnings_netRelation_Counterexamples={}',
9828 '-evalt', 'TEST /= {}'
9829 ], 'Test avl indexed lookup for complex records with set field values works').
9830 cli_testcase(2354, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9831 '-p', 'SOLVER_STRENGTH', 10, % will force attempt_reification
9832 '-evalt', ':prob n=2000 & f:1..n-->BOOL & !i.(i:2..n => (f(i)=TRUE =>f(i-1)=FALSE)) & f(1)=TRUE'
9833 ], 'Test performance wrt reification').
9834 cli_testcase(2355, [satsolver_test], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9835 '-evalt', ':sat-double-check x=TRUE or x=FALSE',
9836 '-evalf', ':sat-double-check x=TRUE & x=FALSE',
9837 '-evalt', ':sat-double-check x=TRUE & (x=TRUE => y=TRUE) & (y=TRUE => x=TRUE)',
9838 '-evalf', ':sat-double-check x=TRUE & (x=TRUE => y=TRUE) & (y=TRUE => x=FALSE)',
9839 '-evalt', ':sat-double-check x=TRUE & (x=TRUE <=> y=TRUE) & (y=TRUE <=> z=TRUE)',
9840 '-evalt', ':sat-double-check n=12 & f:1..n-->BOOL & !i.(i:2..n => (f(i)=TRUE =>f(i-1)=FALSE)) & f(1)=TRUE',
9841 '-evalt', ':sat-double-check n=12 & f:1..n-->BOOL & !i.(i:2..n => (f(i)=TRUE =>f(i-1)=FALSE)) & f(1)=TRUE & f(12)=TRUE',
9842 '-evalf', ':sat-double-check n=12 & f:1..n-->BOOL & !i.(i:2..n => (f(i)=TRUE <=>f(i-1)=FALSE)) & f(1)=TRUE & f(12)=TRUE',
9843 '-evalt', ':sat-double-check n=12 & f:1..n-->BOOL & card({i|i:1..n & f(i)=TRUE})=1',
9844 '-evalf', ':sat-double-check n=12 & f:1..n-->BOOL & card({i|i:1..n & f(i)=TRUE})=1 & card({i|i:1..n & f(i)=FALSE})=1',
9845 '-evalt', ':sat-double-check n=6 & f:1..n-->BOOL & card({i|i:1..n & f(i)=TRUE})>2 & card({i|i:1..n & f(i)=FALSE})>2',
9846 '-evalf', ':sat-double-check n=6 & f:1..n-->BOOL & card({i|i:1..n & f(i)=TRUE})>3 & card({i|i:1..n & f(i)=FALSE})>2',
9847 '-evalt', ':sat-double-check n=6 & f:1..n-->BOOL & card({i|i:1..n & f(i)=TRUE})<4 & card({i|i:1..n & f(i)=FALSE})<4',
9848 '-evalf', ':sat-double-check n=6 & f:1..n-->BOOL & card({i|i:1..n & f(i)=TRUE})<3 & card({i|i:1..n & f(i)=FALSE})<4',
9849 '-evalt', ':sat-double-check f:1..3-->BOOL & card({y|y:1..3 & f(y)=TRUE}) <=2 &f(1)=TRUE & f(3)=TRUE',
9850 '-evalf', ':sat-double-check f:1..3-->BOOL & card({y|y:1..3 & f(y)=TRUE}) <=2 &f(1)=TRUE & f(3)=TRUE & f(2)=TRUE',
9851 '-evalf', ':sat-double-check f:1..100-->BOOL & card({y|y:1..100 & f(y)=TRUE}) <=6 &f(1)=TRUE & f(3)=TRUE & !i.(i:1..10 => (f(i)=FALSE => f(i*10)=TRUE))',
9852 '-evalt', ':sat-double-check f:1..100-->BOOL & card({y|y:1..100 & f(y)=TRUE}) <=10 &f(1)=TRUE & f(3)=TRUE & !i.(i:1..10 => (f(i)=FALSE => f(i*10)=TRUE))',
9853 '-evalf', ':sat f:1..100-->BOOL & card({y|y:1..100 & f(y)=TRUE}) >=20 & card({y|y:1..100 & f(y)=TRUE}) <=19', % ProB times out here
9854 '-evalt', ':sat-double-check f:1..100-->BOOL & card({y|y:1..100 & f(y)=TRUE}) >=20 & card({y|y:1..100 & f(y)=TRUE}) <=20',
9855 '-evalt', ':sat-double-check n=3 & f:1..n-->BOOL & f(1)=TRUE & card({i|i:1..n & (f(i)=TRUE or i=2)})=2',
9856 '-evalf', ':sat-double-check n=3 & f:1..n-->BOOL & f(1)=TRUE & card({i|i:1..n & (f(i)=TRUE or i=2)})=1',
9857 '-evalt', ':sat-double-check f:1..n --> BOOL & n=50 & f(1)=TRUE & !i.(i:2..n => f(i) /= f(i-1))',
9858 '-evalf', ':sat-double-check f:1..n --> BOOL & n=3 & f(1)=TRUE & !i.(i:2..n => f(i) /= f(i-1)) & card({i|i:1..3 & (f(i)=TRUE or i=1)})=3',
9859 '-evalf', ':sat-double-check f:1..n --> BOOL & n=3 & f(1)=TRUE & !i.(i:2..n => f(i) /= f(i-1)) & card({i|i:1..3 & (f(i)=TRUE or i=1)})=1',
9860 '-evalt', ':sat-double-check f:1..n --> BOOL & n=3 & f(1)=TRUE & !i.(i:2..n => f(i) /= f(i-1)) & card({i|i:1..3 & (f(i)=TRUE or i=1)})=2',
9861 '-evalf', ':sat-double-check f:1..n --> BOOL & n=3 & f(1)=TRUE & !i.(i:2..n => f(i) /= f(i-1)) & card({i|i:1..3 & (f(i)=TRUE or i=2)})=2',
9862 '-evalt', ':sat-double-check f:1..n --> BOOL & n=3 & f(1)=TRUE & !i.(i:2..n => f(i) /= f(i-1)) & card({i|i:1..3 & (f(i)=TRUE or i=2)})=3',
9863 '-evalt', ':sat-double-check IF x=TRUE THEN y=TRUE ELSE z=TRUE END & y=FALSE',
9864 '-evalf', ':sat-double-check not(IF x=TRUE THEN y=TRUE ELSE z=TRUE END) & y=TRUE & z=TRUE'
9865 ], 'Test new satsolver backend.').
9866 cli_testcase(2356, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9867 '../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/ABZ16_m6.eventb', '-init',
9868 '-p', 'TIME_OUT', '60000',
9869 '-eval', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_0.eval',
9870 '-eval', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_1.eval',
9871 '-eval', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_2.eval',
9872 '-eval', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_3.eval',
9873 '-eval', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_1.eval',
9874 '-eval', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_2.eval'
9875 ], 'Double check integration of Z3 for BMC constraints of ABZ16_m6 containing unfixed deferred sets').
9876 cli_testcase(2357,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9877 '-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 20000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
9878 '../private_examples/ClearSy/2023/error_0720/rule_CHAMPS_COMMUNS_AUX_FICHIERS_MCMDOUVERTUREITIAU_RVF65_MCMD_FOLIO.mch',
9879 '-execute_all', '-execute_expect_steps', 15, %'-silent',
9880 '-animate_stats',
9881 '-evalt', 'card(caval__rule__12__ALL)=8',
9882 '-evalt', 'caval__rule__1__ALL={({}|->{109}|->{}|->TRUE)}',
9883 '-evalt', 'caval__rule__10__ALL={} & caval__rule__11__ALL={}',
9884 '-evalt', 'caval__rule__2__ALL={} & caval__rule__5__ALL={} & caval__rule__6__ALL={}',
9885 '-evalt', 'caval__rule__13__done=TRUE'
9886 ], 'Issue used_ids field wrong fro memoization closure leading to identifier not found error'). % fixed in c5e3cd063a89b7b6d3c8c255ec6517ee76981415
9887 cli_testcase(2358,[private,regex],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'PROB_SAFE_MODE', 'TRUE',
9888 '-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 20000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
9889 '../prob_examples/examples/B/ClearSy/Caval/2023/error_0720/rule_RVF65_bugly.mch',
9890 '-execute_all', '-execute_expect_steps', 15, %'-silent',
9891 '-animate_stats',
9892 '-evalt', 'card(aahm)=16',
9893 '-evalt', 'aajl={({}|->{109}|->{}|->TRUE)}',
9894 '-evalt', 'aarl={} & aatl={}',
9895 '-evalt', 'aall={} & aahl={} & aadm={}',
9896 '-evalt', 'aaam=TRUE'
9897 ], 'Bugly version of test 2357'). % not sure the original error also occurs with this model
9898 cli_testcase(2359,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9899 '-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 20000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
9900 '../private_examples/ClearSy/2023/Machines_0731/rule_OPS_SDS_4537/rule.mch',
9901 '-execute_all', '-execute_expect_steps', 3, %'-silent',
9902 '-animate_stats',
9903 '-evalt', 'caval__rule__1__ALL={} & caval__Compute_Variables_CounterExamples={}',
9904 '-evalt', 'caval__rule__1__done=TRUE'
9905 ], 'Test no virtual time-out (ZC_PROP_1 in UNION used only in one disjunct)').
9906 % in principle a virtual time-out is ok as ZC_PROP_1 has infinitely many values, but is not used in result of UNION
9907 cli_testcase(2360, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/Clashes/DefParaClash.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], 'Ensure no internal error').
9908 cli_testcase(2361,[private,data_validation,external,regex],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9909 '-p', 'TIME_OUT', 2000, '-p', 'DATA_VALIDATION', 'TRUE', '-animate_all',
9910 '../prob_examples/examples/B/ClearSy/Caval/2023/perf_0810/RVF354_MDYS_op1.mch',
9911 '-evalt', 'card(rule_check_1)=1108 & rule_done_1=TRUE'
9912 ], 'Test Caval prob-users example works fast'). % was still slow with 1.12.1, fast since 6796bf80d653dbdfa2f88a30980158c82af0a5ec
9913 cli_testcase(2362,[private,data_validation,external,regex],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9914 '-p', 'TIME_OUT', 2000, '-p', 'DATA_VALIDATION', 'TRUE', '-animate_all',
9915 '../prob_examples/examples/B/ClearSy/Caval/2023/perf_0810/RVF354_MDYS_op2.mch',
9916 '-evalt', 'card(rule_check_2)=1108 & rule_done_2=TRUE'
9917 ], 'Test Caval prob-users example works fast'). % ditto, was still slow with 1.12.1
9918 cli_testcase(2363, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE',
9919 '../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching.mch', '-init',
9920 '-p', 'TIME_OUT', '60000',
9921 '-p', 'cdclt_use_idl_theory_solver', 'true',
9922 '-evalt', ':cdclt-double-check -ct <= -2 & ct <= 33554432',
9923 '-evalt', ':cdclt-double-check -ct <= -2 & not(-ct <= -33554432) & ct <= 33554432',
9924 '-evalt', ':cdclt-double-check -ct <= -2 & -ct <= -2 & not(-ct <= -33554432) & ct <= 33554432 & ct__ <= 0 & not(-ct__ <= -33554432)',
9925 '-evalf', ':cdclt-double-check ct <= 2 & -ct <= -2 & not(-ct <= -33554432) & ct <= 33554432 & ct__ <= 0 & not(-ct__ <= -33554432) & ct__ <= 33554432',
9926 '-evalf', ':cdclt-double-check lim <= 33554432 & -lim <= -33554432 & ct <= 2 & -ct <= -2 & not(-ct <= -33554432) & ct <= 33554432 & ct__ <= 0 & not(-ct__ <= -33554432) & ct__ <= 33554432',
9927 '-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/core_bug.eval',
9928 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_0.eval',
9929 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_1.eval',
9930 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_2.eval',
9931 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_3.eval',
9932 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_4.eval',
9933 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_5.eval',
9934 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_6.eval',
9935 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_7.eval',
9936 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_8.eval',
9937 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_9.eval',
9938 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_10.eval', % sometimes times out on Windows
9939 '-evalt', ':cdclt-free-double-check -ct <= -2 & ct <= 33554432',
9940 '-evalt', ':cdclt-free-double-check -ct <= -2 & not(-ct <= -33554432) & ct <= 33554432',
9941 '-evalt', ':cdclt-free-double-check -ct <= -2 & -ct <= -2 & not(-ct <= -33554432) & ct <= 33554432 & ct__ <= 0 & not(-ct__ <= -33554432)',
9942 '-evalt', ':cdclt-free-double-check ct <= 2 & -ct <= -2 & not(-ct <= -33554432) & ct <= 33554432 & ct__ <= 0 & not(-ct__ <= -33554432) & ct__ <= 33554432',
9943 '-evalt', ':cdclt-free-double-check lim <= 33554432 & -lim <= -33554432 & ct <= 2 & -ct <= -2 & not(-ct <= -33554432) & ct <= 33554432 & ct__ <= 0 & not(-ct__ <= -33554432) & ct__ <= 33554432',
9944 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/core_bug.eval',
9945 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_0.eval',
9946 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_1.eval',
9947 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_2.eval',
9948 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_3.eval',
9949 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_4.eval',
9950 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_5.eval',
9951 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_6.eval',
9952 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_7.eval',
9953 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_8.eval',
9954 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_9.eval',
9955 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_10.eval',
9956 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_11.eval',
9957 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_12.eval',
9958 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_13.eval',
9959 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_14.eval',
9960 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_15.eval',
9961 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_16.eval',
9962 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_17.eval',
9963 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_18.eval',
9964 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_19.eval',
9965 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_20.eval',
9966 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_21.eval',
9967 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_22.eval',
9968 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_23.eval',
9969 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_24.eval',
9970 '-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_25.eval'
9971 ], 'Double check CDCL(T) using the additional IDL solver similar to test 2166.').
9972 cli_testcase(2364, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9973 '-evalt', ':idl x:INTEGER & x>y',
9974 '-evalf', ':idl x:INTEGER & x>y & y>x',
9975 '-evalt', ':idl x:INTEGER & x=1',
9976 '-evalf', ':idl x:INTEGER & x<3 & x>3',
9977 '-evalf', ':idl x:INTEGER & x<3 & x-1>3',
9978 '-evalt', ':idl x:INTEGER & x<3 & y<4',
9979 '-evalt', ':idl x:INTEGER & x<3 & y-2>4',
9980 '-evalt', ':idl x:INTEGER & x<3 & y-2<4',
9981 '-evalf', ':idl x:INTEGER & x<3-2 & x-2>(-1)',
9982 '-evalt', ':idl x:INTEGER & x+y<x+2',
9983 '-evalt', ':idl x:INTEGER & x-y<=2 & y-z<=1 & z-x<=-1',
9984 '-evalf', ':idl x:INTEGER & x-y<=2 & y-z<=1 & z-x<=-4',
9985 '-evalf', ':idl x:INTEGER & x<y+3 & y<=z+2 & z<x-4',
9986 '-evalf', ':idl x:INTEGER & x<=z-6 & x<=w-3 & y<=x+3 & z<=y+2 & z<=w-1 & w<=y+5',
9987 '-evalt', ':idl x:INTEGER & x<=z-5 & x<=w-3 & y<=x+3 & z<=y+2 & z<=w-1 & w<=y+5',
9988 '-evalf', ':idl x:INTEGER & x<=z-5 & x<=w-3 & y<=x+3 & z=y+2 & z=w-1 & w=y+5',
9989 '-evalt', ':idl x:INTEGER & x=w-3 & y=x+3 & z=y+2'
9990 ], 'Simple tests for the graph-based solver for the IDL.').
9991 cli_testcase(2365, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
9992 '-p', 'TIME_OUT', '60000',
9993 '-p', 'maxNrOfInitialisations', '1',
9994 '../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/PM_M1_VOOR.eventb', '-init',
9995 '-p', 'cdclt_use_idl_theory_solver', 'true',
9996 '-p', 'cdclt_perform_static_analysis', 'true',
9997 '-p', 'cdclt_perform_symmetry_breaking', 'false', % disable bliss to avoid GC: marked cell count is wrong SPRM-21543
9998 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_0.eval',
9999 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_2.eval',
10000 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
10001 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
10002 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval',
10003 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
10004 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
10005 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval',
10006 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_0.eval',
10007 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_1.eval',
10008 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
10009 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
10010 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
10011 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval'
10012 ], 'Double check CDCL(T) using the additional IDL solver for constraints from inductive invariant checking of a pacemaker model.').
10013 cli_testcase(2366, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10014 '-p', 'TIME_OUT', '60000',
10015 '-p', 'maxNrOfInitialisations', '1',
10016 '../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/PM_M1_VOOR.eventb', '-init',
10017 '-p', 'cdclt_use_idl_theory_solver', 'true',
10018 '-p', 'cdclt_perform_static_analysis', 'false',
10019 '-p', 'cdclt_perform_symmetry_breaking', 'false',
10020 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_0.eval',
10021 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_2.eval',
10022 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
10023 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
10024 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval',
10025 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
10026 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
10027 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_0.eval',
10028 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_1.eval',
10029 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
10030 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
10031 %'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval', % CDCLT FINDS SOLUTION if IDL not used (see test 2556), and sometimes causes enumeration warnings (hence only checked in 2556)
10032 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
10033 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval'
10034 ], 'Double check CDCL(T) using the additional IDL solver as in test 2365 but without the additional static analysis.').
10035 cli_testcase(2367, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10036 '-p', 'TIME_OUT', '60000',
10037 '-p', 'maxNrOfInitialisations', '1',
10038 '../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/PM_M0_VOO.eventb', '-init',
10039 '-p', 'cdclt_use_idl_theory_solver', 'true',
10040 '-p', 'cdclt_perform_static_analysis', 'true',
10041 '-p', 'cdclt_perform_symmetry_breaking', 'false', % disable bliss to avoid GC: marked cell count is wrong SPRM-21543
10042 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_0.eval',
10043 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_1.eval',
10044 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_2.eval',
10045 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_3.eval',
10046 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_4.eval',
10047 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_5.eval',
10048 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_6.eval',
10049 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_7.eval',
10050 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_0.eval',
10051 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_1.eval'
10052 %'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_2.eval' % sometimes times out on Windows
10053 ], 'Double check CDCL(T) using the additional IDL solver for constraints from bounded model checking of a pacemaker model.').
10054 cli_testcase(2368, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10055 '-p', 'TIME_OUT', '60000',
10056 '-p', 'maxNrOfInitialisations', '1',
10057 '../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/PM_M0_VOO.eventb', '-init',
10058 '-p', 'cdclt_use_idl_theory_solver', 'true',
10059 '-p', 'cdclt_perform_static_analysis', 'false',
10060 '-p', 'cdclt_perform_symmetry_breaking', 'false',
10061 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_0.eval',
10062 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_1.eval',
10063 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_2.eval',
10064 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_3.eval',
10065 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_4.eval',
10066 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_5.eval',
10067 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_6.eval',
10068 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_7.eval',
10069 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_0.eval',
10070 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_1.eval',
10071 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_2.eval'
10072 ], 'Double check CDCL(T) using the additional IDL solver as in test 2367 but without the additional static analysis.').
10073 cli_testcase(2369, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10074 '-p', 'TIME_OUT', '60000',
10075 '-p', 'maxNrOfInitialisations', '1',
10076 '../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/PM_M3_AAI.eventb', '-init',
10077 '-p', 'cdclt_use_idl_theory_solver', 'true',
10078 '-p', 'cdclt_perform_static_analysis', 'true',
10079 '-p', 'cdclt_perform_symmetry_breaking', 'false', % disable bliss to avoid GC: marked cell count is wrong SPRM-21543
10080 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_0.eval',
10081 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_1.eval',
10082 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_2.eval',
10083 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_3.eval',
10084 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_4.eval',
10085 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_5.eval',
10086 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_6.eval',
10087 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_7.eval',
10088 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_0.eval',
10089 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_1.eval',
10090 '-evalf', ':cdclt-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_2.eval' % cannot be solved by ProB in time
10091 %'-evalf', ':cdclt-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_3.eval' %
10092 ], 'Double check CDCL(T) using the additional IDL solver for constraints from bounded model checking of a pacemaker model.').
10093 cli_testcase(2370, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10094 '-p', 'TIME_OUT', '60000',
10095 '-p', 'maxNrOfInitialisations', '1',
10096 '../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/PM_M3_AAI.eventb', '-init',
10097 '-p', 'cdclt_use_idl_theory_solver', 'true',
10098 '-p', 'cdclt_perform_static_analysis', 'false',
10099 '-p', 'cdclt_perform_symmetry_breaking', 'false', % disable bliss to avoid GC: marked cell count is wrong SPRM-21543
10100 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_0.eval',
10101 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_1.eval',
10102 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_2.eval', % time_out without bliss symmetry
10103 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_3.eval',
10104 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_4.eval',
10105 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_5.eval',
10106 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_6.eval',
10107 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_7.eval',
10108 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_0.eval',
10109 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_1.eval'
10110 % '-evalf', ':cdclt-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_2.eval' % cannot be solved by ProB in time, requires static analysis for cdclt
10111 %'-evalf', ':cdclt-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_3.eval' % sometimes times out on Windows
10112 ], 'Double check CDCL(T) using the additional IDL solver as in test 2369 but without the additional static analysis.').
10113 cli_testcase(2371, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10114 '-p', 'TIME_OUT', '60000',
10115 '-p', 'maxNrOfInitialisations', '1',
10116 '../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/PM_M1_VOOR.eventb', '-init',
10117 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_0.eval',
10118 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_2.eval',
10119 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
10120 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
10121 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval',
10122 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
10123 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
10124 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval',
10125 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_0.eval',
10126 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_1.eval',
10127 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
10128 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
10129 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval',
10130 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
10131 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
10132 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval'
10133 ], 'Double check Z3 using constraints from inductive invariant checking of a pacemaker.').
10134 cli_testcase(2372, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10135 '-p', 'TIME_OUT', '60000',
10136 '-p', 'maxNrOfInitialisations', '1',
10137 '../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/PM_M0_VOO.eventb', '-init',
10138 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_0.eval',
10139 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_1.eval',
10140 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_2.eval',
10141 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_3.eval',
10142 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_4.eval',
10143 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_5.eval',
10144 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_6.eval',
10145 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_7.eval',
10146 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_0.eval',
10147 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_1.eval',
10148 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_2.eval',
10149 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_3.eval', % cannot be solved by ProB in time
10150 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_4.eval', %
10151 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_5.eval', %
10152 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_6.eval', %
10153 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_7.eval' %
10154 ], 'Double check Z3 using constraints from boundel model checking of a pacemaker.').
10155 cli_testcase(2373, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10156 '-p', 'TIME_OUT', '60000',
10157 '-p', 'maxNrOfInitialisations', '1',
10158 '../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/PM_M3_AAI.eventb', '-init',
10159 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_0.eval',
10160 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_1.eval',
10161 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_2.eval',
10162 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_3.eval',
10163 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_4.eval',
10164 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_5.eval',
10165 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_6.eval',
10166 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_7.eval',
10167 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_0.eval',
10168 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_1.eval',
10169 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_2.eval', % cannot be solved by ProB in time
10170 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_3.eval', %
10171 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_4.eval', %
10172 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_5.eval', %
10173 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_6.eval', %
10174 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_7.eval' %
10175 ], 'Double check Z3 using constraints from boundel model checking of a pacemaker refinement used in test 2372.').
10176 cli_testcase(2374, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10177 '-p', 'TIME_OUT', '60000',
10178 '../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot.mch', '-init',
10179 '-p', 'cdclt_perform_static_analysis', 'true',
10180 '-p', 'cdclt_perform_symmetry_breaking', 'false', % disable bliss to avoid GC: marked cell count is wrong SPRM-21543
10181 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_0.eval',
10182 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_1.eval',
10183 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_2.eval',
10184 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_3.eval',
10185 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_4.eval',
10186 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_5.eval',
10187 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_6.eval',
10188 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_7.eval',
10189 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_8.eval',
10190 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_9.eval',
10191 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_10.eval', % sometimes times out on Windows
10192 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_0.eval',
10193 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_1.eval'
10194 ], 'Double check CDCL(T) for constraints from bounded model checking of a lightbot model.').
10195 cli_testcase(2375, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10196 '-p', 'TIME_OUT', '60000',
10197 '../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot.mch', '-init',
10198 '-p', 'cdclt_perform_static_analysis', 'false',
10199 '-p', 'cdclt_perform_symmetry_breaking', 'false',
10200 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_0.eval',
10201 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_1.eval',
10202 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_2.eval',
10203 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_3.eval',
10204 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_4.eval', % sometimes times out in 4.10.2
10205 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_5.eval', % times out in 4.10.2
10206 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_6.eval', % ditto?
10207 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_7.eval', % ditto?
10208 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_8.eval', % ditto?
10209 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_9.eval', % ditto?
10210 %'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_10.eval', % sometimes times out on Windows
10211 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_0.eval',
10212 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_1.eval'
10213 ], 'Double check CDCL(T) for the same constraints used in test 2374 but without the additional static analysis.').
10214 cli_testcase(2376, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10215 '-p', 'TIME_OUT', '60000',
10216 '../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot.mch', '-init',
10217 '-p', 'cdclt_use_idl_theory_solver', 'true',
10218 '-p', 'cdclt_perform_static_analysis', 'true',
10219 '-p', 'cdclt_perform_symmetry_breaking', 'false', % disable bliss to avoid GC: marked cell count is wrong SPRM-21543
10220 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_0.eval',
10221 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_1.eval',
10222 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_2.eval',
10223 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_3.eval',
10224 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_4.eval',
10225 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_0.eval',
10226 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_1.eval'
10227 ], 'Double check CDCL(T) for the same constraints used in test 2374 but using the additional IDL solver.').
10228 cli_testcase(2377, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10229 '-p', 'TIME_OUT', '60000',
10230 '../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot.mch', '-init',
10231 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_0.eval',
10232 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_1.eval',
10233 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_2.eval',
10234 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_3.eval',
10235 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_4.eval',
10236 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_5.eval',
10237 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_6.eval',
10238 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_7.eval',
10239 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_8.eval',
10240 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_9.eval',
10241 '-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_10.eval',
10242 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_0.eval',
10243 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_1.eval',
10244 '-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_2.eval',
10245 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_3.eval', % cannot be solved by ProB in time
10246 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_4.eval', %
10247 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_5.eval', %
10248 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_6.eval', %
10249 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_7.eval', %
10250 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_8.eval', %
10251 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_9.eval', %
10252 '-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_10.eval'
10253 ], 'Double check Z3 for constraints from bounded model checking of a lightbot model.').
10254
10255 cli_testcase(2378, [setlog], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10256 '-evalt', ':slog-double-check f:1..3 --> 1..3 & card(ran(f))=3 & f(1)>1',
10257 '-evalt', ':slog-double-check f:INTEGER+->INTEGER & dom(f)=1..2 & dom(f)/=1..1 & f/={}',
10258 '-evalt', ':slog-double-check f:INTEGER+->INTEGER & dom(f)=1..2 & dom(f)/=1..1 & f/={} & ran(f)=1..2',
10259 '-evalt', ':slog-double-check f:INTEGER+->INTEGER & dom(f)<:1..2 & dom(f)/=1..1 & dom(f)/={}',
10260 '-evalt', ':slog-double-check a<:1..3 & (2:a <=> 3:a) & (2:a <=> 1/:a) & a /\\ 1..1 = {}',
10261 '-evalf', ':slog-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & not ((dom(ff\\/gg) = dom(ff) \\/ dom(gg)) )', % was failing with 4.9.8-14h version of setlog, and quite a few more below; now works with 4.9.9-1g
10262 '-evalf', ':slog-double-check f:1..3 --> BOOL & f~:BOOL +-> INTEGER',
10263 '-evalf', ':slog-double-check f:1..3 --> BOOL & f~:BOOL +-> INTEGER & card(ran(f))<=2',
10264 '-evalt', ':slog-double-check x:BOOL & x/=TRUE',
10265 '-evalf', ':slog-double-check x:BOOL & x/=TRUE & x/=FALSE',
10266 '-evalt', ':slog-double-check s<:1..10 & not(1..3 <:s or s<:1..3)',
10267 '-evalf', ':slog-double-check f:1..3 --> BOOL & f~:BOOL +-> INTEGER & ran(f) <: {TRUE,FALSE}',
10268 '-evalf', ':slog-double-check x <: {TRUE,FALSE} & {TRUE} <: x & {FALSE}<: x & x/= BOOL',
10269 '-evalf', ':slog-double-check x<:1..3 & not(2:x <=> 3:x) & 3:x & 2:x',
10270 '-evalt', ':slog-double-check x:1..10 & #y.(y:BOOL & y=TRUE & x<2)',
10271 '-evalt', ':slog-double-check x:1..10 & !y.(y:1..9 => x>y)',
10272 '-evalt', ':slog x <: 1..5 & r[x]=x & r[{1}] /= {1} & card(x)=3',
10273 '-evalt', ':slog x <: 1..5 & r[x]=x & r[{1}] /= {1} & card(x)=3 & r[{2}]={2}',
10274 '-evalt', ':slog-double-check x <: 1..5 & r:1..5 <-> 1..5 & r[x]=x & r[{1}] /= {1} & card(x)=3 & r[{2}]={2}', % a bit slow
10275 '-evalt', ':slog x>0 & x:S & x=max(S)',
10276 '-evalt', ':slog x>0 & x:S & (x=max(S) or (y:S & y>x))',
10277 '-evalt', ':slog x>0 & x:S & not(x=max(S)) & (y:S & y>x)',
10278 '-evalt', ':slog x>1 & x:S & !y.(y:S => y<=x)',
10279 %'-evalt', ':slog x>1 & x:S & !y.(y:S => #z.(z:S & z>y))', % translation failed
10280 '-evalt', ':slog-double-check {x|x:1..10 & x>z} = 3..10',
10281
10282 % idl from test 2364
10283 '-evalt', ':slog x:INTEGER & x>y',
10284 '-evalf', ':slog-double-check x:INTEGER & x>y & y>x',
10285 '-evalt', ':slog-double-check x:INTEGER & x=1',
10286 '-evalf', ':slog-double-check x:INTEGER & x<3 & x>3',
10287 '-evalf', ':slog-double-check x:INTEGER & x<3 & x-1>3',
10288 '-evalt', ':slog-double-check x:INTEGER & x<3 & y<4',
10289 '-evalt', ':slog x:INTEGER & x<3 & y-2>4',
10290 '-evalt', ':slog-double-check x:INTEGER & x<3 & y-2<4',
10291 '-evalf', ':slog-double-check x:INTEGER & x<3-2 & x-2>(-1)',
10292 '-evalt', ':slog x:INTEGER & x+y<x+2',
10293 '-evalt', ':slog x:INTEGER & x-y<=2 & y-z<=1 & z-x<=-1',
10294 '-evalf', ':slog x:INTEGER & x-y<=2 & y-z<=1 & z-x<=-4',
10295 '-evalf', ':slog x:INTEGER & x<y+3 & y<=z+2 & z<x-4',
10296 '-evalf', ':slog x:INTEGER & x<=z-6 & x<=w-3 & y<=x+3 & z<=y+2 & z<=w-1 & w<=y+5',
10297 '-evalt', ':slog x:INTEGER & x<=z-5 & x<=w-3 & y<=x+3 & z<=y+2 & z<=w-1 & w<=y+5',
10298 '-evalf', ':slog x:INTEGER & x<=z-5 & x<=w-3 & y<=x+3 & z=y+2 & z=w-1 & w=y+5',
10299 '-evalt', ':slog x:INTEGER & x=w-3 & y=x+3 & z=y+2',
10300 % from test 2309
10301 '-evalt', ':slog-double-check x:INTEGER & s:POW(1..10) & x=min(s)',
10302 '-evalt', ':slog-double-check x:INTEGER & s:POW(1..10) & x=max(s)',
10303 '-evalt', ':slog-double-check x:INTEGER & {(1,2)}(x)=2',
10304 % from test 2211
10305 '-evalf', ':slog-double-check not(x<:BOOL & x /<: y => x/=y)',
10306 '-evalf', ':slog-double-check not(x<:BOOL & x /<: y => y/=x)',
10307 '-evalf', ':slog-double-check not(x<:BOOL & x /<: y => not(y=x))',
10308 '-evalf', ':slog not(x>0 & y>0 => not(x>0 & y<=0))',
10309 '-evalf', ':slog not(x>0 & y>0 => not(x<=0 & y>0))',
10310 '-evalf', ':slog not(x>0 & y>0 => not(x<=0 & y<=1))',
10311 '-evalt', ':slog not(x>0 & y>0 => not(x<=1 & y<=1))',
10312 '-evalf', ':slog not(x>0 & y>0 => not(x<=0 or y<=0))',
10313 '-evalt', ':slog not(x>0 & y>0 => not(x<=0 or y>0))',
10314 '-evalf', ':slog not(x>0 => (y>0 => not(x<=0 or y<=0)))',
10315 '-evalf', ':slog not(x>0 => ( x=1 or x>1))',
10316 '-evalt', ':slog not(x>0 => not( x=1 or x>1))',
10317 '-evalf', ':slog not(x>0 => not( x/=1 & not(x>1)))',
10318 '-evalf', ':slog not(x>1 & y>2 => not( x>0 => not(y>2)))',
10319 '-evalf', ':slog not(a <:b & a /<<: {1,2} => b /<<: {1,2})',
10320 '-evalf', ':slog not(a ={} & b<:BOOL => b/<<:a)',
10321 '-evalf', ':slog-double-check not(a =BOOL & b<:BOOL => a/<<:b)',
10322 '-evalt', ':slog-double-check not(a ={} & b<:BOOL => a/<<:b)',
10323 '-evalt', ':slog-double-check not(a =BOOL & b<:BOOL => b/<<:a)',
10324 '-evalf', ':slog-double-check not(a ={} & b<:BOOL & a/=b => b/<:a)',
10325 '-evalf', ':slog-double-check not(a ={} & b<:BOOL & a/=b => not(b<:a))',
10326 '-evalt', ':slog-double-check not(a ={} & b<:BOOL & a/=c => not(b<:a))',
10327 '-evalf', ':slog not(a=b => (a>0 <=> b>0))',
10328 '-evalt', ':slog not(a=b => (a>0 <=> b>=0))',
10329 '-evalt', ':slog not(a>=b => (a>0 <=> b>0))',
10330 '-evalf', ':slog not(a:INTEGER => (a>b <=> not(b>=a)))',
10331 '-evalf', ':slog not(a:INTEGER => not(a>b <=> not(a>b)))',
10332 '-evalt', ':slog not(a:INTEGER => not(a>b <=> not(a>=b)))',
10333 '-evalt', ':slog not(a<:BOOL => not(a<:b <=> b<:a))',
10334 '-evalt', ':slog not(a<:BOOL => not(not(a<:b) <=> not(b<:a)))',
10335 '-evalf', ':slog not(a<:BOOL => not((a<:b) <=> not(a<:b)))',
10336 '-evalf', ':slog not(a<:BOOL => not(not(a<<:b) <=> (a<<:b)))',
10337
10338 '-evalf', ':slog-double-check x:POW({1,2}) & 3:x',
10339 '-evalf', ':slog-double-check x:POW({1,2}) & card(x)>2',
10340 '-evalt', ':slog-double-check x:FIN1({1,2}) & 2:x & card(x)=2',
10341 '-evalf', ':slog-double-check x: 1..3 +-> 1..2 & 3:ran(x)',
10342 '-evalt', ':slog-double-check x: 1..3 +-> 1..2 & 2:ran(x)',
10343 '-evalf', ':slog-double-check x: 1..2 +-> NATURAL1 & 0:ran(x)',
10344 '-evalt', ':slog-double-check x: 1..2 +-> NATURAL & 0:ran(x)',
10345 '-evalf', ':slog-double-check x: 0..2<->1..2 & 0:ran(x)',
10346 '-evalf', ':slog-double-check x: 1..2<->1..2 & 0:ran(x)',
10347 '-evalf', ':slog-double-check x: 1..2<->1..2 & 0:dom(x)',
10348 '-evalt', ':slog-double-check x: 0..2<->1..2 & 0:dom(x)',
10349 '-evalf', ':slog-double-check x: NATURAL1<->1..2 & 0:ran(x)',
10350 '-evalt', ':slog x: NATURAL1<->1..2 & 2:ran(x)',
10351 '-evalf', ':slog-double-check x: NATURAL1<->1..2 & 0:dom(x)',
10352 '-evalt', ':slog-double-check x: NATURAL<->1..2 & 0:dom(x)',
10353 '-evalf', ':slog-double-check x: NATURAL1 +-> 1..2 & 0:dom(x)',
10354 '-evalt', ':slog-double-check x: NATURAL +-> 1..2 & 0:dom(x)',
10355 '-evalt', ':slog-double-check x: NATURAL1 +-> NATURAL1 & 1:dom(x) & 1:ran(x)',
10356 '-evalf', ':slog-double-check x: NATURAL1 +-> NATURAL1 & (0:dom(x) or 0:ran(x))',
10357 '-evalt', ':slog x: NATURAL1 +-> NATURAL1 & (1:dom(x) or 0:ran(x))',
10358 '-evalt', ':slog-double-check x <: NATURAL1 & x<:0..1 & card(x)=1',
10359 '-evalf', ':slog-double-check x <: NATURAL1 & x<:0..1 & card(x)=2',
10360 '-evalf', ':slog-double-check x : NATURAL1 <-> 0..1 & dom(x)<:-1..0 & x /= {}',
10361 '-evalt', ':slog-double-check x /: NATURAL1 <-> INTEGER & dom(x)<:-1..1 & ran(x)<:3..4',
10362 '-evalf', ':slog x /: NATURAL1 <-> INTEGER & dom(x)<:1..2 & ran(x)<:3..4',
10363 '-evalt', ':slog-double-check x<: -1..2 & not(x<:NATURAL)',
10364 '-evalf', ':slog-double-check x<: 1..2 & not(x<:NATURAL)',
10365 '-evalf', ':slog-double-check x:POW1(NATURAL1) & x<:-1..0',
10366 '-evalt', ':slog-double-check x:POW1(NATURAL1) & x<:0..1',
10367 '-evalt', ':slog-double-check x/:POW1(NATURAL) & x<:-1..0',
10368 '-evalf', ':slog-double-check x/:POW(NATURAL) & x<:2..3',
10369 '-evalt', ':slog-double-check x/:POW1(NATURAL) & x<:2..3',
10370 '-evalf', ':slog-double-check x/:POW1(NATURAL) & x<:2..3 & x/={}',
10371 '-evalt', ':slog-double-check f:1..2 +-> 1..2 & not(f \\/ {1 |-> 1} : INTEGER +->INTEGER)',
10372 '-evalf', ':slog-double-check f:1..2 +-> 1..2 & not(f \\/ {1 |-> f(1)} : INTEGER +->INTEGER)',
10373 '-evalt', ':slog-double-check f:1..2 +-> 1..2 & not(f <+ {3 |-> 1} : 1..2 +->INTEGER)',
10374 '-evalf', ':slog-double-check f:1..2 +-> 1..2 & not(f <+ {1 |-> 1} : 1..2 +->INTEGER)',
10375 '-evalt', ':slog-double-check f:1..2 +-> 1..2 & not(f \\/ {1 |-> 3} : 1..2 +->INTEGER)',
10376 '-evalt', ':slog-double-check f:1..2 +-> 1..2 & not(f \\/ {1 |-> 1} : 1..2 +->1..2)',
10377 '-evalt', ':slog-double-check f:BOOL --> POW(1..2) & not(f <+ {TRUE|->1..3} : BOOL +-> POW(1..2))',
10378 '-evalf', ':slog-double-check f:BOOL --> POW(1..2) & not(f <+ {TRUE|->1..2} : BOOL +-> POW(1..2))',
10379 '-evalt', ':slog-double-check x = POW(1 .. 2)',
10380 '-evalt', ':slog-double-check f: BOOL --> (BOOL +-> BOOL) & f(TRUE):BOOL-->BOOL',
10381 '-evalt', ':slog-double-check f: BOOL --> (BOOL +-> BOOL) & f(FALSE)={}',
10382 '-evalt', ':slog-double-check f: BOOL --> POW(BOOL) & f(TRUE)={TRUE} & f(FALSE)={}',
10383 '-evalt', ':slog-double-check f: BOOL --> POW(BOOL) & f(TRUE):POW1(BOOL) & f(FALSE)={}'
10384 % does not work :slog-double-check f: BOOL --> (BOOL +-> BOOL) & f(FALSE)={} & f(TRUE):BOOL-->BOOL
10385 % times out: :slog f:BOOL +-> BOOL & not(f <+ {TRUE |-> TRUE} : BOOL +->BOOL)
10386 % :slog (1 .. 2) * (1 .. 2) = x -> % relational operators cannot be freely combined with intervals due to decidability issues in setlog
10387 ], 'Simple tests for setlog solver.').
10388 cli_testcase(2379, [eventb_test, theories, reals], ['../prob_examples/examples/EventBPrologPackages/Toulouse/Dupont/RealsTest_mch.eventb',
10389 '--model-check', '-cc', '7', '6', '-nodead',
10390 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10391 '-evalt', 'plus(Rone,Rone) |-> Rone : gt', '-evalt', 'plus(Rone,Rzero) = Rone',
10392 '-evalt', 'times(Rone,Rzero) = Rzero',
10393 '-evalt', 'plus(Rone,Rzero) : RReal'
10394 ], 'Checking real theory with currying of binary operators').
10395 cli_testcase(2380, [eventb_test, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/SeqTest1.eventb', '-mc', 2000, '-nodead', '-strict',
10396 '-p', 'TRY_FIND_ABORT', 'TRUE'], 'Test 1156 for Seq theory with TRY_FIND_ABORT').
10397 cli_testcase(2381, [b_test,json_trace_replay,visb], [
10398 '../prob_examples/examples/EventBPrologPackages/Toulouse/Mendil/T_TemperatureMachine_mch.eventb',
10399 '-expcterr', virtual_time_out,
10400 '-evalt', 'unit(xx)=Kelvin & value(xx)=-100',
10401 '-evalf', 'unit(xx)=Kelvin & unit(xx)=Celsius',
10402 '-trace_replay', 'json', '../prob_examples/examples/EventBPrologPackages/Toulouse/Mendil/T_TemperatureMachine_presentation.prob2trace',
10403 '-visb', '../prob_examples/examples/EventBPrologPackages/Toulouse/Mendil/Temp_VisB.json',
10404 '../prob_examples/examples/EventBPrologPackages/Toulouse/Mendil/Temp_VisB.html'], 'Check JSON replay and VisB HTML generation with theory operators').
10405 cli_testcase(2382, [eventb_test, theories, reals], [
10406 '../prob_examples/examples/EventBPrologPackages/Toulouse/Dupont/SimpleRealsPlusTest_ctx.eventb',
10407 '-evalt', 'plus(Rone,Rzero) : RReal',
10408 '-evalt', 'plus(Rone,Rzero) : RRealPlus',
10409 '-assertions'],
10410 'Check that reals are allowed for type checking in Event-B theories that use reals').
10411 cli_testcase(2383, [b_test,wd], [
10412 '../prob_examples/examples/EventBPrologPackages/Toulouse/Mendil/T_TemperatureMachinePrefix_mch.eventb',
10413 '-p', 'TRY_FIND_ABORT', 'TRUE', '-expcterr', model_check_incomplete,
10414 '-expcterr', virtual_time_out, '-mc', 100], 'Check no spurious WD errors').
10415 cli_testcase(2384, [b_test,wd], [
10416 '-evalf', 'bla = %x.(x:NATURAL|x+1) & bla /: POW(NATURAL*NATURAL)', % was wrong
10417 '-evalt', 'bla = %x.(x:NATURAL|x+1) & bla : POW(NATURAL*NATURAL)',
10418 '-evalt', 'bla = %x.(x:NATURAL|x-1) & bla /: POW(NATURAL*NATURAL)',
10419 '-evalf', 'bla = %x.(x:NATURAL|x-1) & bla : POW(NATURAL*NATURAL)'
10420 ], 'Check issue in symbolic subset check solved'). % bug was in get_subset_counter_example_closure
10421 cli_testcase(2385, [b_test], [
10422 './distribution_examples/Simple/ACounter.mch',
10423 './distribution_examples/Simple/Bakery0.mch',
10424 './distribution_examples/Simple/Bakery1.mch',
10425 './distribution_examples/Simple/GCD.mch',
10426 './distribution_examples/Simple/KnightsKnaves.mch',
10427 % './distribution_examples/Simple/Lift.mch', % invariant violation
10428
10429 './distribution_examples/LessSimple/CSM.mch',
10430 './distribution_examples/LessSimple/Schleusen.mch',
10431 './distribution_examples/LessSimple/SATLIB_blocksworld_medium.mch',
10432 './distribution_examples/LessSimple/SATLIB_uf20-903.mch',
10433 './distribution_examples/LessSimple/Sieve.mch',
10434 './distribution_examples/LessSimple/Sorting.mch',
10435 './distribution_examples/LessSimple/SortingUnicode.mch',
10436 % './distribution_examples/LessSimple/TravelAgency.mch', % invariant violation
10437 './distribution_examples/LessSimple/phonebook.mch',
10438 %'./distribution_examples/LessSimple/phonebook6.mch', % invariant violation
10439 './distribution_examples/LessSimple/scheduler.mch',
10440 './distribution_examples/LessSimple/tictac.mch',
10441 './distribution_examples/LessSimple/GraphColouring/GraphColouringNAT.mch',
10442
10443 './distribution_examples/Records/Schleusen_Records.mch',
10444 './distribution_examples/Refinement/Server.mch',
10445 './distribution_examples/Refinement/ServerR.ref',
10446 './distribution_examples/Tutorial/StackConstructive.mch',
10447
10448 './distribution_examples/Puzzles/Farmer.mch',
10449 './distribution_examples/Puzzles/GardnerSwitchingPuzzle_v2.mch',
10450 './distribution_examples/Puzzles/GolombRuler2.mch',
10451 './distribution_examples/Puzzles/Hanoi.mch',
10452 './distribution_examples/Puzzles/KissPassion.mch',
10453 './distribution_examples/Puzzles/NoNeighboursProblem.mch',
10454 './distribution_examples/Puzzles/PexSolve.mch',
10455 './distribution_examples/Puzzles/RussianPostalPuzzle.mch',
10456 './distribution_examples/Puzzles/SendMoreMoney.mch',
10457 './distribution_examples/Puzzles/SubsetSum2.mch',
10458 './distribution_examples/Puzzles/SudokuSETS9.mch',
10459 './distribution_examples/Puzzles/TrainTorchPuzzle.mch',
10460 './distribution_examples/Puzzles/WhoKilledAgatha.mch',
10461
10462 './distribution_examples/GraphicalAnimation/BlocksWorldGeneric.mch',
10463 './distribution_examples/GraphicalAnimation/CopySavePasteTools.mch',
10464 './distribution_examples/GraphicalAnimation/Hanoi.mch',
10465 './distribution_examples/GraphicalAnimation/Jars.mch',
10466 './distribution_examples/GraphicalAnimation/LatinSquares.mch',
10467 './distribution_examples/GraphicalAnimation/Lift0.mch',
10468 './distribution_examples/GraphicalAnimation/Lift2.mch',
10469 './distribution_examples/GraphicalAnimation/Lift3.mch',
10470 './distribution_examples/GraphicalAnimation/Mandelbrot.mch',
10471 './distribution_examples/GraphicalAnimation/NQueens.mch',
10472 './distribution_examples/GraphicalAnimation/NQueens.mch',
10473 './distribution_examples/GraphicalAnimation/NQueensBig.mch',
10474 './distribution_examples/GraphicalAnimation/Puzzle8.mch',
10475 './distribution_examples/GraphicalAnimation/RushHour.mch',
10476 './distribution_examples/GraphicalAnimation/SamuraiSudoku_Hard.mch',
10477 './distribution_examples/GraphicalAnimation/SendMoreMoney.mch',
10478 './distribution_examples/GraphicalAnimation/SudokuAsConstant.mch',
10479 './distribution_examples/GraphicalAnimation/TwoQueensSevenKnights.mch',
10480 './distribution_examples/GraphicalAnimation/gol.mch',
10481 './distribution_examples/GraphicalAnimation/gol_v2.mch',
10482 './distribution_examples/GraphicalAnimation/scheduler.mch',
10483 '-init', '-mc', 15, '-opterr', model_check_incomplete, '-nogoal', '-nodead' ], 'Check distribution examples can be loaded').
10484 cli_testcase(2386, [b_test,cbc], [
10485 '-evalf', 'x1 : (0 .. 4294967295) & x2 : (0 .. 255) & res = x1 / 2 ** x2 & res <0',
10486 '-evalf', 'x1 : (0 .. 4294967295) & x2 : (0 .. 255) & res = x1 / 2 ** x2 & res > 4294967295',
10487 '-evalf', 'x1 : (0 .. 4294967295) & x2 : (0 .. 255) & res = x1 / 2 ** x2 & res /: (0 .. 4294967295)',
10488 '-evalt', 'x1 : (0 .. 4294967295) & x2 : (0 .. 255) & res = x1 / 2 ** x2 & res /: (1 .. 4294967295)'
10489 ], 'Check no CLPFD overflow').
10490 cli_testcase(2387,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10491 '-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 2000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
10492 '../private_examples/ClearSy/2023/perf_1124/rule.mch',
10493 '-execute_all', '-execute_expect_steps', 5, %'-silent',
10494 '-animate_stats',
10495 '-evalt', 'card(caval__rule__1__ALL)=303',
10496 '-evalt', 'card(caval__rule__2__ALL)=303',
10497 '-evalt', 'card(caval__rule__3__ALL)=71',
10498 '-evalt', 'caval__rule__3__done=TRUE'
10499 ], 'Fix issue in STRING_JOIN sorting too early').
10500 cli_testcase(2388,[private,external,strings],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10501 '-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 2000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
10502 '../prob_examples/examples/B/ClearSy/Caval/2023/perf_1124/rule_bugly.mch',
10503 '-execute_all', '-execute_expect_steps', 5, %'-silent',
10504 '-evalt', 'card(aaxc)=303',
10505 '-evalt', 'card(aazc)=303',
10506 '-evalt', 'card(aabd)=71',
10507 '-evalt', 'aayc=TRUE'
10508 ], 'Fix issue in STRING_JOIN sorting too early'). % bugly version of test 2387
10509 cli_testcase(2389, [b_test,infinite], [
10510 '-evalt', 'NEG /\\ NATURAL = {} & NEG \\/ NATURAL = INTEGER ',
10511 '-evalt', 'NEG /\\ NATURAL = {} & NEG \\/ NATURAL = INTEGER & -1:NEG & -1000:NEG & 0 /: NEG & 1/:NEG',
10512 '-evalt', 'NEG /\\ NATURAL1 = {} & NEG \\/ NATURAL1 = INTEGER & -1:NEG & -1000:NEG & 0 : NEG & 1/:NEG',
10513 '-evalt', 'NEG = {x|x < 0} & NEG /\\ NATURAL = {}',
10514 '-evalt', 'NEG = {x|x < 1} & NEG /\\ NATURAL1 = {}',
10515 '-evalf', 'NEG = {x|x < 1} & NEG /\\ NATURAL = {}',
10516 '-evalt', 'NEG = {x|x < 1} & NEG \\/ NATURAL1 = INTEGER',
10517 '-evalt', 'NEG = {x|x < 1} & NEG \\/ NATURAL = INTEGER',
10518 '-evalt', 'NEG = {x|x /: NATURAL} & NEG \\/ NATURAL =INTEGER',
10519 '-evalt', 'NEG = {x|x /: NATURAL} & NEG \\/ NATURAL1 = res & res /= INTEGER & 0/:res & 1000:res',
10520 '-evalt', 'NEG = {x|x /: NATURAL} & NEG /\\ NATURAL = {}',
10521 '-evalt', 'NEG = {x|x /: NATURAL} & NEG /\\ NATURAL1 = {}',
10522 '-evalt', 'NEG = {x|x /: NATURAL1} & NEG /\\ NATURAL1 = {}',
10523 '-evalf', 'NEG = {x|x /: NATURAL1} & NEG /\\ NATURAL = {}',
10524 '-evalt', 'NEG = {x|x /: NATURAL1} & NATURAL1 /\\ NEG = {}'
10525 ], 'Check infinite partition works').
10526 cli_testcase(2390, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10527 './distribution_examples/Simple/Lift.mch', % invariant violation
10528 './distribution_examples/LessSimple/TravelAgency.mch', % invariant violation
10529 './distribution_examples/LessSimple/phonebook6.mch', % invariant violation
10530 '-init', '-mc', 1500, '-bf',
10531 '-expcterr', invariant_violation, '-nogoal', '-nodead' ], 'Check distribution examples can be loaded').
10532 cli_testcase(2391, [external,json_trace_replay], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10533 '../prob_examples/public_examples/B/ExternalFunctions/JSON/ReadProB2JSON.mch',
10534 '-trace_replay', 'json', '../prob_examples/public_examples/B/ExternalFunctions/JSON/ReadProB2JSON.prob2trace'
10535 ], 'Check READ_JSON_AS_XML').
10536 cli_testcase(2392, [cbc,forall], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10537 '-evalt_file', '../prob_examples/public_examples/B/B2SAT/pigeon/pigeon_bv_simple2_expanded2.eval',
10538 '-evalt_file', '../prob_examples/public_examples/B/B2SAT/pigeon/pigeon_bv_simple2_expanded3.eval',
10539 '-evalt_file', '../prob_examples/public_examples/B/B2SAT/pigeon/pigeon_bv_simple2_expanded5.eval',
10540 % two files below led to a time-out after is_just_type detects {FALSE,TRUE} as BOOL;
10541 % improved forall_splitting in ast_cleanup fixed this again (7.11.2025)
10542 '-evalt_file', '../prob_examples/public_examples/B/B2SAT/pigeon/pigeon_bv_simple2_expanded3_v2.eval',
10543 '-evalt_file', '../prob_examples/public_examples/B/B2SAT/pigeon/pigeon_bv_simple2_expanded5_v2.eval'
10544 ], 'Check many quantifiers and disjunctions and merging of FD info from disjuncts').
10545 cli_testcase(2393, [satsolver_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10546 '../prob_examples/public_examples/B/B2SAT/pigeon/Pigeon_30_bv.mch', '-init',
10547 '-properties'
10548 ], 'Test b2sat performance and quantifier expansion'). %SET_PREF_SOLVER_FOR_PROPERTIES
10549 cli_testcase(2394, [smt_solver_integration], [
10550 '-evalf', ':z3-sat A=TRUE & A=FALSE',
10551 '-evalf', ':z3-sat A=TRUE & (A=FALSE or B=TRUE) & B=FALSE',
10552 '-evalt', ':z3-sat A=TRUE & B=TRUE',
10553 '-evalt', ':z3-sat A=TRUE & B=TRUE & (A=FALSE or B=FALSE or C=TRUE)',
10554 '-evalf', ':z3-sat A=TRUE & B=TRUE & (A=FALSE or B=FALSE or C=TRUE) & C=FALSE',
10555 '-evalt', ':z3-sat (A=TRUE => B=FALSE) & A=FALSE & B=TRUE',
10556 '-evalf', ':z3-sat (A=TRUE => B=FALSE) & A=TRUE & B=TRUE',
10557 '-evalf', ':z3-sat (A=TRUE <=> B=FALSE) & A=TRUE & B=TRUE',
10558 '-evalt', ':z3-sat (A=TRUE <=> B=FALSE) & A=TRUE & B=FALSE',
10559 '-evalt', ':z3-sat not(A=TRUE)',
10560 '-evalf', ':z3-sat not(A=TRUE) & A=TRUE'
10561 ], 'Some simple tests for Z3 SAT solver').
10562 % z3-sat uses normal B to Z3-SMTlib translation, but different settings of Z3
10563 % sat-z3 uses b2sat translation and then Z3 as ordinary sat solver
10564 cli_testcase(2395, [satsolver_test,smt_solver_integration], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10565 '-evalt', ':sat-z3-double-check x=TRUE or x=FALSE',
10566 '-evalf', ':sat-z3-double-check x=TRUE & x=FALSE',
10567 '-evalt', ':sat-z3-double-check x=TRUE & (x=TRUE => y=TRUE) & (y=TRUE => x=TRUE)',
10568 '-evalf', ':sat-z3-double-check x=TRUE & (x=TRUE => y=TRUE) & (y=TRUE => x=FALSE)',
10569 '-evalt', ':sat-z3-double-check x=TRUE & (x=TRUE <=> y=TRUE) & (y=TRUE <=> z=TRUE)',
10570 '-evalt', ':sat-z3-double-check n=12 & f:1..n-->BOOL & !i.(i:2..n => (f(i)=TRUE =>f(i-1)=FALSE)) & f(1)=TRUE',
10571 '-evalt', ':sat-z3-double-check n=12 & f:1..n-->BOOL & !i.(i:2..n => (f(i)=TRUE =>f(i-1)=FALSE)) & f(1)=TRUE & f(12)=TRUE',
10572 '-evalf', ':sat-z3-double-check n=12 & f:1..n-->BOOL & !i.(i:2..n => (f(i)=TRUE <=>f(i-1)=FALSE)) & f(1)=TRUE & f(12)=TRUE',
10573 '-evalt', ':sat-z3-double-check n=12 & f:1..n-->BOOL & card({i|i:1..n & f(i)=TRUE})=1',
10574 '-evalf', ':sat-z3-double-check n=12 & f:1..n-->BOOL & card({i|i:1..n & f(i)=TRUE})=1 & card({i|i:1..n & f(i)=FALSE})=1',
10575 '-evalt', ':sat-z3-double-check n=6 & f:1..n-->BOOL & card({i|i:1..n & f(i)=TRUE})>2 & card({i|i:1..n & f(i)=FALSE})>2',
10576 '-evalf', ':sat-z3-double-check n=6 & f:1..n-->BOOL & card({i|i:1..n & f(i)=TRUE})>3 & card({i|i:1..n & f(i)=FALSE})>2',
10577 '-evalt', ':sat-z3-double-check n=6 & f:1..n-->BOOL & card({i|i:1..n & f(i)=TRUE})<4 & card({i|i:1..n & f(i)=FALSE})<4',
10578 '-evalf', ':sat-z3-double-check n=6 & f:1..n-->BOOL & card({i|i:1..n & f(i)=TRUE})<3 & card({i|i:1..n & f(i)=FALSE})<4',
10579 '-evalt', ':sat-z3-double-check f:1..3-->BOOL & card({y|y:1..3 & f(y)=TRUE}) <=2 &f(1)=TRUE & f(3)=TRUE',
10580 '-evalf', ':sat-z3-double-check f:1..3-->BOOL & card({y|y:1..3 & f(y)=TRUE}) <=2 &f(1)=TRUE & f(3)=TRUE & f(2)=TRUE',
10581 '-evalf', ':sat-z3-double-check f:1..100-->BOOL & card({y|y:1..100 & f(y)=TRUE}) <=6 &f(1)=TRUE & f(3)=TRUE & !i.(i:1..10 => (f(i)=FALSE => f(i*10)=TRUE))',
10582 '-evalt', ':sat-z3-double-check f:1..100-->BOOL & card({y|y:1..100 & f(y)=TRUE}) <=10 &f(1)=TRUE & f(3)=TRUE & !i.(i:1..10 => (f(i)=FALSE => f(i*10)=TRUE))',
10583 '-evalf', ':sat f:1..100-->BOOL & card({y|y:1..100 & f(y)=TRUE}) >=20 & card({y|y:1..100 & f(y)=TRUE}) <=19', % ProB times out here
10584 %'-evalt', ':sat-z3-double-check f:1..100-->BOOL & card({y|y:1..100 & f(y)=TRUE}) >=20 & card({y|y:1..100 & f(y)=TRUE}) <=20', % TODO: THIS crashes with SIGBUS on macOS with Z3 version 5.3.1
10585 '-evalt', ':sat-z3-double-check n=3 & f:1..n-->BOOL & f(1)=TRUE & card({i|i:1..n & (f(i)=TRUE or i=2)})=2',
10586 '-evalf', ':sat-z3-double-check n=3 & f:1..n-->BOOL & f(1)=TRUE & card({i|i:1..n & (f(i)=TRUE or i=2)})=1',
10587 '-evalt', ':sat-z3-double-check f:1..n --> BOOL & n=50 & f(1)=TRUE & !i.(i:2..n => f(i) /= f(i-1))',
10588 '-evalf', ':sat-z3-double-check f:1..n --> BOOL & n=3 & f(1)=TRUE & !i.(i:2..n => f(i) /= f(i-1)) & card({i|i:1..3 & (f(i)=TRUE or i=1)})=3',
10589 '-evalf', ':sat-z3-double-check f:1..n --> BOOL & n=3 & f(1)=TRUE & !i.(i:2..n => f(i) /= f(i-1)) & card({i|i:1..3 & (f(i)=TRUE or i=1)})=1',
10590 '-evalt', ':sat-z3-double-check f:1..n --> BOOL & n=3 & f(1)=TRUE & !i.(i:2..n => f(i) /= f(i-1)) & card({i|i:1..3 & (f(i)=TRUE or i=1)})=2',
10591 '-evalf', ':sat-z3-double-check f:1..n --> BOOL & n=3 & f(1)=TRUE & !i.(i:2..n => f(i) /= f(i-1)) & card({i|i:1..3 & (f(i)=TRUE or i=2)})=2',
10592 '-evalt', ':sat-z3-double-check f:1..n --> BOOL & n=3 & f(1)=TRUE & !i.(i:2..n => f(i) /= f(i-1)) & card({i|i:1..3 & (f(i)=TRUE or i=2)})=3'
10593 ], 'Test new satsolver backend (test 2355) but with Z3 as sat solver.').
10594 cli_testcase(2396, [cbc,external,strings], [
10595 '-evalt', '{x,y|conc([x,"_",y])="a_b"} = {("a"|->"b")}',
10596 '-evalt', '{x|conc(x) = "a_b" & size(x)=3 & x(2)="_"} = {["a","_","b"]}',
10597 '-evalt', '{x|conc(x) = "a_b" & size(x)=3 & x(2)=""} = {["","","a_b"],["a","","_b"],["a_","","b"],["a_b","",""]}',
10598 '-evalf', 'x:seq(STRING) & conc(x)="a_b" & x(2)="x" & size(x)<3' % <4 does not work yet
10599 %'-evalf', 'conc(x)="a_b" & x(2)="x" & size(x)<3' % this is not well-defined, without tight enumeration we find errors
10600 ], 'Test predicates with conc for strings').
10601 cli_testcase(2397, [tickets,json_trace_replay], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10602 '../prob_examples/public_examples/B/Tickets/LetPredicateReify/tictac_MCTS.mch',
10603 '-trace_replay', 'json', '../prob_examples/public_examples/B/Tickets/LetPredicateReify/tictac_MCTS.prob2trace',
10604 '-evalt', 'WIN(0) or WIN(1)',
10605 '-evalt', 'not(WIN(1) => WIN(0))'
10606 ], 'Check let_predicate predicate reuse issue solved').
10607 cli_testcase(2398, [tickets], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10608 '-evalt', '{x,v,y|x:1..2 & x:y & y<:1..4 & v=x+1 & LET x BE x=v+v IN x:y END} = {(1|->2|->{1,4}),(1|->2|->{1,2,4}),(1|->2|->{1,2,3,4}),(1|->2|->{1,3,4})}',
10609 '-evalt', 'x:1..2 & y:3..4 & (x:z or LET x BE x=y+y IN x:z & x+1:z END) & z<:6..8'
10610 ], 'Check let_predicate predicate reuse issue solved').
10611 cli_testcase(2399, [eventb_test,theories], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10612 '../prob_examples/examples/EventBPrologPackages/Floats/AitSadoune_MEDI2023/TestPowOperator_ctx.eventb',
10613 '../prob_examples/examples/EventBPrologPackages/Floats/AitSadoune_MEDI2023/TestFloatTheory2_ctx.eventb',
10614 '../prob_examples/examples/EventBPrologPackages/Floats/AitSadoune_MEDI2023/TestFloatTheory3_ctx.eventb',
10615 '-init', '-assertions'],'Check float theory with axiomatic operators via set comprehensions').
10616 cli_testcase(2400, [eventb_test,theories,json_trace_replay], [
10617 '../prob_examples/examples/EventBPrologPackages/Floats/AitSadoune_MEDI2023/mch_floating_point_speed2_v2.eventb',
10618 '-trace_replay', 'json', '../prob_examples/examples/EventBPrologPackages/Floats/AitSadoune_MEDI2023/mch_floating_point_speed2_v2.prob2trace',
10619 '-expcterr', 'virtual_time_out'],'Check overriding direct def predicate operators via set comprehensions').
10620 cli_testcase(2401, [laws], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10621 '-evalt', '{n|n>0 & 2**n <= 7} = 1..2',
10622 '-evalt', '{n|n>0 & 2**n <= 8} = 1..3',
10623 '-evalt', '{n|n>0 & 2**n <= 1024} = 1..10',
10624 '-evalt', '{n|n>0 & 2**n <= 1023} = 1..9',
10625 '-evalt', '{n|n>0 & 2**n <= 2000} = 1..10',
10626 '-evalt', '{n|n>0 & 2**n <= 2**33+1} = 1..33',
10627 '-evalt', '{n|n>0 & 3**n <= 3**10} = 1..10',
10628 '-evalt', '!b.(b:2..10 => {n|n>0 & b**n <= b**10} = 1..10)',
10629 '-evalt', '!b.(b:2..10 => {n|n>0 & b**n <= b**11-1} = 1..10)'
10630 ], 'Check power propagation').
10631 cli_testcase(2402, [eventb_test,dot], ['../prob_examples/public_examples/EventBPrologPackages/MultiLevel/TestMC_m1_mch.eventb', '-mc', '1000', '-strict', '-p', 'NUMBER_OF_ANIMATED_ABSTRACTIONS', '20', '-nodead', '-expcterr', 'event_error:evt1:simulation_error',
10632 '-dot', 'last_error', '../prob_examples/public_examples/EventBPrologPackages/MultiLevel/TestMC_m1_sim_error.dot'], 'Test dot visualisation of simulation error from test 148').
10633 cli_testcase(2403, [eventb_test,theories], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10634 '../prob_examples/public_examples/EventBPrologPackages/Theory/Inductive/BaumTest_ctx.eventb',
10635 '../prob_examples/public_examples/EventBPrologPackages/Theory/Inductive/BaumTest2_ctx.eventb',
10636 '../prob_examples/public_examples/EventBPrologPackages/Theory/Inductive/TestInductiveRecOp_ctx.eventb',
10637 '-init', '-assertions'],'Check inductive datatypes').
10638 cli_testcase(2404, [tickets], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'DATA_VALIDATION', 'TRUE',
10639 '-evalf', 'S=[11,22,33] & ((x=1 & #y.(3|->y:S)) or (x=2 & not(#y.(3|->y:S)))) <=> P=TRUE & x>1 & x<10 & P=TRUE',
10640 '-evalf', 'S=[11,22,33] & ((x=1 & v:ran(S)) or (x=2 & not(v:ran(S)))) <=> P=TRUE & x>1 & x<10 & P=TRUE & v:{22,33}'
10641 ],'Check interference between predicate reuse of exists in reification and non-required predicates').
10642 cli_testcase(2405,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10643 '-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 2000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
10644 '../private_examples/ClearSy/2024/perf_0126/rule_RVF192_MSVI_FOLIO.mch',
10645 '-execute_all', '-execute_expect_steps', 3, %'-silent',
10646 '-animate_stats',
10647 '-evalt', 'card(caval__rule__1__ALL)=0',
10648 '-evalt', 'caval__rule__1__done=TRUE'
10649 ], 'Check interference between predicate reuse of exists in reification and non-required predicates').
10650 cli_testcase(2406,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10651 '-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 2000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
10652 '../private_examples/ClearSy/2023/Machines_perf_0323/CCSL/rule_TYPES_AUTORISES_RVF3_GEN__MRGA.mch',
10653 '-execute_all', '-execute_expect_steps', 3, %'-silent',
10654 '-animate_stats',
10655 '-evalt', 'card(caval__rule__1__ALL)=84458',
10656 '-evalt', 'caval__rule__1__done=TRUE'
10657 ], 'Performance check for non-det reification of exists').
10658 cli_testcase(2407, [eventb_test,theories,json_trace_replay], [
10659 '../prob_examples/examples/EventBPrologPackages/ABZ2023/Mammar_v15/M3_sep5_mch.eventb',
10660 '-trace_replay', 'json', '../prob_examples/examples/EventBPrologPackages/ABZ2023/Mammar_v15/M3_sep5_mch.prob2trace',
10661 '-expcterr', 'setup_constants_unknown',
10662 '-expcterr', 'virtual_time_out'],'Check prob-ignore label recognised with 8722 hyphen').
10663 cli_testcase(2408, [eventb_test], ['../prob_examples/examples/EventBPrologPackages/ABZ2023/Mammar_v16/C2_ctx.eventb', '-mc', '10', '-strict',
10664 '-nodead', '-expcterr', 'model_check_incomplete'], 'Test cardinality inference for deferred set works').
10665 cli_testcase(2409, [eventb_test,theories,json_trace_replay,visb], [
10666 '../prob_examples/examples/EventBPrologPackages/ABZ2023/Mammar_v19/M8_mch.eventb',
10667 '-trace_replay', 'json', '../prob_examples/examples/EventBPrologPackages/ABZ2023/Mammar_v19/M8_mch.prob2trace',
10668 '-visb', '../prob_examples/examples/EventBPrologPackages/ABZ2023/Mammar_v19/visualization/AMAN_M8_vis.json',
10669 '../prob_examples/examples/EventBPrologPackages/ABZ2023/Mammar_v19/m8_VisB.html'
10670 ],'Check that new description_event terms recognised').
10671 cli_testcase(2410, [kodkod], [ '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
10672 '-evalt', ':kodkod-double-check sss - {TRUE} = {} & sss = {TRUE} '
10673 ,'-evalt', ':kodkod-double-check sss - {TRUE} = {FALSE} & sss /= {FALSE}'
10674 ,'-evalf', ':kodkod-double-check sss - {TRUE} = {FALSE} & FALSE /: sss'
10675 ,'-evalt', ':kodkod-double-check sss - {1,4,5} = {} & sss = {1,4,5}'
10676 ], 'check constraint propagation bug for set_subtraction fixed').
10677 cli_testcase(2411, [b_test, imp, refinement,while], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10678 '../prob_examples/examples/B/B2Sol/SAC_2024_CaseStudy/B_weth_i.imp', '-mc', 100,
10679 '-expcterr', 'model_check_incomplete'
10680 ], 'Check visibility and $0 access in invariant of while loops').
10681 cli_testcase(2412, [b_test, operation_reuse,while], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10682 '-p', 'OPERATION_REUSE', 'TRUE', '-p', 'COMPRESSION', 'TRUE',
10683 '../prob_examples/public_examples/B/PerformanceTests/codegenerator/SetCardBig.mch', '-mc', 100,
10684 '-cc', 3,3
10685 ], 'Check correct read info for while loop').
10686 cli_testcase(2413,[private,systerel],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10687 '../prob_examples/examples/B/Systerel/Ticket_C578.EML.010/bug65anofirst_wo_adc_pragma.mch',
10688 '-p', 'DOUBLE_EVALUATION', 'FALSE', '-aa', 4, 0, 0, '-init', '-p', 'CLPFD', 'FALSE', % much slower with CLPFD
10689 %'-p', 'SYMBOLIC', 'TRUE', % this takes very long
10690 '-p', 'TIME_OUT', 10000
10691 ], 'Check ticket Ticket_C578.EML.010 from 2013'). % used to be big difference from source, much slower than with probcli
10692 cli_testcase(2414, [smt_solver_integration], [
10693 '../prob_examples/public_examples/EventBPrologPackages/Abrial_Train_Ch17/Train_1_beebook_tlc.mch', '-init',
10694 '-p', 'TIME_OUT', '30000',
10695 '-evalf', ':z3 #(TRK,frm,resrt,rsrtbl).(not(rsrtbl : resbl --> resrt & r = R8 & r : resrt - frm & TRK1 = ((dom(nxt(r)) <<| TRK) |>> ran(nxt(r))) \\/ nxt(r) & frm1 = frm & nxt1 = nxt & resrt1 = resrt & rsrtbl1 = rsrtbl & (r1 = R9 & r1 : resrt - ran(rsrtbl) & (resrt2 = resrt - {r1} & frm2 = frm - {r1}) & TRK2 = TRK & nxt2 = nxt & rsrtbl2 = rsrtbl) & (r2 = R9 & r2 : resrt1 - ran(rsrtbl1) & (resrt3 = resrt1 - {r2} & frm3 = frm1 - {r2}) & TRK3 = TRK1 & nxt3 = nxt1 & rsrtbl3 = rsrtbl1) & (r3 = R8 & r3 : resrt2 - frm2 & TRK4 = ((dom(nxt2(r3)) <<| TRK2) |>> ran(nxt2(r3))) \\/ nxt2(r3) & frm4 = frm2 & nxt4 = nxt2 & resrt4 = resrt2 & rsrtbl4 = rsrtbl2) => TRK3 = TRK4 & frm3 = frm4 & nxt3 = nxt4 & resrt3 = resrt4 & rsrtbl3 = rsrtbl4))',
10696 '-evalf', ':z3 #(LBT,TRK,frm,OCC,resbl,resrt,rsrtbl).(not(rsrtbl : resbl --> resrt & rsrtbl <: rtbl & OCC <: resbl & !r.(r : ROUTES => nxt(r)[(rtbl~)[{r}] - (rsrtbl~)[{r}]] /\\ (rsrtbl~)[{r}] - OCC = {}) & !r.(r : ROUTES => nxt(r)[(rsrtbl~)[{r}]] <: (rsrtbl~)[{r}]) & !r.(r : ROUTES => nxt(r)[(rsrtbl~)[{r}] - OCC] <: (rsrtbl~)[{r}] - OCC) & TRK : BLOCKS >+> BLOCKS & frm <: resrt & rsrtbl[OCC] <: frm & !r.(r : resrt - frm => rtbl |> {r} = rsrtbl |> {r}) & !(x,y).(x |-> y : TRK => #r.(x |-> y : nxt(r))) & !r.(r : frm => (rsrtbl~)[{r}] <| nxt(r) = (rsrtbl~)[{r}] <| TRK) & LBT <: OCC & !(a,b).(b : LBT & (b : ran(nxt(rsrtbl(b))) & (a = (nxt(rsrtbl(b))~)(b) & a : dom(rsrtbl))) => rsrtbl(a) /= rsrtbl(b)) & rsrtbl : resbl --> resrt & rsrtbl <: rtbl & OCC <: resbl & !r.(r : ROUTES => nxt(r)[(rtbl~)[{r}] - (rsrtbl~)[{r}]] /\\ (rsrtbl~)[{r}] - OCC = {}) & !r.(r : ROUTES => nxt(r)[(rsrtbl~)[{r}]] <: (rsrtbl~)[{r}]) & !r.(r : ROUTES => nxt(r)[(rsrtbl~)[{r}] - OCC] <: (rsrtbl~)[{r}] - OCC) & (R2 : resrt - frm & (rsrtbl~)[{R2}] <| {(A|->B),(B|->D),(D|->E),(E|->F),(F|->G),(L|->A)} = (rsrtbl~)[{R2}] <| TRK & R7 : resrt - ran(rsrtbl)) & (R7 : resrt - ran(rsrtbl) & (resrt1 = resrt - {R7} & frm1 = frm - {R7}) & LBT1 = LBT & TRK1 = TRK & OCC1 = OCC & resbl1 = resbl & rsrtbl1 = rsrtbl & fst1 = fst & lst1 = lst & nxt1 = nxt & rtbl1 = rtbl) & rsrtbl1 = resrtbl => R2 : resrt1 - frm1 & (rsrtbl1~)[{R2}] <| {(A|->B),(B|->D),(D|->E),(E|->F),(F|->G),(L|->A)} = (rsrtbl1~)[{R2}] <| TRK))',
10697 '-evalf', 'not(rsrtbl : resbl --> resrt & rsrtbl <: rtbl & OCC <: resbl & !r.(r : ROUTES => nxt(r)[(rtbl~)[{r}] - (rsrtbl~)[{r}]] /\\ (rsrtbl~)[{r}] - OCC = {}) & !r.(r : ROUTES => nxt(r)[(rsrtbl~)[{r}]] <: (rsrtbl~)[{r}]) & !r.(r : ROUTES => nxt(r)[(rsrtbl~)[{r}] - OCC] <: (rsrtbl~)[{r}] - OCC) & TRK : BLOCKS >+> BLOCKS & frm <: resrt & rsrtbl[OCC] <: frm & !r.(r : resrt - frm => rtbl |> {r} = rsrtbl |> {r}) & !(x,y).(x |-> y : TRK => #r.(x |-> y : nxt(r))) & !r.(r : frm => (rsrtbl~)[{r}] <| nxt(r) = (rsrtbl~)[{r}] <| TRK) & LBT <: OCC & !(a,b).(b : LBT & (b : ran(nxt(rsrtbl(b))) & (a = (nxt(rsrtbl(b))~)(b) & a : dom(rsrtbl))) => rsrtbl(a) /= rsrtbl(b)) & rsrtbl : resbl --> resrt & rsrtbl <: rtbl & OCC <: resbl & !r.(r : ROUTES => nxt(r)[(rtbl~)[{r}] - (rsrtbl~)[{r}]] /\\ (rsrtbl~)[{r}] - OCC = {}) & !r.(r : ROUTES => nxt(r)[(rsrtbl~)[{r}]] <: (rsrtbl~)[{r}]) & !r.(r : ROUTES => nxt(r)[(rsrtbl~)[{r}] - OCC] <: (rsrtbl~)[{r}] - OCC) & (K : LBT & K : dom(TRK) & TRK(K) : OCC & (OCC1 = OCC - {K} & rsrtbl1 = {K} <<| rsrtbl & resbl1 = resbl - {K} & LBT1 = LBT - {K} \\/ {TRK(K)}) & TRK1 = TRK) & (J : OCC & J : dom(TRK) & TRK(J) /: OCC & OCC2 = OCC \\/ {TRK(J)} & LBT2 = LBT & TRK2 = TRK & resbl2 = resbl & rsrtbl2 = rsrtbl) & (J : OCC1 & J : dom(TRK1) & TRK1(J) /: OCC1 & OCC3 = OCC1 \\/ {TRK1(J)} & LBT3 = LBT1 & TRK3 = TRK1 & resbl3 = resbl1 & rsrtbl3 = rsrtbl1) & (K : LBT2 & K : dom(TRK2) & TRK2(K) : OCC2 & (OCC4 = OCC2 - {K} & rsrtbl4 = {K} <<| rsrtbl2 & resbl4 = resbl2 - {K} & LBT4 = LBT2 - {K} \\/ {TRK2(K)}) & TRK4 = TRK2) => LBT3 = LBT4 & OCC3 = OCC4 & TRK3 = TRK4 & resbl3 = resbl4 & rsrtbl3 = rsrtbl4)',
10698 '-evalf', ':z3 #(LBT,TRK,frm,OCC,resbl,resrt,rsrtbl).(not(rsrtbl : resbl --> resrt & rsrtbl <: rtbl & OCC <: resbl & !r.(r : ROUTES => nxt(r)[(rtbl~)[{r}] - (rsrtbl~)[{r}]] /\\ (rsrtbl~)[{r}] - OCC = {}) & !r.(r : ROUTES => nxt(r)[(rsrtbl~)[{r}]] <: (rsrtbl~)[{r}]) & !r.(r : ROUTES => nxt(r)[(rsrtbl~)[{r}] - OCC] <: (rsrtbl~)[{r}] - OCC) & TRK : BLOCKS >+> BLOCKS & frm <: resrt & rsrtbl[OCC] <: frm & !r.(r : resrt - frm => rtbl |> {r} = rsrtbl |> {r}) & !(x,y).(x |-> y : TRK => #r.(x |-> y : nxt(r))) & !r.(r : frm => (rsrtbl~)[{r}] <| nxt(r) = (rsrtbl~)[{r}] <| TRK) & LBT <: OCC & !(a,b).(b : LBT & (b : ran(nxt(rsrtbl(b))) & (a = (nxt(rsrtbl(b))~)(b) & a : dom(rsrtbl))) => rsrtbl(a) /= rsrtbl(b)) & rsrtbl : resbl --> resrt & rsrtbl <: rtbl & OCC <: resbl & !r.(r : ROUTES => nxt(r)[(rtbl~)[{r}] - (rsrtbl~)[{r}]] /\\ (rsrtbl~)[{r}] - OCC = {}) & !r.(r : ROUTES => nxt(r)[(rsrtbl~)[{r}]] <: (rsrtbl~)[{r}]) & !r.(r : ROUTES => nxt(r)[(rsrtbl~)[{r}] - OCC] <: (rsrtbl~)[{r}] - OCC) & (R2 : resrt - frm & (rsrtbl~)[{R2}] <| nxt(R2) = (rsrtbl~)[{R2}] <| TRK & R7 : resrt - ran(rsrtbl)) & (R7 : resrt - ran(rsrtbl) & (resrt1 = resrt - {R7} & frm1 = frm - {R7}) & LBT1 = LBT & TRK1 = TRK & OCC1 = OCC & resbl1 = resbl & rsrtbl1 = rsrtbl & fst1 = fst & lst1 = lst & nxt1 = nxt & rtbl1 = rtbl) => R2 : resrt1 - frm1 & (rsrtbl~)[{R2}] <| nxt(R2) = (rsrtbl~)[{R2}] <| TRK))'
10699 ], 'check AST optimization for z3').
10700 cli_testcase(2415, [cbc,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10701 '-evalt', 'F=%x.(x:INTEGER|x+1) & F /: FIN(F)',
10702 '-evalt', 'F=%x.(x>2|x+1) & F /: FIN(F)',
10703 '-evalt', 'F=%x.(x>2 or x=0|x+1) & F /: FIN(F)',
10704 %'-evalt', 'F= %(x,y).(x=y+1 & y=x+1 | x+y) & F : FIN(F)', % moved to test 2561
10705 '-evalt', 'F=%x.(x:NATURAL1 & x/=2 & x/=4| x+1)',
10706 '-evalt', 'F=%afh.(afh: INTEGER +-> INTEGER & afh/={} | card(afh))',
10707 '-evalt', 'F=%afh.(afh: INTEGER +-> INTEGER & {}/=afh | card(afh))',
10708 '-evalt', 'F=%afh.(afh: INTEGER <-> INTEGER & {}/=afh | card(afh))',
10709 '-evalt', 'F=%afh.(afh: INTEGER --> INTEGER & {}/=afh | card(afh))',
10710 '-evalt', 'F=%afh.(afh: BOOL --> INTEGER & {}/=afh | card(afh))',
10711 '-evalt', 'F=/*@symbolic*/{x| x:S1 or x:S2} & F /: FIN(F) & S1<:INTEGER & S1 = NATURAL1 & S2 <: 1..5',
10712 '-evalt', 'F=/*@symbolic*/{x| x:S1 or x:S2} & F /: FIN(F) & S1<:INTEGER & S1 <: 1..5 & S2 = NATURAL1',
10713 '-evalt', 'F=%x.(x:NATURAL1 & x/=2 & x/=4| x+1) & F /: FIN(F)',
10714 '-evalt', 'F=%x.(x:POW(NATURAL1) & x/={}| card(x)) & F /: FIN(F)',
10715 '-evalt', 'F=%x.(x:POW(INTEGER) & x/={}| card(x)) & F /: FIN(F)',
10716 '-evalt', 'F=%afh.(afh: INTEGER --> INTEGER & {}/=afh | card(afh)) & F /: FIN(F)',
10717 '-evalt', 'F=%afh.(afh: POW(INTEGER --> INTEGER) & {}/=afh | card(afh)) & F /: FIN(F)',
10718 '-evalt', 'F=%afh.(afh: seq(STRING +-> INTEGER) & {}/=afh | card(afh)) & F /: FIN(F)',
10719 '-evalf', 'F=%afh.(afh: seq({}) & afh:INTEGER<->INTEGER & {}/=afh | card(afh)) & F /: FIN(F)',
10720 '-evalt', 'F=%afh.(afh: seq({}) & afh:INTEGER<->INTEGER & {}/=afh | card(afh)) & F : FIN(F)',
10721 '-evalt', '%(afh,afi).(afh: INTEGER +-> INTEGER & afh/={} & afi: INTEGER |afi)=F & F/:FIN(F)'
10722 ], 'check improved infinite detection allowing not_equal works').
10723 cli_testcase(2416, [b_test,closure1,infinite,wd], ['../prob_examples/public_examples/B/Tickets/Hansen7/ClosureTest_NotWD.mch', '-init',
10724 '-expecterr', 'well_definedness_error', '-opterr', 'setup_constants_unknown',
10725 '-opterr', 'virtual_time_out', '-expcterr', 'setup_constants_fails'
10726 ], 'Version of test 1879 where wd error not masked by failure').
10727 cli_testcase(2417, [eventb_test,theories,json_trace_replay,visb], [
10728 '../prob_examples/public_examples/B/Tickets/TraceReplaySlow/Execute_by_Predicate_Problem_Enumerated.mch',
10729 '-p', 'MAX_OPERATIONS', 0, % avoid virtual_time_out
10730 '-trace_replay', 'json', '../prob_examples/public_examples/B/Tickets/TraceReplaySlow/Execute_by_Predicate_Problem_Enumerated.prob2trace'
10731 ],'Check that execute by predicate with seq. composition and becomes_such works').
10732 cli_testcase(2418, [eventb_test,card], [
10733 '../prob_examples/examples/EventBPrologPackages/Soton/Property/c0_property_Prob_ctx_v1.eventb',
10734 '-init'], 'Check deferred set detection works via card(.) axiom of other deferred set').
10735 cli_testcase(2419, [eventb_test,card], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10736 '../prob_examples/examples/EventBPrologPackages/Toulouse/Riviere/bdi/TermsContext_ctx.eventb',
10737 '-p', 'DEFAULT_SETSIZE', 20,
10738 '-init'], 'Check deferred max set size detection works via card(.) and partition').
10739 cli_testcase(2420, [eventb_test,infinite,theories], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10740 '../prob_examples/examples/EventBPrologPackages/Toulouse/Riviere/bdi/bdireasoning_mch_v2.eventb',
10741 '-p', 'DEFAULT_SETSIZE', 20,
10742 '-init'], 'Check no virtual time-out due to function with symbolic results').
10743 cli_testcase(2421, [b_test,proz,theories,infinite],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10744 '../prob_examples/public_examples/B/NewSyntax/FreeTypeInFreeType.mch',
10745 '-init','-assertions'],
10746 'Check freetypes can use fields with other freetypes as type').
10747 cli_testcase(2422, [tla,reals,external],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10748 '../prob_examples/public_examples/TLA/Reals/Demo01_generated.mch',
10749 '-init'],
10750 'Check TLA+ division via CHOOSE is treated').
10751 cli_testcase(2423, [reals,external], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'REAL_SOLVER', real_solver,
10752 '-evalt', '{x|x-1.0=3.0} = {y|y=3.0+1.0}',
10753 '-evalt', 'X+10.0e10 = 1.0e-9 & sol=-1.0E+11 & (X=sol or X=RNEXT(sol) or RNEXT(sol)=X)', % FALSE with precise_float_solver
10754 '-evalt', '{x|x+1.0=3.0} = {y|y=3.0-1.0}', % FALSE with precise_float_solver
10755 '-evalt', '{x|0.001 + x = 1000.0} = {999.999}' % FALSE in SICStus 4.10 with CLP(FD) solver, we get {999.9989999999999,999.999,999.9990000000001}
10756 ], 'check deterministic constraint propagation for real addition/subtraction').
10757 cli_testcase(2424, [reals,external], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'REAL_SOLVER', precise_float_solver,
10758 '-evalt', '{x,y,ok|RNEXT(100.0) = x & x = RNEXT(y) & (y=100.0 <=> ok=TRUE)} = {(100.00000000000001|->100.0|->TRUE)}',
10759 '-evalt', 'REPSILON>0.0',
10760 '-evalt', 'RNEXT(0.0) = REPSILON',
10761 '-evalt', 'RMAXFLOAT > 10.0E30'
10762 ], 'check new float operators').
10763 cli_testcase(2425, [reals,external], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'REAL_SOLVER', precise_float_solver,
10764 '-evalt', '{x|0.001 + x = 1000.0} = {999.999}',
10765 '-evalt', '{x|0.001 - x = 1000.0} = {-999.999}',
10766 '-evalt', '{x|300.0-x=20.0} = {280.0}',
10767 '-evalt', '{x|x-180.0=20.0} = {200.0}',
10768 '-evalt', '{x|x-1.0=3.0} = {y|y=3.0+1.0}',
10769 '-evalf', 'X+10.0e10 = 1.0e-9 & sol=-1.0E+11 & (X=sol or X=RNEXT(sol) or RNEXT(sol)=X)', % non-solution rejected
10770 '-evalt', '{x|10.0e10 = 1.0e-9-x} = {-1.0E+11}', % but it is a solution for minus
10771 '-evalt', 'x + 1.0 = 3.0 & RNEXT(p)=2.0 & x:{p,1.0,3.0}', % check that predecessor of 2.0 accepted as solution
10772 '-evalt', '{x|1.0 = 3.0 - x} = {2.0}',
10773 '-evalt', '{x|2.0*x=4.0} = {2.0}',
10774 '-evalt', '{x|x*2.0=4.0} = {2.0}',
10775 '-evalf', 'x*0.0 = 2.0',
10776 '-evalt', 'x * 12.0 = 4.0 & RPREV(p)=4.0/12.0 & x:{p,1.0,2.0}' % check that succ accepted as solution
10777 %'-evalt', '{x|x+1.0=3.0} = {y|y=3.0-1.0}', % rejected due to ambiguous solution
10778 ], 'check deterministic constraint propagation with default precise solver'). % these tests rely on 64-bit floats
10779 cli_testcase(2426, [wd], [
10780 '-evalt', ':wd x:seq(1..10) & !i.(i:2..size(x) => x(i-1)<x(i))'
10781 ], 'check wd works with arithmetic manipulations of sequence indexes ').
10782 cli_testcase(2427, [private_source_not_available], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10783 '../prob_examples/examples/B/PlanPro/PlanProGross.mch', '-init',
10784 '-release-java-parser', '-p', 'JVM_PARSER_HEAP_MB', 12000, '-p', 'COMPRESSION', 'TRUE',
10785 '-p', 'jvm_parser_fastrw', 'TRUE', '-p', 'TIME_OUT', 30000
10786 ], 'check SICS 4.9 call_cleanup performance problem solved'). % source is available but test takes quite long
10787 cli_testcase(2428, [eventb_test,infinite,theories], [
10788 '../prob_examples/examples/EventBPrologPackages/Toulouse/Riviere/HorlageDeepInstance_ctx.eventb', '-init',
10789 '-evalt', 'BAP(clock)[{tick_midnight}][Inv(clock) /\\ Grd(clock)[{tick_midnight}]] <: Inv(clock)',
10790 '-evalt', 'BAP(clock)[{tick_min}][Inv(clock) /\\ Grd(clock)[{tick_min}]] <: Inv(clock)',
10791 '-evalt', 'BAP(clock)[{tick_min}][AP(clock)] = {1|->0}',
10792 '-assertions' ], % check assertions worked due to expansion of quantifier for events and because label was not recognised, improved symbolic treatment from 25.5.2024 fixes this (but checking still slower than if theorem axm16 expanded)
10793 'check symbolic image treatment works').
10794 cli_testcase(2429, [eventb_test,infinite,theories], [
10795 '../prob_examples/examples/EventBPrologPackages/Toulouse/Riviere/HorlogeDeepMachine_mch.eventb', '-model-check', '-noass',
10796 '-cc', 1442, 1442],
10797 'check symbolic image treatment works'). % still generates a lot of enum warnings on the console, TODO: fix
10798 cli_testcase(2430, [reals,external], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'REAL_SOLVER', precise_float_solver,
10799 '-evalt', '{x|x + 2.0 = 3.0} = {0.9999999999999998,0.9999999999999999,1.0,1.0000000000000002}',
10800 '-evalt', 'card({x|x + 2.0 = 3.0}) = 4',
10801 '-evalt', 'card({x|x + 1.0 = 3.0}) = 2',
10802 '-evalt', 'card({x|x + 2.5 = 3.0}) = 7',
10803 '-evalt', '0.5000000000000002 : ({x|x + 2.5 = 3.0})',
10804 '-evalt', 'x + 2.99 = 3.0 & x:{0.01, 0.02}',
10805 '-evalt', '{x|x*3.0 = 4.0} = {1.3333333333333333,1.3333333333333335}',
10806 '-evalt', '{x,y|x+0.005 = 0.006 & y+0.005 = x} = {(0.001|->-0.004)}',
10807 '-evalt', '{y|y+0.005 = 0.0009999999999999998} = {}',
10808 '-evalf', 'y+0.005 = 0.0009999999999999998',
10809 '-evalf', 'y*y = -0.01',
10810 %'-evalt', 'y*y = 0.0', % can be solved but currently generates enumeration warning as there are many solutions
10811 '-evalt', 'y*y = 4.0',
10812 '-evalt', 'y*y = 16.0',
10813 '-evalt', '{y|y*y = 16.0}={-4.0,4.0}',
10814 '-evalt', '{x|x * x = 16.0 & x<2.0} = {-4.0}',
10815 '-evalt', '{y|y*y = 100.0}={-10.0, 10.0}',
10816 '-evalt', '{y|y*y = 3.0}={}',
10817 '-evalt', '{y|y**2 = 16.0}={-4.0,4.0}',
10818 '-evalt', '{y|y**2 = 100.0}={-10.0, 10.0}',
10819 '-evalt', '{y|y**2 = 3.0}={}',
10820 '-evalt', 'c=card({y|y*y=x}) & x = 2.0E-309 & c=14', % there are 7 square roots
10821 '-evalt', 'n=%r.(r:REAL|RNEXT(r)) & cs = {x,c|x: UNION(i).(i:1..100|iterate(n,i)[{2.0}]) & c=card({y|y*y=x})/2} & r=ran(cs) & ok=card({x|x|->1:cs}) & r={0,1} & ok=71', % 71 of 100 numbers after 2.0 have a square root
10822 '-evalt', '{i|i:10..20 & 10.0**i + 1.0 = 10.0**i} = 16..20',
10823 '-evalt', '{y|y/2.0 = 4.0}={8.0}',
10824 '-evalt', '{x|x / 0.01 = 3.0}={0.03,0.030000000000000002}',
10825 '-evalt', '{x|RABS(x) = 2.0} = {2.0, -2.0}',
10826 '-evalt', '{x|RABS(x) = -2.0} = {}',
10827 '-evalt', '{x|RABS(x) = 0.0} = {0.0}',
10828 '-evalt', '{x| -x = 2.0} = {-2.0}',
10829 '-evalt', '{y|x = RSQRT(y)}=r & x=4.0 & r={16.0,16.000000000000004}',
10830 '-evalt', '{y|x = RSQRT(y)}=r & x=-4.0 & r={}'
10831 ], 'check non-deterministic constraint propagation with default precise solver'). % these tests rely on 64-bit floats
10832 cli_testcase(2431, [reals,json_trace_replay,visb], [
10833 '../prob_examples/public_examples/B/VisB/Physics/MovingParticles4.mch',
10834 '-trace_replay', 'json', '../prob_examples/public_examples/B/VisB/Physics/MovingParticles4.prob2trace',
10835 '-visb', '../prob_examples/public_examples/B/VisB/Physics/four_bodies.json',
10836 '../prob_examples/public_examples/B/VisB/Physics/MovingParticles4.html'], 'Check JSON replay and VisB HTML generation with reals').
10837 cli_testcase(2432, [tickets,theories], [
10838 '../prob_examples/public_examples/EventBPrologPackages/Tickets/IllegalEvent/J_ClientServer_mch.eventb',
10839 '-mc', 100, '-nodead', '-cc', 17, 16], 'Check issue with adding non-default declaration to events solved').
10840 cli_testcase(2433, [rulesdsl], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10841 '../prob_examples/public_examples/Rules_Machines/RulesExample.rmch',
10842 '-execute_all',
10843 '-evalt', 'TestOnSuccess = "FAIL"',
10844 '-evalt', 'TestOnSuccess_Counterexamples = {(1,"fail for x = 0"),(1,"fail for x = 1"),(1,"fail for x = 2"),(1,"fail for x = 3"),(1,"fail for x = 4"),(1,"fail for x = 5")}',
10845 '-evalt', 'TestOnSuccess_Successful = {(1,"success for x = 3"),(1,"success for x = 5"),(2,"success for x = 4")}'
10846 ], 'Check success messages and counter examples of rulesdsl.').
10847 cli_testcase(2434, [cbc,infinite], [
10848 '../prob_examples/public_examples/B/Mathematical/DecompositionNaturalNumber.mch',
10849 '-init', '-assertions'], 'Check example with infinite functions work').
10850 cli_testcase(2435, [rulesdsl], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10851 '../prob_examples/public_examples/Rules_Machines/TestDependency.rmch',
10852 '-execute_all', '-execute_expect_steps', 6,
10853 '-evalt', 'check_y="SUCCESS"', '-evalt', 'check_y_Counterexamples={}',
10854 '-evalt', 'check_y_sum="SUCCESS"', '-evalt', 'check_y_sum_Counterexamples={}',
10855 '-evalt', 'set_limit="EXECUTED"', '-evalt', 'limit=10',
10856 '-evalt', 'set_x_to_prime="EXECUTED"', '-evalt', 'x={13}',
10857 '-evalt', 'set_y_to_next_primes="EXECUTED"', '-evalt', 'y={13,17,19,23}'
10858 ], 'Check simple Rules machine').
10859 cli_testcase(2436, [cbc,infinite,smt_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE', '-p', 'SMT', 'TRUE',
10860 '-evalt', 'a:1..10 & c:1..10 & f(a)=c & f:NATURAL1 --> NATURAL1',
10861 '-evalt', 'f(a)=c & f:NATURAL1 --> NATURAL1 & a:1..10 & c:1..10',
10862 '-evalt', 'f(2)=3 & f(3)=4 & f:NATURAL1 --> NATURAL1'
10863 ], 'check force_in_domain does not instantiate too early').
10864 cli_testcase(2437, [cbc,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE', '-p', 'SMT', 'TRUE',
10865 '-evalt', 'cs = INTEGER \\ (1..100) & x: cs & x>0',
10866 '-evalf', 'cs = INTEGER \\ (1..1000) & x: cs & x>0 & x<999',
10867 '-evalt', 'cs = INTEGER \\ (1..1000) & x: cs & x>2',
10868 '-evalt', '(x<1 or x>100) & x>0',
10869 '-evalt', 'x /: 1..100 & x>0'
10870 ], 'check not element of avl interval propagates CLPFD info').
10871 cli_testcase(2438, [b_test,proz,theories], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10872 '../prob_examples/public_examples/B/NewSyntax/FreeTypeNonRecursive.mch',
10873 '-init', '-assertions'], 'Check examples with finite freetypes').
10874 cli_testcase(2439, [laws,theories], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10875 '../prob_examples/public_examples/B/Laws/SetLawsFreeType.mch',
10876 '../prob_examples/public_examples/B/Laws/SetLawsFreeType2.mch',
10877 '../prob_examples/public_examples/B/Laws/SetLawsFreeType3.mch',
10878 '-mc', '740', '-cs', '-nogoal', '-nodead', '-strict'], 'Mathematical Laws about sets with finite freetype elements'). % has more than 513 = 8*8*8+1 states as freetype(Id) value not normalised
10879 cli_testcase(2440, [laws,theories], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10880 '../prob_examples/public_examples/B/Laws/SeqLawsFreeType.mch',
10881 '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict'], 'Mathematical Laws about sequences with finite freetype elements').
10882 cli_testcase(2441, [laws,theories], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10883 '../prob_examples/public_examples/B/Laws/RelLawsFreeType.mch',
10884 '../prob_examples/public_examples/B/Laws/RelLawsFreeType2.mch',
10885 '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict',
10886 '-p', 'DOUBLE_EVALUATION', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Mathematical Laws about relations with finite freetype elements').
10887 cli_testcase(2442, [laws,theories], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10888 '../prob_examples/public_examples/B/Laws/SeqLawsFreeType2.mch',
10889 '-noass', % they still lead to a time-out
10890 '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict'], 'Mathematical Laws about sequences with finite freetype elements').
10891 cli_testcase(2443, [laws,eventb_test,theories], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10892 '../prob_examples/public_examples/EventBPrologPackages/Laws/SetLaws.eventb',
10893 '../prob_examples/public_examples/EventBPrologPackages/Laws/SetLaws2_mch.eventb',
10894 '-mc', '513', '-cs', '-nogoal', '-nodead', '-strict'], 'Mathematical Laws about sets with finite freetype elements').
10895 cli_testcase(2444, [laws,theories], [
10896 '../prob_examples/public_examples/B/Laws/SetLawsPowFreetypes.mch', % 4098 states
10897 '../prob_examples/public_examples/B/Laws/SetLawsPowBOOL.mch',
10898 '-mc', '500', '-nogoal', '-nodead', '-strict', '-expcterr', 'model_check_incomplete'], 'Laws about sets of sets with freetypes').
10899 cli_testcase(2445, [laws,theories], [
10900 '../prob_examples/public_examples/B/Laws/SetLawsPowPowFreetypes.mch',
10901 '../prob_examples/public_examples/B/Laws/SetLawsPowPowBOOL.mch',
10902 '-mc', '50', '-nogoal', '-nodead', '-strict', '-expcterr', 'model_check_incomplete'], 'Laws about sets of sets of sets with freetypes').
10903 cli_testcase(2446, [satsolver_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10904 '../prob_examples/public_examples/B/B2SAT/isomorphism/Iso2.mch',
10905 '-init', '-assertions'
10906 ], 'Check example with equality for graph1 late in properties works').
10907 cli_testcase(2447, [json_trace_replay,b_test], [
10908 '../prob_examples/public_examples/B/Tester/OpParameters/OpAnyParaTest.mch', '-prob-profile',
10909 '-expecterr', 'virtual_time_out',
10910 '-trace_replay', 'json', '../prob_examples/public_examples/B/Tester/OpParameters/OpAnyParaTest.prob2trace'], 'Check JSON replay with virtual ANY params').
10911 cli_testcase(2448, [json_trace_replay,operation_reuse], [
10912 '../prob_examples/public_examples/B/Tester/OpParameters/OpAnyParaTest.mch', '-prob-profile',
10913 '-expecterr', 'virtual_time_out', '-p', 'OPERATION_REUSE', 'TRUE',
10914 '-trace_replay', 'json', '../prob_examples/public_examples/B/Tester/OpParameters/OpAnyParaTest.prob2trace'], 'Check enum warnings preserved by caching'). % so that JSON trace replay attempts execution by predicate
10915 cli_testcase(2449, [b_test], [
10916 '../prob_examples/public_examples/B/FeatureChecks/INCLUDES_USES_SEES/InitialisationOverride/TestOverrideInit2.mch',
10917 '../prob_examples/public_examples/B/FeatureChecks/INCLUDES_USES_SEES/InitialisationOverride/TestOverrideInit3.mch',
10918 '../prob_examples/public_examples/B/FeatureChecks/INCLUDES_USES_SEES/InitialisationOverride/TestOverrideInit4.mch',
10919 '-p', 'ALLOW_INITIALISATION_OVERRIDE', 'TRUE', '--model-check', '-nodead', '-cc',2,1], 'Check new feature to allow overriding INITIALISATION').
10920 cli_testcase(2450, [b_test], [
10921 '../prob_examples/public_examples/B/FeatureChecks/INCLUDES_USES_SEES/InitialisationOverride/TestOverrideInit2.mch',
10922 '../prob_examples/public_examples/B/FeatureChecks/INCLUDES_USES_SEES/InitialisationOverride/TestOverrideInit3.mch',
10923 '../prob_examples/public_examples/B/FeatureChecks/INCLUDES_USES_SEES/InitialisationOverride/TestOverrideInit4.mch',
10924 '-p', 'ALLOW_INITIALISATION_OVERRIDE', 'FALSE', '-expecterr', 'type_error', '-expecterr', 'load_main_file'], 'Check error when new feature not activated').
10925 cli_testcase(2451, [b_test,external,hash], [
10926 '../prob_examples/public_examples/B/ExternalFunctions/SHA/TestShaHashFile.mch', '-init', '-assertions'], 'Check SHA_HASH_FILE_HEX external function').
10927 cli_testcase(2452, [tickets,private], [
10928 '../prob_examples/examples/B/ClearSy/Tickets/mejia_exception/DLFunctions_1.mch', '-init', '-assertions', '-p', 'TIME_OUT', 2500], 'Check exception when doubling priority fixed').
10929 cli_testcase(2453, [b_test,json_trace_replay], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10930 '../prob_examples/public_examples/B/Tester/DefRecordFieldTest1.mch',
10931 '-trace_replay', 'json', '../prob_examples/public_examples/B/Tester/DefRecordFieldTest1.prob2trace'
10932 ], 'Check definition can rewrite record fields').
10933 cli_testcase(2454, [b_test], [
10934 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10935 '../prob_examples/public_examples/B/Tester/DefRecordFieldTest2_err.mch', '-init',
10936 '-expcterrpos', 'type_error', 5, 21,
10937 '-expcterrpos', 'definition_rewrite', 9, 13, '-expcterr', load_main_file
10938 ], 'Check illegal definition rewrite of record field detected').
10939 cli_testcase(2455, [json_trace_replay,visb], [
10940 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10941 '../prob_examples/public_examples/B/VisB/GroupExample2.mch',
10942 '-trace_replay', 'json', '../prob_examples/public_examples/B/VisB/GroupExample2.prob2trace',
10943 '-visb', '',
10944 '../prob_examples/public_examples/B/VisB/GroupExample2.html'], 'Check PROB_REQUIRED_VERSION definition and using tuples for VISB_SVG_OBJECTS').
10945 cli_testcase(2456, [b_test], [
10946 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10947 '../prob_examples/public_examples/B/Tester/ProBRequiredVersionTest.mch', '-init',
10948 '-expcterrpos', 'prob_too_old', 3, 26], 'Check PROB_REQUIRED_VERSION reports prob too old').
10949 cli_testcase(2457, [json_trace_replay,b_test], [
10950 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10951 '../prob_examples/public_examples/B/Tester/DefTestIdentifierList.mch',
10952 '-trace_replay', 'json', '../prob_examples/public_examples/B/Tester/DefTestIdentifierList.prob2trace'], 'Check definition with list of ids can be used').
10953 cli_testcase(2458, [json_trace_replay,visb], [
10954 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10955 '../prob_examples/public_examples/B/VisB/GroupExample3.mch',
10956 '-trace_replay', 'json', '../prob_examples/public_examples/B/VisB/GroupExample3.prob2trace',
10957 '-visb', '',
10958 '../prob_examples/public_examples/B/VisB/GroupExample3.html'], 'Check new group_id feature').
10959 cli_testcase(2459, [b_test,wd], [
10960 '-expcterr', well_definedness_error,
10961 '-evalnwd', 'x={i,j|i:0..10 & j={v|v:0..i & v/(10-i) > 0}}',
10962 '-evalnwd', 'x={i,j,k|i:0..10 & k={v|v:0..i & v mod 2 =0} & j={v|v:0..i & v/(10-i) > 0}}',
10963 '-evalnwd', 'x={i,j,k|i:0..10 & j={v|v:0..i & v/(10-i) > 0} & k={v|v:0..i & v mod 2 =0} }',
10964 '-evalt', 'x={i,j,k|i:0..10 & j={v|v:0..i & v/(10-i) > 0} & k={v|v:0..i & v mod 2 =0} & 3:k}',
10965 '-evalt', 'LIM:9..10 & r={x|x/={} & x={i,j,k|i:0..LIM & j={v|v:0..i & v/(10-i) > 0} & k={v|v:0..i & v mod 2 =0}}} & LIM<10',
10966 '-evalnwd', 'LIM:9..10 & r={x|x/={} & x={i,j,k|i:0..LIM & j={v|v:0..i & v/(10-i) > 0} & k={v|v:0..i & v mod 2 =0}}} & LIM>9',
10967 '-evalnwd', 'res={LIM,r|LIM:9..10 & r={x|x/={} & x={i,j,k|i:0..LIM & j={v|v:0..i & v/(10-i) > 0} & k={v|v:0..i & v mod 2 =0}}} }',
10968 '-evalt', 'res={LIM,r|LIM:8..10 & r={x|x/={} & x={i,j,k|i:0..LIM & j={v|v:0..i & v/(10-i) > 0} & k={v|v:0..i & v mod 2 =0}}} & {ll|ll:8..LIM & ll mod 2=0} = {8}} & card(res)=2',
10969 '-evalnwd', 'res={LIM,r|LIM:8..10 & r={x|x/={} & x={i,j,k|i:0..LIM & j={v|v:0..i & v/(10-i) > 0} & k={v|v:0..i & v mod 2 =0}}} & {ll|ll:8..LIM & ll mod 2=0} = {8,10}}'
10970 % TODO: this should probably be caught as not WD,
10971 % we need to avoid assigning set compr result in case of WD error which makes card fail
10972 % res={LIM,r|LIM:8..10 & r={x|x/={} & x={i,j,k|i:0..LIM & j={v|v:0..i & v/(10-i) > 0} & k={v|v:0..i & v mod 2 =0}}} & {ll|ll:8..LIM & ll mod 2=0} = {8,10}} & card(res)=2
10973 ],
10974 'Check wd treatment for nested set comprehensions').
10975 cli_testcase(2460, [private_source_not_available], [
10976 '../private_examples/ClearSy/2024/wd_test/scenario_figure_24_prob.prob',
10977 '-trace_replay', 'json','../private_examples/ClearSy/2024/wd_test/scenario_figure_24_prob.prob2trace',
10978 '-evalnwd', 'GET_IS_ENABLED("rbc_calcul_loc_dht_aval")=TRUE',
10979 '-expcterr', well_definedness_error,
10980 '-visb', '',
10981 '../private_examples/ClearSy/2024/wd_test/scenario_figure_24_prob.html'], 'Check wd error detected').
10982 cli_testcase(2461, [b_test,infinite], [
10983 '-evalt', 'f = prj1(INTEGER,INTEGER) & comp = ((f ; [11,22,33]) ; succ) & res = comp(2,99999)',
10984 '-evalt', 'f = prj1(INTEGER,INTEGER) & comp = (f ; ([11,22,33] ; succ)) & res = comp(2,99999)', % already worked before
10985 '-evalt', 'f = prj1(NATURAL,INTEGER) & comp = ((f ; [11,22,33,44,55]) ; succ) & res = comp(5,99999)',
10986 '-evalt', ' f = prj1(2..3,INTEGER) & comp = ((f ; [11,22,33,44,55]) ; succ) & 34=comp(3,1)',
10987 '-evalt', 'f = prj1(INTEGER,INTEGER) & comp = ((f ; [11,22,33,44,55]) ; succ) & comp[(2..2)*{1}] = {23}',
10988 '-evalt', 'f = prj1(INTEGER,INTEGER) & comp = ((f ; [11,22,33,44,55]) ; succ) & comp[(2..3)*{1}] = {23,34}',
10989 '-evalt', 'f = prj1(NATURAL,INTEGER) & comp = ((f ; [11,22,33,44,55]) ; succ) & comp[(2..2)*{1}] = {23}'
10990 ], 'Check some infinite compositions now work by detecting projection').
10991 cli_testcase(2462, [b_test,external,records,rulesdsl,xml], [
10992 '../prob_examples/examples/Rules/railML_FLB/RailML3_validation.rmch',
10993 '-execute_all', '-execute_expect_steps', 234, %'-animate-stats',
10994 '-evalt', 'card(warnings_tvdSection_Counterexamples)=2 & warnings_tvdSection_Successful={}'
10995 ], 'Test larger railML example'). % generates enum warnings
10996 cli_testcase(2463, [b_test,external,recursion,infinite], [
10997 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
10998 '../prob_examples/examples/B/SupervisoryControl/non_ground_closure/section5_1_5_2.mch',
10999 '-model-check', '-expecterr', model_check_incomplete, '-cc', 4, 46
11000 ], 'Test supervisory control example which used to generate non-ground closure message').
11001 cli_testcase(2464, [b_test,external,recursion,infinite], [
11002 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11003 '../prob_examples/examples/B/SupervisoryControl/performance_test/test_composite_component_LB_processing.mch',
11004 '-execute_all', '-execute_expect_steps', 7
11005 ], 'Test supervisory control example which used to take very long'). % 370 secs in version 1.7.1, 24 secs in 1.8.0 and 3 secs in 1.13.1
11006 cli_testcase(2465, [tickets,json_trace_replay], [
11007 '../prob_examples/public_examples/B/Tickets/ForallBothTrueFalse_NotCallResidue/ProB_Rodin_PO_SelectedHyps.mch',
11008 '-trace_replay', 'json','../prob_examples/public_examples/B/Tickets/ForallBothTrueFalse_NotCallResidue/ProB_Rodin_PO_SelectedHyps.prob2trace'
11009 ], 'Test call residue in disprover mode solved').
11010 cli_testcase(2466, [b_test,cbc], [
11011 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11012 '-evalt', 'chams:POW({TRUE}*STRING*INTEGER) & cproj={("a"|->13),("b"|->17),("c"|->19)} & cproj = {c2,c3| TRUE|->c2|->c3:chams}', % worked before
11013 '-evalt', 'chams:POW({TRUE}*STRING*INTEGER) & col={"b"}& cproj:col-->INTEGER & cproj[{"b"}]={13} & cproj = {c2,c3| TRUE|->c2|->c3:chams}',
11014 '-evalt', 'chams:POW({TRUE}*STRING*INTEGER) & col={"b","r","y"}& cproj:col-->INTEGER & cproj[{"b"}]={13} & cproj[{"r"}]={15} & cproj[{"y"}]={17} & cproj = {c2,c3| TRUE|->c2|->c3:chams}',
11015 '-evalt', 'col={"b","r","y"} & res={chams,cproj | chams:POW({TRUE}*STRING*INTEGER) & cproj:col-->INTEGER & cproj[{"b"}]={13} & cproj[{"r"}]={15} & cproj[{"y"}]={17} & cproj = {c2,c3| TRUE|->c2|->c3:chams} & !(i,j,k).((i,j,k):chams => i=TRUE & (j,k):cproj)} & card(res)=1', % added universal quantification
11016 '-evalt', 'col={"b","r","y"} & res={chams,cproj | chams:POW({TRUE}*STRING*INTEGER) & cproj:col-->INTEGER & cproj[{"b"}]={13} & cproj[{"r"}]={15} & cproj[{"y"}]={17} & cproj = {c2,c3| TRUE|->c2|->c3:chams} }', % requires propagation from body of closure to result
11017 '-evalt', 'col={"b","r","y"} & res={chams,cproj | chams:POW({TRUE}*STRING*INTEGER) & cproj:col-->INTEGER & cproj[{"b"}]={13} & cproj[{"r"}]={15} & cproj[{"y"}]={17} & /*@symbolic*/{c2,c3| TRUE|->c2|->c3:chams}<:cproj }'
11018 %
11019 ], 'Check closure expansion results are lazily checked').
11020 % does not work yet:
11021 % col={"b","r","y"} & res={chams,cproj | chams:POW({TRUE}*STRING*INTEGER) & cproj:col-->INTEGER & cproj[{"b"}]={13} & cproj[{"r"}]={15} & cproj[{"y"}]={17} & {c2,c3| TRUE|->c2|->c3:chams}<:cproj }
11022 % we need to use b_compute_comprehension_set_symbolic for arg1 of <:
11023 cli_testcase(2467, [cbc,alloy], [
11024 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11025 '../prob_examples/public_examples/Alloy/Alloy6/chameleons_schmidt_Internal1b.mch',
11026 '-model-check', '-cc', 362, 992
11027 ], 'Test adapted version of conversion of Alloy6 chameleon model').
11028 cli_testcase(2468, [b_test,cbc], [
11029 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11030 '-evalt', '{} /= {x|x>10 & x< 7000000 & x mod 10 = 0}', % takes 0.7 secs when expanded
11031 '-evalt', '{x|x>10 & x< 7000000 & x mod 10 = 0} /= {}',
11032 '-evalt', '{} /= {x|x>10 & x< 7000000 & x mod 10 = 0}',
11033 '-evalt', '{i|i:1..100 & {x|x>10 & x< 7000000+i & x mod 10 = 0} /= {}} = 1..100', % now takes 3 ms
11034 '-evalt', '{i|i:1..100 & {} /= {x|x>10 & x< 7000000+i & x mod 10 = 0} } = 1..100',
11035 '-evalt', '{i|i:1..100 & {} /= {x|x>10 & x< 10+i & x mod 100 = 0} } = 91..100'
11036 ], 'Test comprehension sets not expanded').
11037 cli_testcase(2469,[wd,wd_prover],[
11038 '-evalt', ':prove x:POW1(BOOL) => x \\/ y /= {}',
11039 '-evalu', ':prove x:POW1(BOOL) => x \\ y /= {}',
11040 '-evalu', ':prove x:POW1(BOOL) & x<:y => x \\ y /= {}',
11041 '-evalt', ':prove x:POW1(BOOL) & x/<:y => x \\ y /= {}',
11042 '-evalt', ':prove x:POW1(BOOL) & y<<:x => x \\ y /= {}',
11043 '-evalu', ':prove a <: b & a<:BOOL => b\\a = {}',
11044 '-evalt', ':prove a <: b & a<:BOOL => a\\b = {}',
11045 '-evalt', ':prove a <<: b & a<:BOOL => a\\b = {}',
11046 '-evalt', ':prove a = b & a<:BOOL => a\\b = {}',
11047 '-evalt', ':prove a = b & a<:BOOL => POW1(a\\b) = {}',
11048 '-evalt', ':prove a <: b & a<:BOOL => x /: a\\b',
11049 '-evalt', ':prove a <: b & a<:BOOL => x /\\ a\\b = {}',
11050 '-evalt', ':prove a<b => a..b /= {}',
11051 '-evalt', ':prove a<b => b..a = {}',
11052 '-evalt', ':prove a<b => POW1(b..a) = {}',
11053 '-evalt', ':prove a<b => dom((POW1(b..a)*NATURAL)~) = {}',
11054 '-evalu', ':prove x<<:{1} => {}=x<->x',
11055 '-evalt', ':prove x<<:{1} => {}/=x<->x',
11056 '-evalu', ':prove x<<:{1,2} => {}/={1}<<->x',
11057 '-evalu', ':prove x<<:{1,2} => {}/={1}-->x',
11058 '-evalt', ':prove x<<:{1,2} => {}/=x<<->{1}',
11059 '-evalt', ':prove x<<:{1,2} => {}/=x-->{1}',
11060 '-evalt', ':prove x<<:{1,2} => {}/=x<<->x',
11061 '-evalt', ':prove x<<:{1,2} => {}/=x-->x',
11062 '-evalt', ':prove a<b => {}/=(b..a)<<->(x..b)', % empty set is a total relation
11063 '-evalt', ':prove a<b => {}/=(b..a)-->(x..b)',
11064 '-evalt', ':prove a<b => {}=(a..b)<<->(b..a)',
11065 '-evalt', ':prove a<b => {}=(a..b)-->(b..a)',
11066 '-evalt', ':prove a<b => {}/={1}<<->(a..b)',
11067 '-evalt', ':prove a<b => {}/={1}-->(a..b)',
11068 '-evalt', ':prove x<<:{1} => {}=x',
11069 '-evalt', ':prove x/<<:{1} => {}/=x',
11070 '-evalu', ':prove x<<:{2,1} => {}=x',
11071 '-evalt', ':prove x:BOOL => card({x}) = 1',
11072 '-evalt', ':prove not({{TRUE}} <: { {} } )',
11073 '-evalt', ':prove x:BOOL => not({{x}} <: { {} } )',
11074 '-evalt', ':prove x:BOOL => union({{x}}) /= {}',
11075 '-evalt', ':prove x:BOOL & s={x} => union({s}) /= {}',
11076 '-evalt', ':prove x:BOOL & s={x} => union({s,s2,s3}) /= {}',
11077 '-evalt', ':prove x:BOOL => not({x} : {{}})',
11078 % '-evalt', ':prove x:BOOL & {x}:s => not( s <: { {} })',
11079 '-evalt', ':prove x=1 & not(x=1) => y=77', % detect false_hyp
11080 '-evalt', ':prove not(x>=2) & x>1 => y=33',
11081 '-evalt', ':prove (x=1 => y>1) => (x=1 => y>1)', % trigger implications
11082 '-evalt', ':prove (x=1 => y>1) => (x=1 => y>0)',
11083 '-evalt', ':prove (x=1 => y>1) & x=1 => y>0',
11084 '-evalu', ':prove (x=1 => y=77) & not(y=78) => (x=1 => z>3)',
11085 '-evalt', ':prove (x=1 => y=77) & not(y=77) => (x=1 => z>3)',
11086 '-evalt', ':prove (x=1 => y=1) & (y=1 => (x=1 => v=11)) & x=1 => v=11',
11087 '-evalt', ':prove (x=1 => y=1) & (y=1 => (x=1 <=> v=11)) & x=1 => v=11',
11088 '-evalt', ':prove (x=1 => y=1) & (y=1 => (not(v=11) => not(x=1))) & x=1 => v=11',
11089 '-evalt', ':prove (x=1 => y=1) & (x=1 => z=2) & ((y=1 & z=2) => v=11) & x=1 => v=11',
11090 '-evalt', ':prove (x=1 => (y=1 & z=2)) & ((y=1 & z=2) => v=11) & x=1 => v=11',
11091 '-evalt', ':prove (x=1 => (y=1 & z=2 & w=3)) & ((y=1 & z=2 & w=3) => v=11) & x=1 => v=11',
11092 '-evalu', ':prove (x=1 => (y=1 & z=2 & w=3)) & v=5 & ((y=1 & z=2 & w=3 & v=4) => v=11) & x=1 => v=11',
11093 '-evalu', ':prove (x=1 => (y=1 & z=22 & w=3)) & v=4 & ((y=1 & z=2 & w=3 & v=4) => v=11) & x=1 => v=11',
11094 '-evalt', ':prove (x=1 => (y=1 & z=2 & w=3)) & v=4 & ((y=1 & z=2 & w=3 & v=4) => v=11) & x=1 => v=11',
11095 '-evalt', ':prove (x=1 => (z=2 & y=1 & w=3)) & v=4 & ((y=1 & v=4 & z=2 & w=3) => v=11) & x=1 => v=11'
11096 % :prove (not(x=1) or y=22) => (x=1 => y=22)
11097 % :prove (not(x=1) or y>1) => (x=1 => y>0)
11098 ], 'check not_empty set proof rules').
11099 cli_testcase(2470, [wd], [
11100 '-evalt', ':wd (%p.(p:NATURAL|(%t.(t:NATURAL|t+1))))(1)(0)=1'
11101 ], 'check wd works with useless lets and nested function applications').
11102 cli_testcase(2471, [wd,wd_prover], [
11103 '-evalt', ':prove s: BOOL >->> BOOL => s : BOOL >+> BOOL',
11104 '-evalt', ':prove s: BOOL >->> BOOL => s : BOOL --> BOOL',
11105 '-evalt', ':prove s: BOOL >->> BOOL => s : BOOL >-> BOOL',
11106 '-evalu', ':prove s: {TRUE} --> BOOL => s : BOOL >-> BOOL',
11107 '-evalt', ':prove s: {TRUE} >-> BOOL => s : BOOL +-> BOOL',
11108 '-evalt', ':wd gn = %s.(s: BOOL >+> BOOL | s) & sv: BOOL >->> BOOL & res=gn(sv)',
11109 '-evalt', ':wd f:BOOL +-> BOOL & g:BOOL +-> BOOL & d=dom(f;g) & x:d & res=(f;g)(x)',
11110 '-evalt', ':wd f : I --> INTEGER & I=1..2 & f<: I*I & y:I & res=f(f(y))',
11111 '-evalt', ':wd f : I --> INTEGER & I=1..2 & fi<: I*I & fi~=f & y:I & res=f(f(y))',
11112 '-evalt', ':wd f : I --> INTEGER & I=1..2 & fi<: I*I & f~=fi & y:I & res=f(f(y))',
11113 '-evalt', ':wd f : I --> INTEGER & I=1..2 & fi<: I*I & fi~=(f~)~ & y:I & res=f(f(y))',
11114 '-evalt', ':prove f:{TRUE}+->BOOL & g:BOOL+->BOOL => dom(f;g) <: {TRUE}',
11115 '-evalt', ':prove A<:NATURAL & f:A+->BOOL & g:BOOL+->BOOL => dom(f;g) <: A',
11116 '-evalt', ':prove s:iseq(NATURAL) & dom(s) <: A => dom(tail(s)) <: A',
11117 '-evalt', ':prove s:iseq(NATURAL) & dom(s) <: A => dom(front(s)) <: A',
11118 '-evalt', ':prove dom(s) <: D & s:seq(BOOL) => dom(s \\|/ k) <: D',
11119 '-evalt', ':prove dom(s) <: D & s:seq(BOOL) => dom(s /|\\ k) <: D'
11120 ], 'check function transitivity and domain/range inference rules').
11121 cli_testcase(2472, [external,json_trace_replay], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11122 '../prob_examples/public_examples/B/ExternalFunctions/JSON/ReadProB2JSONNew.mch',
11123 '-trace_replay', 'json', '../prob_examples/public_examples/B/ExternalFunctions/JSON/ReadProB2JSONNew.prob2trace'
11124 ], 'Check READ_JSON').
11125 cli_testcase(2473, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11126 '-evalt', '{x| ABS(x) < 5 & ABS(x)>2} = {-4,-3,3,4}',
11127 '-evalt', '{x|ABS(x)+1:2..3}={-2,-1,1,2}',
11128 '-evalt', '{x|ABS(x):2..3} = {-2,-3,2,3}',
11129 '-evalt', '{x| 2*ABS(x) < 10}=-4..4',
11130 '-evalt', 'card({x,y| ABS(x)*ABS(y) < 10 & x>0 & y>0})=23'
11131 ], 'check constraint solving with ABS').
11132 cli_testcase(2474, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11133 'stdlib/LibraryBits.def',
11134 '-evalt', '{X|BXOR(2,X) : 8..9}=10..11',
11135 '-evalt', '!x.(x:-20..20 => BXOR(x,x) = 0)',
11136 '-evalt', '{x,y|x:8..9 & BXOR(x,y)=x} = {(8|->0),(9|->0)}',
11137 '-evalt', '{x|BNOT(x):2..3} = {-4,-3}',
11138 '-evalt', '!x.(x:-20..20 => BNOT(BNOT(x)) = x)'
11139 ], 'check constraint solving with bitwise operators').
11140 cli_testcase(2475, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11141 '-evalt', 'x = max({i|i:1..5 & i+x<=8})',
11142 '-evalt', '{x|x = max({i|i:1..5 & i+x<=8})} = {4}',
11143 '-evalt', 'x = min({i|i:1..5 & i+x<=8})',
11144 '-evalt', '{x|x = min({i|i:1..5 & i+x<=8})} = {1}',
11145 '-evalt', 'f:1..5-->NATURAL & f = %x.(x:1..5|max({i| i:1..5 & (i+1:1..5 => f(i+1)>i)}))',
11146 '-evalt', 'n=117 & f:1..n-->INTEGER & !x.(x:1..n => f(x)=max({i| i:1..n & (x+1:1..n => f(x+1)>i)}))' % worked before
11147 ], 'check improved propagation for min/max').
11148 cli_testcase(2476, [tickets,reals], [
11149 '-evalt', '#(id0,id1,id2).(id0 : REAL & id1 : REAL & id2 : POW(REAL * REAL) & ({rel_x,rel_y|rel_x : REAL & rel_y : REAL & (rel_x : dom({}~) & rel_y : union(({}~)[{rel_x}]))} /= ({id0,id1,id1} <| id2~) & btrue /* LEQ_SYM(id0,id1) */))',
11150 '-evalt', '#id0.(id0 : POW(REAL) & (id0 --> INT) >+> (NAT <->> FLOAT) : FIN((id0 --> INT) >+> (NAT <->> FLOAT)))',
11151 '-evalf', 'a..b : {INTEGER,NATURAL1}',
11152 '-evalf', '#(id0,id1).(id0 : REAL & id1 : INTEGER & ceiling(id0) .. id1 - 1 : {INTEGER,NATURAL1} - {id2|id2 : POW(INTEGER) & bfalse})',
11153 '-evalf', '#(id0,id1).(id0 .. id1 : {INTEGER} )',
11154 '-evalt', '#(id0,id1).(id0 .. id1 /: {INTEGER} )',
11155 '-evalt', 'a..b : {INTEGER,NATURAL1} <=> c=TRUE',
11156 '-evalf', '#(id0,id1).(id0 : POW(REAL) & id1 : POW(BOOL) & seq1(id0) +-> POW1(BOOL) = iseq(FLOAT) >+> {BOOL,id1})',
11157 '-evalt', '#(id0,id1,id2).(id0 : INTEGER & id1 : POW(BOOL * INTEGER) & id2 : POW(BOOL) & NAT1 - (id0 .. 78) <<: {id1|id1 : INTEGER} \\/ id1[id2])', % exception in difference_interval
11158 '-evalf', 'not(id0 : INTEGER & id1 : POW(INTEGER * INTEGER) & id2 : INTEGER * REAL & (id0 >= 0 & size([]) > MAXINT ** id0 => id1 : seq1(INTEGER) & last(id1) < prj1(id2)))', % exception in integer_log
11159 '-evalf', ' 3**x = y & y > -100 & y < -2'
11160 ], 'check tickets found by fuzzing').
11161 cli_testcase(2477, [parser,b_test,tickets], ['../prob_examples/public_examples/B/Tickets/RefLoadLoop/NFA_det_test.ref', '-expcterr', parse_error, '-expcterr', load_main_file, '-strict'], 'Test that parser does not loop even when machine names match (variant of test 617)').
11162 cli_testcase(2478, [tickets,wd,wd_prover], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11163 '-evalu', ':prove not(MININT/4 : NAT)',
11164 '-evalu', ':prove MININT / 4 : NAT => id0 + id0 >= size({}<|[1.0])',
11165 '-evalt', ':prove-double-check x:1..10 => x/4 : 0..2',
11166 '-evalt', ':prove-double-check x:-43..-4 => x/4 : -10..-1',
11167 '-evalt', ':prove-double-check x>=-43 => x/4 >= -10',
11168 '-evalu', ':prove x>=-44 => x/4 >= -10',
11169 '-evalt', ':prove-double-check x>=-3 => x/4 >= 0',
11170 '-evalu', ':prove x>=-4 => x/4 >= 0',
11171 '-evalt', ':prove-double-check BOOL <<: id0 => not(MAXINT<=id1)', % ensure peel forall doesn't interfere with implication proof
11172 '-evalu', ':prove id0 : POW(BOOL) & perm(id0) <: perm(BOOL)', % was proven
11173 '-evalu', ':prove id0 : POW(BOOL) & iseq(id0) <: perm(BOOL)',
11174 '-evalt', ':prove-double-check id0 : POW(BOOL) & perm(id0) <: iseq(BOOL)',
11175 '-evalt', ':prove not(MININT : INTEGER - NAT1 & MININT : INTEGER - NAT1 & MAXINT : INTEGER - NAT1 & MAXINT : INTEGER - NAT1)', % used to loop
11176 '-evalu', ':prove MININT:INT => MININT + MININT <= 42 * MININT',
11177 '-evalu', ':prove MININT + MININT <= 42 * MININT',
11178 '-evalu', ':prove x<= y & z <= y => x+z <= 3*y'
11179 ], 'check tickets found by fuzzing').
11180 cli_testcase(2479, [wd,wd_prover], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11181 '-evalt', ':prove-double-check a=1 => a*x <= x',
11182 '-evalt', ':prove-double-check a=1 => a*x >= x',
11183 '-evalt', ':prove-double-check a=1 => a*x = x',
11184 '-evalt', ':prove-double-check x*a /= x => a/=1', % check implication proof of contra-positive works
11185 '-evalt', ':prove-double-check a=1 => x/a=x',
11186 '-evalt', ':prove-double-check x/a /= x => a/=1',
11187 '-eval', ':repeat :prove-double-check @RANDOMISE a=@INT & x/a /= x => a/=1',
11188 '-eval', ':repeat :prove-double-check @RANDOMISE a=@INT & x/a /= x => a/=@INT',
11189 '-eval', ':repeat :prove-double-check @RANDOMISE a: @INT..@INT => a*x >= x',
11190 '-eval', ':repeat :prove-double-check @RANDOMISE a: @INT..@INT => a*x >= a+x',
11191 '-eval', ':repeat :prove-double-check @RANDOMISE a: @INT..@INT & x:@INT..@INT => a*x >= a+x',
11192 '-eval', ':repeat :prove-double-check @RANDOMISE a: @INT..@INT & x:@INT..@INT => a*x <= x'
11193 ], 'check proof involving multiplication and division').
11194 cli_testcase(2480, [cbc,tickets], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11195 '-evalf', ':prob id0:(POW(BOOL)*INTEGER) & BOOL <<: prj1(id0)',
11196 '-evalf', ':prob id0:(POW(BOOL)*STRING) & BOOL <<: prj1(id0)',
11197 '-evalf', ':prob id0:(REAL*POW(BOOL)) & BOOL <<: prj2(id0)',
11198 '-evalf', ':prob id0:(REAL*POW(BOOL)) & {id0|id0 : BOOL} <<: prj2(id0)',
11199 '-evalf', 'id0:(POW(BOOL)*INTEGER) & BOOL <<: prj1(id0)',
11200 '-evalt', ':prob id0:(POW(BOOL)*INTEGER) & BOOL <: prj1(id0)',
11201 '-evalf', ':prob f:INTEGER <-> BOOL & BOOL <<: f[id0]',
11202 '-evalf', ':prob id0:(POW(POW(BOOL))*INTEGER) & POW(BOOL) <<: prj1(id0)',
11203 '-evalt', ':prob id0:(POW(POW(BOOL))*INTEGER) & POW(BOOL) <: prj1(id0)'
11204 ], 'check issue in strict subset with duplicates in list fixed').
11205 cli_testcase(2481, [private_source_not_available], [ % not really private, but requires installed ML prover
11206 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11207 '-evalt', ':ml x:NATURAL1 => x:NATURAL',
11208 '-evalt', ':ml x<:INTEGER & x<<:y => x<:y ',
11209 '-evalt', ':ml x:NATURAL => -1 <= x',
11210 '-evalt', ':ml x:NATURAL => x >= -1',
11211 '-evalt', ':ml x:NATURAL => -1 < x',
11212 '-evalt', ':ml x:NATURAL => x > -1',
11213 '-evalt', ':ml x:NATURAL1 => x > 0',
11214 '-evalt', ':ml x=a => x: {a,2}',
11215 '-evalt', ':ml {x|x>0} <: NATURAL',
11216 '-evalu', ':ml (id0 : POW((INTEGER) * POW(INTEGER)) & {rel_x,rel_y|rel_x : (INTEGER) & rel_y : INTEGER & (rel_x : dom(id0) & rel_y : union(id0[{rel_x}]))} = {} => 1=2)',
11217 '-evalu', ':ml not(NAT1 = NAT) => {aaa|aaa : POW(INTEGER)} : FIN({aaa|aaa : POW(INTEGER)})',
11218 '-evalu', ':ml MININT < MININT',
11219 '-evalt', ':ml x:POW1(NATURAL) => x/={}',
11220 '-evalt', ':ml x:iseq1(BOOL) => x /= <>',
11221 '-evalt', ':ml x:perm(BOOL) => x:iseq(BOOL)'
11222 ], 'check ML normalisation process works').
11223 cli_testcase(2482, [wd,wd_prover], [
11224 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11225 '-evalt', ':prove INT /<: NAT1',
11226 '-evalt', ':prove INT /<: NAT',
11227 '-evalt', ':prove NAT /<: NAT1',
11228 '-evalu', ':prove NAT1 /<: NAT1',
11229 '-evalu', ':prove NAT1 /<: NAT',
11230 '-evalt', ':prove 1..3 /<: 1..2',
11231 '-evalt', ':prove 1..3 /<: 0..2',
11232 '-evalt', ':prove 1..3 /<: 2..4',
11233 '-evalu', ':prove 1..3 /<: 1..3',
11234 '-evalu', ':prove 1..3 /<: 1..4',
11235 '-evalu', ':prove 1..3 /<: 0..3',
11236 '-evalt', ':prove INTEGER /<: NAT',
11237 '-evalt', ':prove NATURAL /<: NAT',
11238 '-evalt', ':prove NATURAL1 /<: NAT',
11239 '-evalt', ':prove NATURAL /<<: NAT',
11240 '-evalt', ':prove NATURAL1 /<<: NAT',
11241 '-evalu', ':prove NATURAL1 /<: NATURAL',
11242 %'-evalt', ':prove NATURAL /<: NATURAL1'
11243 '-evalt', ':prove 1..3 /= 0..3',
11244 '-evalu', ':prove x..3 /= 0..3',
11245 '-evalt', ':prove x..3 /= 0..2',
11246 '-evalu', ':prove x>=y => y..x /= 0..y',
11247 '-evalt', ':prove x>y => y..x /= 0..y',
11248 '-evalt', ':prove INT /<<: NAT1',
11249 '-evalt', ':prove INT /<<: NAT',
11250 '-evalt', ':prove NAT /<<: NAT1',
11251 '-evalt', ':prove NAT1 /<<: NAT1',
11252 '-evalu', ':prove NAT1 /<<: NAT',
11253 '-evalt', ':prove 1..3 /<<: 1..2',
11254 '-evalt', ':prove 1..3 /<<: 0..2',
11255 '-evalt', ':prove 1..3 /<<: 2..4',
11256 '-evalt', ':prove 1..3 /<<: 1..3',
11257 '-evalu', ':prove 1..3 /<<: 1..4',
11258 '-evalu', ':prove 1..3 /<<: 0..3'
11259 ], 'check WD proof rules for not_subset of intervals').
11260 cli_testcase(2483, [infinite,records], [
11261 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11262 '-evalt', '{x|x:struct(a:INTEGER,b:BOOL) & x\'b=FALSE} <: struct(a:INTEGER,b:BOOL)',
11263 '-evalt', 'struct(a:INTEGER,b:{TRUE}) <: struct(a:INTEGER,b:BOOL)',
11264 '-evalt', 'struct(a:INTEGER,b:{TRUE}) <<: struct(a:INTEGER,b:BOOL)',
11265 '-evalt', '{x|x:struct(a:INTEGER,b:BOOL) & x\'b=FALSE} <<: struct(a:INTEGER,b:BOOL)',
11266 '-evalt', 'card({x|x:struct(a:INTEGER,b:BOOL) & x\'a=11}) = 2',
11267 '-evalf', 'x : struct(a:seq(INTEGER),b:{FALSE,TRUE}) & x\'b = FALSE & not(x : struct(a:seq(INTEGER),b:{FALSE,TRUE}))',
11268 '-evalt', '{x|x : struct(a:seq(INTEGER),b:{FALSE,TRUE}) & x\'b = FALSE & not(x : struct(a:seq(INTEGER),b:{FALSE,TRUE}))} = {}',
11269 '-evalf', '/*@symbolic */{v|v:struct(a:seq(INTEGER),b:BOOL) & v\'b=TRUE} = struct(a:seq(INTEGER),b:BOOL)',
11270 '-evalt', 'not(/*@symbolic */{v|v:struct(a:seq(INTEGER),b:BOOL) & v\'b=TRUE} = struct(a:seq(INTEGER),b:BOOL))',
11271 '-evalf', 'struct(a:seq(INTEGER),b:BOOL) <: /*@symbolic */{x|x:struct(a:seq(INTEGER),b:BOOL) & x\'b=FALSE}',
11272 '-evalt', '/*@symbolic */{x|x:struct(a:seq(INTEGER),b:BOOL) & x\'b=FALSE} <: struct(a:seq(INTEGER),b:BOOL)',
11273 '-evalt', '/*@symbolic */{x|x:struct(a:seq(INTEGER),b:BOOL) & x\'b=FALSE} <<: struct(a:seq(INTEGER),b:BOOL)',
11274 '-evalt', '/*@symbolic */{x|x:struct(a:INTEGER,b:BOOL,c:seq(INTEGER)) & x\'b=FALSE} <: struct(a:INTEGER,b:BOOL,c:seq(INTEGER))',
11275 '-evalt', 'not( struct(a:INTEGER,b:{TRUE}) : FIN(struct(a:INTEGER,b:{TRUE})))',
11276 '-evalt', 's= {x|x:struct(a:INTEGER,b:BOOL) & x\'b=FALSE} & not( s : FIN(s))',
11277 '-evalt', 's= {x|x:struct(a:INTEGER,b:BOOL) & x\'a=22} & ( s : FIN(s))',
11278 '-evalt', 's= {x|x:struct(a:INTEGER,b:BOOL) & x\'b=TRUE & x\'b=FALSE} & ( s : FIN(s))',
11279 '-evalt', 's= {x|x:struct(a:INTEGER,b:STRING) & x\'b : {"a","b","c"}} & not( s : FIN(s))',
11280 '-evalf', 'v:0..1 & s= {x|x:struct(a:INTEGER,b:INTEGER) & x\'b : 2..v} & not( s : FIN(s))',
11281 '-evalt', 'v:0..1 & s= {x|x:struct(a:INTEGER,b:INTEGER) & x\'b : 2..v} & ( s : FIN(s))',
11282 %'-evalt', 'card({x,z|x:{x+1,x+2} & z:INTEGER}) = 0', % moved to 2561; see SPRM-21541
11283 %'-evalt', 'card({x,y,v|x:INTEGER & y:{y+1,y+2} & v=x}) = 0', % ditto
11284 '-evalt', 'card({x,y,z|x:INTEGER & y=x & x=y+1 & z:INTEGER} )=0', % this somehow still works in SICStus 4.10
11285 '-evalt', 'card({x|x:struct(a:INTEGER,b:seq1(BOOL)) & x\'b=[]}) = 0',
11286 '-evalt', 'x=TRUE <=> (/*@symbolic */{v|v:struct(a:seq(INTEGER),b:BOOL) & v\'b=TRUE} = struct(a:seq(INTEGER),b:BOOL))',
11287 %'-evalt', 'card({x,y,v|x:INTEGER & y:{v+1,v+2} & v=y}) = 0', % moved to 2561
11288 %'-evalt', 'card({x,y|x:INTEGER & y=x+1 & x=y}) = 0', % ditto
11289 '-evalt', 's = {x,y,v|x:INTEGER & v=(y,y) & y=x+x} & not(s:FIN(s))',
11290 '-evalt', 's = {x,y,v|x:INTEGER & y=x+x & v=(y,y)} & not(s:FIN(s))'
11291 ], 'infinite sets of records and other infinite set checks').
11292 cli_testcase(2484, [infinite,records,recursion], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11293 '../prob_examples/public_examples/B/FunctionalProgramming/Clojure/clj-base_v2.mch',
11294 '-init', '-assertions'], 'Check that infinite set of records work').
11295 cli_testcase(2485, [error_checks], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11296 '../prob_examples/public_examples/ProofObligations/Mammar_Laleau_ABZ/TestExistImplicationOrder_ctx.eventb',
11297 '-assertions',
11298 '-expcterr',bmachine_static_checks % the body of an existential quantifier is an implication
11299 ],'Check we detect implication in exists').
11300 cli_testcase(2486, [error_checks], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11301 '-evalt', 'f: 1..3 --> NAT & f = [0,0,0] & #i.(i:INTEGER & (i:dom(f) => f(i)>0))',
11302 '-expcterr',bmachine_static_checks % the body of an existential quantifier is an implication
11303 ],'Check we detect implication in exists').
11304 cli_testcase(2487, [wd,wd_prover], [
11305 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11306 '-evalt', ':prove f: 1..10 <-> 3..12 => dom(closure1(f)) <: 1..10',
11307 '-evalt', ':prove f: 1..10 <-> 3..12 => ran(closure1(f)) <: 3..12',
11308 '-evalt', ':prove f: 1..10 <-> 3..12 => closure1(f) : 1..10 <-> 3..12',
11309 '-evalu', ':prove f: 1..10 <-> 3..12 => closure1(f) : 1..9 <-> 3..12',
11310 '-evalu', ':prove f: 1..10 <-> 3..12 => closure1(f) : 1..10 <-> 4..12',
11311 '-evalu', ':prove f: 1..10 <-> 3..12 => closure1(f) /: 1..10 <-> 4..12'
11312 % '-evalt', ':prove f: 1..10 <-> 3..12 & f /= {} => closure1(f) /: 11..12 <-> 3..12'
11313 % :prove f: 1..10 <-> 3..12 & f /= {} => f /: 11..12 <-> 3..12
11314 % '-evalt', ':prove closure1(f): 1..10 <-> 3..12 => dom(f) <: 1..10',
11315 % '-evalt', ':prove closure1(f): 1..10 <-> 3..12 => dom(f) <: 1..10'
11316 ], 'check WD proof rules for closure1').
11317 cli_testcase(2488, [clingo], [
11318 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11319 '-evalt', ':clingo-double-check x:BOOL & x=y',
11320 '-evalt', ':clingo-double-check x:BOOL & x/=TRUE',
11321 '-evalf', ':clingo-double-check x:BOOL & x/=TRUE & x/=FALSE',
11322 '-evalf', ':clingo-double-check not(x<:BOOL & x /<: y => x/=y)',
11323 '-evalf', ':clingo-double-check not(x<:BOOL & x /<: y => y/=x)',
11324 '-evalf', ':clingo-double-check not(x<:BOOL & x /<: y => not(y=x))',
11325 % '-evalt', ':clingo-double-check x <: (1..2)*(1..2) & x /= {} & card(x)=3'
11326 '-evalt', ':clingo-double-check x<:BOOL & card(x)=2',
11327 '-evalt', ':clingo-double-check x <: BOOL*BOOL & x/= {} & x<<:y',
11328 '-evalt', ':clingo-double-check x : BOOL*BOOL & x=(TRUE,FALSE)',
11329 '-evalt', ':clingo-double-check x = {TRUE|->FALSE, FALSE|->TRUE}',
11330 '-evalt', ':clingo-double-check x = {TRUE|->FALSE, FALSE|->TRUE} & res=closure1(x)',
11331 '-evalt', ':clingo-double-check x /= (FALSE,FALSE) & x= (y,y)',
11332 '-evalf', ':clingo-double-check x /= (FALSE,FALSE) & x= (y,y) & y /= TRUE',
11333 '-evalt', ':clingo-double-check x /= (FALSE,TRUE) & x= (y,y) & y /= TRUE',
11334 '-evalt', ':clingo-double-check x <: BOOL*BOOL & (TRUE,FALSE):x & (y,y):x & y/=TRUE',
11335 '-evalt', ':clingo-double-check x <: BOOL*BOOL & (TRUE,FALSE):x & (y,y):x & y/=TRUE & card(x)>2',
11336 '-evalf', ':clingo-double-check x <: BOOL*BOOL & (TRUE,FALSE):x & (y,y):x & y/=TRUE & card(x)<2',
11337 '-evalt', ':clingo-double-check x <: BOOL*BOOL & (TRUE,FALSE):x & (y,y):x & (y/=TRUE or card(x)<2)',
11338 '-evalf', ':clingo-double-check x <: BOOL*BOOL & (TRUE,FALSE):x & (y,y):x & (card(x)=1 or card(x)=0)',
11339 '-evalt', ':clingo-double-check x <: BOOL*BOOL & (TRUE,FALSE):x & (y,y):x & (card(x)=1 or card(x)=4)',
11340 '-evalt', ':clingo-double-check r = {TRUE|->FALSE,FALSE|->TRUE} & s={TRUE} & res = r[s]',
11341 '-evalt', ':clingo-double-check r = {TRUE|->FALSE,FALSE|->TRUE} & {FALSE} = r[S]',
11342 '-evalt', ':clingo-double-check r = {TRUE|->FALSE,FALSE|->TRUE} & dres = {TRUE} <| r',
11343 '-evalt', ':clingo-double-check r = {TRUE|->FALSE,FALSE|->TRUE} & dsub = {TRUE} <<| r',
11344 '-evalt', ':clingo-double-check r = {TRUE|->FALSE,FALSE|->TRUE} & rres = r |> {TRUE}',
11345 '-evalt', ':clingo-double-check r = {TRUE|->FALSE,FALSE|->TRUE} & rsub = r |>> {TRUE}',
11346 '-evalf', ':clingo-double-check not(a ={} & b<:BOOL => b/<<:a)',
11347 '-evalf', ':clingo-double-check not(a =BOOL & b<:BOOL => a/<<:b)',
11348 '-evalt', ':clingo-double-check not(a ={} & b<:BOOL => a/<<:b)',
11349 '-evalt', ':clingo-double-check not(a =BOOL & b<:BOOL => b/<<:a)',
11350 '-evalf', ':clingo-double-check not(a ={} & b<:BOOL & a/=b => b/<:a)',
11351 '-evalf', ':clingo-double-check not(a ={} & b<:BOOL & a/=b => not(b<:a))',
11352 '-evalt', ':clingo-double-check not(a ={} & b<:BOOL & a/=c => not(b<:a))',
11353 '-evalt', ':clingo-double-check not(a<:BOOL => not(a<:b <=> b<:a))',
11354 '-evalt', ':clingo-double-check not(a<:BOOL => not(not(a<:b) <=> not(b<:a)))',
11355 '-evalf', ':clingo-double-check not(a<:BOOL => not((a<:b) <=> not(a<:b)))',
11356 '-evalf', ':clingo-double-check not(a<:BOOL => not(not(a<<:b) <=> (a<<:b)))',
11357 '-evalt', ':clingo-double-check (A=TRUE <=> (B=FALSE or C=FALSE)) & (B=TRUE <=> A=TRUE)',
11358 '-evalf', ':clingo-double-check (A=TRUE <=> (B=FALSE or C=FALSE)) & (B=TRUE <=> A=TRUE) & B=FALSE',
11359 '-evalt', ':clingo-double-check x = {TRUE|->FALSE}~',
11360 '-evalt', ':clingo-double-check x <: BOOL*BOOL & x=x~ & x/={}',
11361 '-evalt', ':clingo-double-check prj1(x)=TRUE & prj2(x)=FALSE',
11362 '-evalt', ':clingo-double-check f={TRUE|->FALSE,FALSE|->TRUE} & f(x)=TRUE',
11363 '-evalf', ':clingo-double-check {TRUE}:POW1(x) & {FALSE}:POW(x) & x/=BOOL',
11364 '-evalt', ':clingo-double-check {TRUE}:POW1(x) & {FALSE}:POW(x)',
11365 '-evalt', ':clingo-double-check x:BOOL <-> {TRUE} & card(x)>1',
11366 '-evalf', ':clingo-double-check x={TRUE|->FALSE} & (x;y) = (BOOL*BOOL)',
11367 '-evalt', ':clingo-double-check x={TRUE|->FALSE} & (x;y) = ({TRUE}*BOOL)',
11368 '-evalt', ':clingo-double-check x={TRUE|->FALSE,FALSE|->FALSE} & (x<+{TRUE|->TRUE}) = res',
11369 '-evalt', ':clingo-double-check x={TRUE|->FALSE} & (x<+y) = ({TRUE}*BOOL)',
11370 '-evalt', ':clingo-double-check x=id({TRUE})',
11371 '-evalt', ':clingo-double-check f:BOOL+->BOOL & card(f)=2',
11372 '-evalf', ':clingo-double-check f:BOOL+->BOOL & card(f)=3',
11373 '-evalt', ':clingo-double-check (f\\/g):BOOL >+> BOOL & card(f\\/g)=2',
11374 '-evalt', ':clingo-double-check (f\\/g):BOOL --> BOOL & card(f\\/g)=2',
11375 '-evalt', ':clingo-double-check (f\\/g):BOOL --> BOOL & card(f\\/g)=2',
11376 '-evalt', ':clingo-double-check (f\\/g):BOOL --> BOOL & card(f\\/g)=2',
11377 '-evalf', ':clingo-double-check X /\\ Y = {} & X \\/ Y = BOOL & X=Y',
11378 '-evalt', ':clingo-double-check X /\\ Y = {} & X \\/ Y = BOOL',
11379 '-evalt', ':clingo-double-check X /\\ Y = {} & X \\/ Y = BOOL & X=BOOL',
11380 '-evalt', ':clingo-double-check (f\\/g):BOOL >-> BOOL & card(f\\/g)=2',
11381 '-evalt', ':clingo-double-check (f\\/g):BOOL -->> BOOL & card(f\\/g)=2',
11382 '-evalt', ':clingo-double-check (f\\/g):BOOL +->> BOOL & card(f\\/g)=2',
11383 '-evalt', ':clingo-double-check (f\\/g):BOOL >->> BOOL & card(f\\/g)=2',
11384 '-evalf', ':clingo-double-check (f\\/g):BOOL >+>> BOOL & card(f\\/g)=1',
11385 '-evalt', ':clingo-double-check (f\\/g):BOOL >+>> BOOL & card(f)=2',
11386 '-evalt', ':clingo-double-check (f\\/g):BOOL <->> BOOL & card(f\\/g)=3',
11387 '-evalt', ':clingo-double-check (f\\/g):BOOL <<-> BOOL & card(f\\/g)=3',
11388 '-evalt', ':clingo-double-check (f\\/g):BOOL <<->> BOOL & card(f\\/g)=3',
11389 '-evalf', ':clingo-double-check !x.(x:BOOL => x:s) & FALSE /: s',
11390 '-evalt', ':clingo-double-check !x.(x:BOOL => x:s) & FALSE : s',
11391 '-evalt', ':clingo-double-check v={TRUE} & !x.(x:v => x/:s) & !x.(x:BOOL-v => x:s)',
11392 '-evalt', ':clingo-double-check v={TRUE} & !x.(x:v & x=FALSE => x:s) & !x.(x:BOOL-v => x/:s)',
11393 '-evalt', ':clingo-double-check !(x,y).(x:{TRUE} & y:BOOL => x:v & y:w) & !(x,y).(x:{FALSE} & y=x => x/:v)',
11394 '-evalt', ':clingo-double-check x = {y|y:BOOL & y/:v} & v = {TRUE}',
11395 '-evalt', ':clingo-double-check x = {y,z|y:BOOL & y/:v & z:v} & v = {TRUE}',
11396 '-evalf', ':clingo-double-check !x. (x:BOOL => {x} /\\ s = {TRUE})',
11397 '-evalf', ':clingo-double-check !x.(x:BOOL => x=TRUE)',
11398 '-evalt', ':clingo-double-check !x.(x:BOOL => x=TRUE or x=FALSE)',
11399 '-evalf', ':clingo-double-check c = closure1({TRUE|->FALSE}) & card(c)>1',
11400 '-evalt', ':clingo-double-check c = closure1(({TRUE|->TRUE} ; c) ) & c /= {}',
11401 '-evalt', ':clingo-double-check c = closure1(({TRUE|->TRUE} ; c) ) & c /= {} & card(c)>1',
11402 '-evalf', ':clingo-double-check X={TRUE}*BOOL & f:X+->X & x:X & y:X & not( f <+ {x|->y} : X+->X)',
11403 '-evalt', ':clingo-double-check X={TRUE}*BOOL & f:X+->X & y:X & not( f <+ {x|->y} : X+->X)',
11404 '-evalt', ':clingo-double-check IF x=TRUE THEN y=TRUE ELSE z=TRUE END & y=FALSE',
11405 '-evalf', ':clingo-double-check not(IF x=TRUE THEN y=TRUE ELSE z=TRUE END) & y=TRUE & z=TRUE',
11406 '-evalt', ':clingo-double-check x:0..1 & y:1..3 & z:1..3 & IF IF x>0 THEN y=1 ELSE y=2 END THEN z=1 ELSE z=2 END & y=3',
11407 '-evalf', ':clingo-double-check x:0..1 & y:1..3 & z:1..3 & IF IF x>0 THEN y=1 ELSE y=2 END THEN z=1 ELSE z=2 END & y=3 & z=1'
11408 ], 'check clingo backend').
11409 cli_testcase(2489, [xtl,json_trace_replay], ['../prob_examples/public_examples/XTL/sequent_prover.P',
11410 '-trace_replay', 'json', '../prob_examples/public_examples/XTL/sequent_prover.prob2trace'
11411 ], 'Check JSON trace replay works in XTL mode').
11412 cli_testcase(2490, [xtl,json_trace_replay], ['../prob_examples/public_examples/XTL/Ambiguous.P',
11413 '-trace_replay', 'json', '../prob_examples/public_examples/XTL/Ambiguous.prob2trace'
11414 ], 'Check JSON trace replay works in XTL mode with parameters').
11415 cli_testcase(2491, [private_source_not_available], ['../prob_examples/public_examples/B/Kodkod/Loop_clingo.mch',
11416 '-init', '-assertions', '-properties',
11417 '-p', 'MAX_INITIALISATIONS', 8, '-cc', 15, 14, '-mc', 20, '-nodead', '-bf'
11418 ], 'Check clingo as SOLVER_FOR_PROPERTIES'). % see test 634
11419 cli_testcase(2492, [wd,wd_prover,finite], [
11420 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11421 '-evalt', ':prove s0:POW(NAT) => (s0 /\\ (INTEGER\\NATURAL)):FIN(s0 /\\ (INTEGER\\NATURAL))',
11422 '-evalu', ':prove NEG=(INTEGER\\NATURAL) & s0:POW1(NATURAL) => (s0 /\\ (NEG)):FIN(s0 /\\ (NEG))',
11423 '-evalt', ':prove NEG=(INTEGER\\NATURAL) & s0:POW1(NAT) => (s0 /\\ (NEG)):FIN(s0 /\\ (NEG))',
11424 '-evalt', 'NEG=(INTEGER\\NATURAL) & s0:POW1(NAT) & (s0 /\\ (NEG)):FIN(s0 /\\ (NEG))'
11425 ], 'check WD proof rules for finite and encoding of negative numbers').
11426 cli_testcase(2493, [eventb_test, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/BBSL/Interval_ctx.eventb',
11427 '../prob_examples/public_examples/EventBPrologPackages/Theory/BBSL/BB_ctx.eventb',
11428 %'../prob_examples/public_examples/EventBPrologPackages/Theory/BBSL/GenericMchBBSL_mch.eventb', % Enum warning
11429 '-init', '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
11430 ], 'Checking issue with any type in registered freetype').
11431 cli_testcase(2494,[private,json_trace_replay],[
11432 '../prob_examples/examples/B/ClearSy/RoboSim/SRanger_CSSP_sim_Jun25/logic_i.imp',
11433 '-trace_replay', 'json', '../prob_examples/examples/B/ClearSy/RoboSim/SRanger_CSSP_sim_Jun25/logic_i.prob2trace'
11434 ], 'Check duplicate LOCAL_OPERATIONS are filtered out').
11435 cli_testcase(2495, [private_source_not_available], ['../prob_examples/public_examples/B/Kodkod/Loop.mch',
11436 '-init', '-assertions', '-properties',
11437 '-p', 'SOLVER_FOR_PROPERTIES', 'clingo',
11438 '-p', 'MAX_INITIALISATIONS', 8, '-cc', 15, 14, '-mc', 20, '-nodead', '-bf'
11439 ], 'Check clingo as SOLVER_FOR_PROPERTIES with universal quantification'). % see test 634, 2491
11440 cli_testcase(2496, [private_source_not_available],
11441 ['../prob_examples/public_examples/B/PerformanceTests/SAT_Tests/IceCream_Clingo.mch',
11442 '-properties'],
11443 'Test example with clingo.'). % see test 2345
11444 cli_testcase(2497, [cbc, cbc_tests,bmc], ['../prob_examples/public_examples/TLA/Apalache/y2k_cinit.tla', '-bmc', 5,
11445 '-expcterr', 'invariant_violation'], 'Check BMC works').
11446 cli_testcase(2498, [cache], ['../prob_examples/public_examples/B/PerformanceTests/Cache/Counter.mch',
11447 '-expcterr','model_check_incomplete', '-mc', 50, '-bf',
11448 '-cache', '../prob_examples/public_examples/cache/', '-clear_cache',
11449 '-cache_stats', '-check_cache_stats', 0, 98], 'Reset cache and check no reuse happens').
11450 cli_testcase(2499, [cache], ['../prob_examples/public_examples/B/PerformanceTests/Cache/Counter.mch',
11451 '-expcterr','model_check_incomplete', '-mc', 50, '-bf',
11452 '-cache', '../prob_examples/public_examples/cache/',
11453 '-cache_stats', '-check_cache_stats', 98, 0], 'Now check full reuse happens').
11454 cli_testcase(2500, [cache], ['../prob_examples/public_examples/B/PerformanceTests/Cache/Counter.mch',
11455 '-execute', 10, '-animate_stats',
11456 '-cache', '../prob_examples/public_examples/cache/',
11457 '-cache_stats', '-check_cache_stats', 8, 0], 'Now check full reuse happens with execute as well').
11458 cli_testcase(2501, [cache], ['../prob_examples/public_examples/B/PerformanceTests/Cache/UsesCounter.mch',
11459 '-animate', 10, '-animate_stats',
11460 '-cache', '../prob_examples/public_examples/cache/', '-clear_cache_for', 'UsesCounter',
11461 '-cache_stats', '-check_cache_stats', 16, 8], 'Now check full reuse happens with animate and subsidiary op calls').
11462 cli_testcase(2502, [cache], ['../prob_examples/public_examples/B/PerformanceTests/Cache/ExtendsCounter.mch',
11463 '-mc', 50, '-bf', '-expcterr', 'model_check_incomplete',
11464 '-cache', '../prob_examples/public_examples/cache/', '-clear_cache',
11465 '-cache_stats', '-check_cache_stats', 0, 22], 'Setup test 2503'). % 76 reused transitions, 22 stored transitions
11466 cli_testcase(2503, [cache], ['../prob_examples/public_examples/B/PerformanceTests/Cache/Counter.mch',
11467 '-execute', 10,
11468 '-cache', '../prob_examples/public_examples/cache/',
11469 '-cache_stats', '-check_cache_stats', 8, 0], 'Check that running ExtendsCounter.mch in test 2502 sets up cache for Counter.mch').
11470 cli_testcase(2504, [b_test,operation_calls_in_expr], ['../prob_examples/examples/B/Tickets/operation_in_expression/rule_operation_in_expression/rule.mch',
11471 '../prob_examples/examples/B/Tickets/operation_in_expression2/rule_operation_in_expression/rule.mch',
11472 '-mc', 10], 'Check renaming issue fixed').
11473 cli_testcase(2505, [cache], ['../prob_examples/public_examples/B/PerformanceTests/Cache/Counter.mch',
11474 '-mc', 10, '-bf', '-expcterr', 'model_check_incomplete',
11475 '-cache', '../prob_examples/public_examples/cache/', '-clear_cache', '-check_cache_stats', 0, 18,
11476 '-silent'], 'Setup test 2506').
11477 cli_testcase(2506, [cache], ['../prob_examples/public_examples/B/PerformanceTests/Cache/ModifiedMachines/Counter.mch',
11478 '-mc', 5, '-bf', '-expcterr', 'model_check_incomplete',
11479 '-cache', '../prob_examples/public_examples/cache/',
11480 '-csv', 'prob_cache_info', user_output, '-p', 'PROFILING_INFO', 'TRUE',
11481 '-check_cache_stats', 4, 4], 'Check that modifying constant invalidates cache for inc, but GetSquare can be reused').
11482 cli_testcase(2507, [cache], ['../prob_examples/public_examples/B/PerformanceTests/Cache/CounterMemo.mch',
11483 '-mc', 33, '-bf',
11484 '-cache', '../prob_examples/public_examples/cache/', '-clear_cache', '-check_cache_stats', 0, 92
11485 ], 'Setup test 2508').
11486 cli_testcase(2508, [cache,memoize], ['../prob_examples/public_examples/B/PerformanceTests/Cache/CounterMemo.mch',
11487 '-mc', 33, '-bf',
11488 '-cache', '../prob_examples/public_examples/cache/',
11489 '-check_cache_stats', 93, 0 % this is 93 rather than 92, as the last increment operation is disabled, but the empty list was stored and not counter in test 2507, but is re-used and counted here
11490 ], 'Check memoization works with cache').
11491 cli_testcase(2509, [ctl], ['../prob_examples/public_examples/XTL/markov/SimpleMarkov.P',
11492 '-mc', 100, '-nodead',
11493 '-pctlformulat', 'P={0.0} [F<=1 {finished}]',
11494 '-pctlformulat', 'P={0.25} [F<=2 {finished}]',
11495 '-pctlformulat', 'P={0.375} [F<=3 {finished}]',
11496 '-pctlformulat', 'P={1.0} [F {finished}]',
11497 '-pctlformulat', 'P={p} [F<=4 {finished}]',
11498 '-pctlformulat', 'P={1.0} [F not({unlocked})]',
11499 '-pctlformulat', 'P={0.5} [F<=1 not({unlocked})]',
11500 '-pctlformulat', 'P={0.0} [G not({finished})]',
11501 '-pctlformulat', 'P={0.75} [G<=2 not({finished})]',
11502 '-pctlformulat', 'P={0.25} [F<=2 {finished}] & P={0.75} [G<=2 not({finished})]',
11503 '-pctlformulat', 'P={0.25} [F<=2 {finished}] & P={0.625} [G<=3 not({finished})]'
11504 ], 'Simple PCTL tests').
11505 cli_testcase(2510, [operation_reuse,tickets], [ '../prob_examples/public_examples/B/Tickets/PGE_Ticket/ProB_test_v3.mch',
11506 '--model-check', '-bf', '-p', 'OPERATION_REUSE', 'TRUE',
11507 '-ltlformulat', '(X {card(v1)=1}) => not(X X {card(v1)=1})'
11508 ], 'Check no additional transitions'). % test failed with old PGE optimisation
11509 cli_testcase(2511, [xtl], ['-p', 'USE_SCOPE_DEFINITION', 'TRUE',
11510 '../prob_examples/public_examples/XTL/trafficLight.P',
11511 '--model-check', '-evalt', 'PROB_STATISTICS("states")=4'
11512 ], 'Check SCOPE definition in XTL mode using prob_pragma_string.').
11513 cli_testcase(2512, [xtl], ['-p', 'USE_SCOPE_DEFINITION', 'TRUE',
11514 '../prob_examples/public_examples/XTL/trafficLight.P',
11515 '-scope','STATE_PROPERTY("tl_peds") = "red"',
11516 '--model-check', '-evalt', 'PROB_STATISTICS("states")=6'
11517 ], 'Check SCOPE in XTL mode using CLI argument.').
11518 cli_testcase(2513, [b_test,operation_reuse], ['../prob_examples/public_examples/B/Tester/OpCalls/UseCopy.mch', '-t',
11519 '-p', 'OPERATION_REUSE', 'TRUE',
11520 '-read_write_matrix_csv', '../prob_examples/public_examples/B/Tester/OpCalls/UseCopy_rw_matrix.csv'
11521 ], 'test read info correctly computed when output parameters read by subsidiary operation call').
11522 cli_testcase(2514, [infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11523 '-evalt', 'bap= {i,j|i:NATURAL & #z.(z:INTEGER & j=(i,z))} & 2|->(2,3):bap',
11524 '-evalt', 'bap= {i,j|i:NATURAL & #z.(z:INTEGER & j=(i,z))} & not(bap:FIN(bap))',
11525 '-evalt', '{n| #x.(x<:(BOOL*BOOL*BOOL) & card(x)=n)} = r & r:FIN(r)',
11526 '-evalf', '{n| #x.(x<:(BOOL*BOOL*BOOL) & card(x)=n)} = r & not(r:FIN(r))',
11527 '-evalt', '{i,n| #x.(x<:(INTEGER*INTEGER) & x[{i}]=n)} = r & not(r:FIN(r))'
11528 ], 'test detection of infinite closures with exists in body').
11529 cli_testcase(2515, [infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11530 '-evalt', 'p=BOOL*INTEGER & res = p[{TRUE}]',
11531 '-evalt', 'p=BOOL*NATURAL & res = p[{TRUE}] & NATURAL <: res',
11532 '-evalt', 'p={2,3}*NATURAL & res = p[{3}] & NATURAL <: res',
11533 '-evalt', 'p={2,4}*NATURAL & res = p[{3}] & 0..100 /\\ res = {}'
11534 ], 'test image of infinite cartesian product').
11535 cli_testcase(2516, [infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'SYMBOLIC', 'TRUE',
11536 '-evalt', 'res = {v|#w.(w:1..10 & v = v+w-2)}', % should be kept symbolic
11537 '-evalt', 'res = {v|#w.(w:1..10 & v = w+w)} & card(res)=10', % should be expanded
11538 '-evalt', 'res = {v|#w.(w:1..10 & v = w+w)} & res2 = {v|#w.(w:res & v = w+w)} & card(res2)=10',
11539 '-evalt', 'r = FORCE((1..10)*(2..11)) & res = {v|#(x,y).((x,y):r & v = x+y)} & card(res)=19',
11540 '-evalt', 'r = FORCE((1..10)*(2..11)) & res = {v|#(x).((x,11):r & v = x+x)} & card(res)=10'
11541 ], 'test definitely_expand in SYMBOLIC mode').
11542 cli_testcase(2517, [tickets, infinite],['../prob_examples/public_examples/B/Tickets/Hansen13/VirtualTimeout.mch', '-init', '-mc', 100, '-strict', '-expcterr', 'invariant_violation' % when merging invariants (enable_merge_invariants) the 1=2 is moved to front
11543 ],'Check virtual time-out in invariant handled.'). % see test 1290
11544 cli_testcase(2518, [cbc,random],['../prob_examples/public_examples/B/Puzzles/PeaceableQueens/JustQueens_8_8.mch', '-init',
11545 '-p', 'RANDOMISE_ENUMERATION_ORDER', 'TRUE', '-p', 'CLPFD_LABELING', 'occurrence', '-p', 'TIME_OUT', '20000'
11546 ],'Check new labeling preference.').
11547 cli_testcase(2519, [clingo], [
11548 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11549 '-evalt', ':clingo-double-check !x.(x:1..10 => x<11)',
11550 '-evalf', ':clingo-double-check !x.(x:1..20 => x<19)',
11551 '-evalf', ':clingo-double-check x:1..10 & x>15',
11552 '-evalt', ':clingo-double-check x:1..10 & x>5',
11553 '-evalt', ':clingo-double-check !x.(x:1..10 & x>15 => 1=2)',
11554 '-evalt', ':clingo-double-check x <: BOOL & card(x)=y',
11555 '-evalf', ':clingo-double-check x <: BOOL & card(x)=y & y > 2',
11556 '-evalt', ':clingo-double-check x <: BOOL & card(x)=y & y > 1',
11557 '-evalt', ':clingo-double-check x <: BOOL & card(x)=y & y < 2',
11558 '-evalt', ':clingo-double-check x <: 4..7 & y:x',
11559 '-evalt', ':clingo-double-check x <<: 4..7 & y:x',
11560 '-evalt', ':clingo-double-check x : POW(4..7) & y:x',
11561 '-evalt', ':clingo-double-check x : 5..10 & y = x*x',
11562 '-evalt', ':clingo-double-check {x,y,z} <: 5..10 & x+y+z >27',
11563 '-evalf', ':clingo-double-check {x,y,z} <: 5..10 & x+y+z >27 & x < y & y < z',
11564 '-evalt', ':clingo-double-check x:5..10 & y=(x,x)',
11565 '-evalt', ':clingo-double-check x:5..10 & y=(x,TRUE)',
11566 '-evalt', ':clingo-double-check pq = {22,33}',
11567 '-evalt', ':clingo-double-check pq = 22..33',
11568 '-evalt', ':clingo-double-check pq = 22..33 /\\ {22,33}',
11569 '-evalt', ':clingo-double-check pq = 20..22 \\/ {22,33}',
11570 '-evalt', ':clingo-double-check pq = {y} & y:12..24',
11571 '-evalt', ':clingo-double-check pq = 20..22 \\/ {y} & y:5..6',
11572 '-evalf', ':clingo-double-check 22..33 = 11..x & x:9..12',
11573 '-evalt', ':clingo-double-check 122..33 = 11..x & x:9..12',
11574 '-evalt', ':clingo x:10..15 & y:9..11 & x..y = 3..2',
11575 '-evalt', ':clingo x:10..15 & y:9..11 & x..y = {}',
11576 '-evalf', ':clingo-double-check 3 : {0,1}', % Kodkod used to wrongly find solution here
11577 '-evalf', ':clingo-double-check 5 : {1,2,3}', % ditto
11578 '-evalt', ':clingo-double-check 2000 + x = y & 3000 + y : {10000,10001}', % ditto
11579 '-evalf', ':clingo-double-check x:1..10 & !i.(i:1..x => y<i) & y:1..10',
11580 '-evalt', ':clingo-double-check x:1..10 & !i.(i:1..x => y<i) & y:0..10',
11581 '-evalt', ':clingo-double-check s<: 0..5 & s <: 3..7 & x:s',
11582 '-evalt', ':clingo-double-check s<: 0..2 & s <: 3..7', % empty set is solution
11583 '-evalt', ':clingo-double-check x : (5..10)*(5..10)',
11584 '-evalt', ':clingo-double-check x : (5..10)*(5..10)*(6..10)',
11585 '-evalt', ':clingo-double-check x : (5..10)*BOOL*(6..10)',
11586 '-evalt', ':clingo-double-check x <: (5..10)*(6..10) & y:x',
11587 '-evalt', ':clingo-double-check (x*y) = (1..2)*(3..z) & z:6..7',
11588 '-evalt', ':clingo-double-check (x*y) = (1..2)*(3..z) & z:1..7 & x=1..3',
11589 '-evalt', ':clingo-double-check f : 4..6 --> 13..14 & f(4)=f(6)',
11590 '-evalf', ':clingo-double-check x : 4..6 --> 13..14 & y:dom(x) & y:ran(x)',
11591 '-evalt', ':clingo-double-check x : 4..15 --> 13..14 & y:dom(x) & y:ran(x)',
11592 '-evalt', ':clingo-double-check x : 4..15 --> 13..14 & y=x[1..3]',
11593 '-evalt', ':clingo-double-check x : 4..15 --> 13..14 & y:x[1..5]',
11594 '-evalt', ':clingo-double-check f: 11..12 --> 30..32 & y = f(11)',
11595 '-evalt', ':clingo-double-check f: 11..12 --> 30..32 & y = f(11) & z:y..f(12)',
11596 '-evalf', ':clingo-double-check f: 11..12 --> 30..3 & y=f(11)',
11597 '-evalt', ':clingo-double-check x:(1..2)+->(6..8) & 1:dom(x) & x(1)=6',
11598 % '-evalt', ':clingo-double-check x:(1..2)+->(6..8) & y = x(1)' % NOT WD: leads to unexpected solutions
11599 '-evalt', ':clingo-double-check x<:1..3 & !y.(y:0..3 & x*(1..2)=(1..2)*(1..y) => y=2)',
11600 '-evalf', ':clingo-double-check x<:1..3 & card(x)<1 & !y.(y:0..3 & x*(1..2)=(1..2)*(1..y) => y=2)',
11601 '-evalt', ':clingo-double-check x="a"',
11602 '-evalt', ':clingo-double-check x:{"a"}',
11603 '-evalt', ':clingo-double-check x : {"a","b"}',
11604 '-evalt', ':clingo-double-check x : POW1( {"a","b"})',
11605 '-evalt', ':clingo-double-check f:1..n --> BOOL & n=3 & f(1)=TRUE & !i.(i:2..n => f(i) /= f(i-1))',
11606 '-evalt', ':clingo-double-check max({x,1}) = 7 & x:0..8',
11607 '-evalt', ':clingo-double-check max({x,1})+max({x,4}) = 7 & x:0..8',
11608 '-evalt', ':clingo-double-check x = IF y>1 THEN 0 ELSE 1 END & x:0..1 & y:0..3',
11609 '-evalt', ':clingo-double-check x = IF y>1 THEN {0} ELSE {1} END & x<:0..1 & y:0..3',
11610 '-evalt', ':clingo-double-check x: 5..6 <-> 7..8 & xi = x~ & x/={}',
11611 '-evalt', ':clingo-double-check r = {(11,22),(15,30)} & x:dom(r) & 2*x:ran(r)',
11612 '-evalt', ':clingo-double-check x:3..3 & y:x/2..x',
11613 '-evalt', ':clingo-double-check x: 11..13 <-> 21..22 & f:(11..13)*(21..22) --> BOOL & card({e|e:x & f(e)=TRUE})=3 & card(x)=4',
11614 '-evalt', ':clingo-double-check r = {1|->2, 2|->3, 3|->4} & s<:(1..4)*(1..4) & s=iterate(r,2)',
11615 '-evalt', ':clingo-double-check r = {1|->2, 2|->3, 3|->4} & i:1..3 & s=iterate(r,i) & 1|->4:s',
11616 '-evalf', ':clingo-double-check x<:(11..12)*(33..44) & closure1(x) = c & 11|->44:c & card(x)=2 & 11|->44 /: x',
11617 '-evalt', ':clingo-double-check x<:(11..12)*(12..13) & closure1(x) = c & 11|->13:c & card(x)=2 & 11|->13 /: x',
11618 % x : seq(6 .. 8) & x(1) = 6 & dom(x) = 1 .. 2 % bounds analysis does not work yet
11619 '-evalt', ':clingo-double-check x /\\ 1..3 = {2} & x \\/ 1..3 = 1..4',
11620 '-evalt', ':clingo-double-check x - {11,13} = {10,12}',
11621 '-evalt', ':clingo-double-check r<: (1..2)*(5..6) & r[1..1] = {} & r/={}',
11622 '-evalt', ':clingo-double-check r:11..13 <-> 11..13 & x: {11,12} <<| r',
11623 '-evalt', ':clingo-double-check r1 : (11..12)<->(12..14) & r2 : (13..15)<->(20..21) & x|->y : (r1;r2)',
11624 '-evalt', ':clingo-double-check x = [0,1,2,3,4] & y:dom(x) & x(y)>3',
11625 '-evalt', ':clingo-double-check y<:1..10 & !x.(x:1..2 => (y={x} or y={x+1}))',
11626 '-evalt', ':clingo-double-check y<:1..10 & !x.(x:1..2 => (y={x} or y={2}))', % check filtering inside !
11627 '-evalt', ':clingo-double-check f:1..2<->BOOL & !x.(x:1..2 => f:1..x +-> BOOL)',
11628 '-evalt', ':clingo-double-check f:1..2 <<-> BOOL & !x.(x:1..2 => (1..x<|f):1..x +-> BOOL)',
11629 '-evalt', ':clingo-double-check f:1..10 +-> 1..10 & !(x,y).(x:1..10 & y:1..10 & x>y => (y:dom(f) & f(x)>f(y)))',
11630 '-evalt', ':clingo-double-check X=1..12 & a\\/b = X & a/\\b = {}',
11631 '-evalt', ':clingo-double-check X= 1..5 & X = a \\/ {5}',
11632 '-evalt', ':clingo-double-check X= 1..5 & X = a \\/ b'
11633 ],'Clingo tests which require bounds analysis').
11634 cli_testcase(2520, [clingo], [
11635 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11636 '../prob_examples/public_examples/B/B2ASP_Clingo/JustQueens_8_9.mch', % takes very long with other backends
11637 '../prob_examples/public_examples/B/B2ASP_Clingo/NQueensBig.mch',
11638 '../prob_examples/public_examples/B/B2ASP_Clingo/IceCream_Clingo.mch',
11639 '../prob_examples/public_examples/B/B2ASP_Clingo/CrewAllocationConstants.mch',
11640 '../prob_examples/public_examples/B/B2ASP_Clingo/DominatingSet_BV_Middle.mch',
11641 '../prob_examples/public_examples/B/B2ASP_Clingo/flat200-90.mch',
11642 '../prob_examples/public_examples/B/B2ASP_Clingo/HardGraph_Nr5.mch',
11643 '../prob_examples/public_examples/B/Puzzles/Queens/NBishopsSets_v2_clingo.mch',
11644 '../prob_examples/public_examples/B/Puzzles/Queens/Guyomard_Queens8_v2.mch',
11645 '../prob_examples/public_examples/B/B2SAT/crowded/CrowdedChessBoard4_clingo.mch',
11646 '-init', '-properties',
11647 '-p', 'SOLVER_FOR_PROPERTIES', 'clingo'],'Check clingo on complex constraints.').
11648 cli_testcase(2521, [ltl,tickets,safety], [
11649 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11650 '../prob_examples/public_examples/B/LTL/test_anim_prob/M0_i.imp',
11651 '-ltlformulaf', 'G( not( calls(M0_i.move_a) & F( {status=e1}) ) )',
11652 '-ltlformulaf', 'G( not( calls(M0_i.move_a) & XX( calls(M0_i.move_l) & XX calls(M0_i.stop)) ) )',
11653 '-ltlformulaf', 'G( not( calls(M0_i.move_a) & F( calls(M0_i.move_l) & F calls(M0_i.stop)) ) )',
11654 '-ltlformulaf', 'G( not( calls(M0_i.move_a) & X ([update_status] & X( calls(M0_i.move_l) ) ) ) )',
11655 '-ltlformulaf', 'G( not( calls(M0_i.move_a) & X ([update_status] & X( calls(M0_i.move_l) & X([update_status] & X calls(M0_i.stop)) ) ) ) )'
11656 ],'Check new calls operator and safet_mc bug fixed.').
11657 cli_testcase(2522, [ltl,tickets,safety], [
11658 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11659 '../prob_examples/public_examples/EventBPrologPackages/Tickets/EventTimeout/BDISemanticsRoboticCleaning2_mch.eventb',
11660 '-animate', 5, '-animate_stats'], 'Check no exception due to inf_overflow').
11661 % in basic_type_list_cardinality in exists_should_be_lifted
11662 cli_testcase(2523, [ltl,tickets], [
11663 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11664 '../prob_examples/public_examples/B/LTL/Tests/Simple.mch',
11665 '-animate_until_ltl_steps', 'F XXXX [end]', 7], 'Check new feature works').
11666 cli_testcase(2524, [b_test,tickets,imp,refinement], [
11667 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11668 '../prob_examples/public_examples/B/Tester/Includes/Renaming/MC_i.imp',
11669 '-assertions', '-model_check', '-nodead'], 'Check multiple SEES with prefix works').
11670 cli_testcase(2525, [b_test,tickets], [
11671 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11672 '../prob_examples/public_examples/B/Tester/Includes/IncludesSeesClash/M3.mch',
11673 '-assertions', '-model_check', '-nodead'], 'Check multiple SEES with prefix works').
11674 cli_testcase(2526,[tickets,json_trace_replay],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11675 '../prob_examples/public_examples/B/Tester/NonDetAssignments.mch',
11676 '-trace_replay', 'json', '../prob_examples/public_examples/B/Tester/NonDetAssignments.prob2trace', '-mc', 100
11677 ], 'Check becomes_such with more than two variables works').
11678 cli_testcase(2527,[b_test],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11679 '../prob_examples/public_examples/B/Tester/LOCAL_OPERATIONS/CounterLocalOperation.mch', '-mc', 52, '-nodead',
11680 '-cc', 52, 51
11681 ], 'Check LOCAL_OPERATIONS work by default').
11682 cli_testcase(2528, [cbc,forall], [
11683 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11684 '-evalt', '!x.((x|->"1.0"):S => x=1000) & S = {y|->"1.0", 2000 |-> "2.0"}',
11685 '-evalt', '!x.((x|->1.0):S => x=1000) & S = {y|->1.0, 2000 |-> 2.0}',
11686 '-evalt', '!(x,y).(y:S & x:S & x/=y => y+x=10) & S = {v,w}',
11687 '-evalf', '!(x,y).(y:S & x:S & x/=y => y-x=1) & S = {v,w} & v:100..110 & v/=w',
11688 '-evalt', '!(x,y).(y:S & x:S & x<y => y-x=10) & S = {v,w} & v:100..110 & v>w',
11689 '-evalt', '!(x,y).(y:S & x:S & x<y => y-x=10) & S = {v,w} & v:100..110 & v<w', % failed before
11690 '-evalt', '!(x,y,z).(x|->y : S & y|->z : S => x|->z : S) & S = {11|->22, 22|->33, v|->w}' % ditto
11691 ], 'Check forall set membership optimisation').
11692 cli_testcase(2529,[tickets,json_trace_replay,while],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11693 '../prob_examples/public_examples/B/Tester/Includes/WhileWithRenaming/Main.mch',
11694 '-trace_replay', 'json', '../prob_examples/public_examples/B/Tester/Includes/WhileWithRenaming/Main.prob2trace'
11695 ], 'Check variable clash of operation parameters and local vars with sees renaming solved').
11696 cli_testcase(2530, [b_test,union], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11697 '-evalt', 'UNION(x).(x=0|{22}) = {22}',
11698 '-evalt', 'UNION(x).(x=0&v>2|{22}) = r & v=3 & card(r)>0',
11699 '-evalt', 'UNION(x).(x=0&v>2|{22}) = r & v=1 & card(r)<1',
11700 '-evalt', 'UNION(x,y).(x=10 & y:11..12|{x+y}) = {21,22}',
11701 '-evalt', 'UNION(x,y).(x=2**10 & y:1..2|{x*y}) = {1024, 2048}',
11702 '-evalt', 'UNION(x,y).(y:9..10 & x=2**y|{y|->x}) = {(9|->512),(10|->1024)}',
11703 '-evalt', 'UNION(x,y).(y:9..10 & x=2*y & y<x|{y|->x}) = {(9|->18),(10|->20)}',
11704 '-evalt', 'UNION(x,y,z).(y:9..10 & x=2**y & z=x+x|{y|->x|->z}) = {(9|->512|->1024),(10|->1024|->2048)}'
11705 ], 'Test quantified UNION rules').
11706 cli_testcase(2531,[tickets,json_trace_replay,while],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11707 '../prob_examples/public_examples/B/PerformanceTests/AVL_Index_Test.mch', '--model-check'
11708 ], 'Check performance of avl_fetch_with_flexible_index'). % operation Count_xw times out with older ProB not using this feature
11709 cli_testcase(2532, [wd,wd_prover,external,strings], [
11710 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11711 '-evalt', ':prove f=%x.(x:STRING|STRING_SPLIT(x,".")) => ran(f)<:seq1(STRING)',
11712 '-evalu', ':prove f=%x.(x:STRING|STRING_CHARS(x)) => ran(f)<:seq1(STRING)',
11713 '-evalt', ':prove x1="a" & f=%x.(x:STRING & x /= "" | STRING_CHARS(x)) => ran(f)<:seq1(STRING)',
11714 '-evalu', ':prove x="" & f=%x.(x:STRING & x /= "a" | STRING_CHARS(x)) => ran(f)<:seq1(STRING)',
11715 '-evalt', ':prove x="a" & f=%x.(x:STRING & x /= "" | STRING_CHARS(x)) => ran(f)<:seq1(STRING)',
11716 '-evalu', ':prove chars = %(s).(s:STRING|STRING_CHARS(s)) & x /= "a" => chars(x) : seq1(STRING)',
11717 '-evalt', ':prove chars = %(s).(s:STRING|STRING_CHARS(s)) & x /= "" => chars(x) : seq1(STRING)',
11718 '-evalt', ':prove chars = %(s).(s:STRING & s/=""|STRING_CHARS(s)) & x /= "" => chars(x) : seq1(STRING)',
11719 '-evalu', ':prove x:ran(f) & f:STRING<->STRING & y:dom(f) => x:f[{y}]',
11720 '-evalu', ':prove x:ran(f) & f:STRING<->STRING & y:dom(f) => x:f[{y,v}]',
11721 '-evalu', ':prove x:ran(f) & f:STRING<->STRING & S<:dom(f) => x:f[S]',
11722 '-evalt', ':prove x:ran(f) & f:STRING<->STRING & dom(f)<:S => x:f[S]',
11723 '-evalt', ':prove x:dom(f) & f:STRING <-> STRING => f[{x}] /= {}',
11724 '-evalt', ':prove tr1:BOOL & f: {tr1,tr2} --> BOOL => tr1:dom(f)',
11725 '-evalt', ':prove tr1:BOOL & f: {tr1|->tr2,tr2|->tr1}[BOOL] --> BOOL => tr1:dom(f)',
11726 %'-evalt', ':prove tr1:BOOL & f: {tr1|->tr2,tr2|->tr1}[{tr2}] --> BOOL => tr1:dom(f)', %TODO, see test 2018
11727 '-evalt', ':prove tr1:BOOL & f: {1|->2,2|->1}[{2}] --> BOOL => 1:dom(f)',
11728 '-evalu', ':prove tr1:BOOL & f: {FALSE|->TRUE,TRUE|->FALSE}[{FALSE}] --> BOOL => FALSE:dom(f)',
11729 '-evalt', ':prove tr1:BOOL & f: {FALSE|->TRUE,TRUE|->FALSE}[{TRUE}] --> BOOL => FALSE:dom(f)',
11730 '-evalt', ':prove tr1:BOOL & f: {FALSE|->TRUE,TRUE|->FALSE}~[{TRUE}] --> BOOL => FALSE:dom(f)',
11731 '-evalu', ':prove f<:STRING => IF x:g THEN g ELSE f END /= {}',
11732 '-evalt', ':prove f:POW1(STRING) => IF x:g THEN g ELSE f END /= {}',
11733 '-evalt', ':prove f:POW1(STRING) => IF g={} THEN f ELSE g END /= {}',
11734 '-evalt', ':wd x<:BOOL & IF card(x)=1 THEN CHOOSE(x) ELSE TRUE END = y ',
11735 '-evalt', ':prove s<:BOOL & f : BOOL --> POW(s) & x:(f(TRUE)) => x:s',
11736 '-evalt', ':prove s<:BOOL & f : BOOL --> s & x:ran(f) => x:s',
11737 '-evalt', ':prove s<:BOOL & f : BOOL --> POW(INTEGER*s) & x:ran(f(TRUE)) => x:s',
11738 '-evalt', ':prove s2 = dom({x,y|x:s1 & x:INTEGER & x>y}) => s2<:s1',
11739 '-evalu', ':prove s2 = dom({x,y|x:s1 & y:1..10 & x>y}) => s1<:s2',
11740 '-evalt', ':prove s2 = {x|x:s1 & x:INTEGER & x>n} => s2<:s1',
11741 '-evalu', ':prove s2 = {x|x:s1 & x:INTEGER & x>n} => s1<:s2',
11742 '-evalt', ':prove y:INTEGER & s2 = {x|x:s1 & x>n} & y:s2 => y:s1',
11743 '-evalt', ':prove (s1) <:STRING & s2 = dom({x,y|x:s1 & y:STRING & x|->y:s3}) & z:s2 => z:s1',
11744 '-evalt', ':prove (s1) <:STRING & s2 = dom(dom({x,y,z|x:s1 & y:STRING & x|->y:s3 & z|->y:s3})) => s2 <: s1',
11745 '-evalt', ':prove s2 = {x| x:POW(s3) & x /= {""}} => s2 <: POW(s3)',
11746 '-evalt', ':prove s2 = {x| x<:(s3) & x /= {""}} => s2 <: POW(s3)',
11747 '-evalt', ':prove x<:s & s<:STRING => CHOOSE(x):s',
11748 '-evalt', ':prove rl = {x,y| x:dom(f) & y:f(x)} & rl : INTEGER <-> INTEGER => max(rl~[{v}]):dom(f)',
11749 '-evalt', ':prove rl = {x,y| x:dom(f) & y:f(x)} & rl : INTEGER <-> INTEGER & cand = rl~[{v}] => CHOOSE(cand):dom(f)',
11750 '-evalt', ':prove x = {1,2,3,4,5} & x<:s => CHOOSE(x):s',
11751 '-evalt', ':prove x = {1,2,4,6} & x<:s => CHOOSE(x):s',
11752 '-evalt', ':prove x = {1,2,4,6} & x<:s & x2<: x => min(x2):s',
11753 '-evalt', ':prove x:INTEGER & x : s1 \\/ s2 => IF x:s1 THEN s1 ELSE s2 END /= {}',
11754 '-evalt', ':prove x : A /\\ B & x:STRING => IF x:A THEN {1} ELSE {} END /= {}',
11755 '-evalt', ':prove x>10 & f={y,v|y<x & not(x>10) & v=y} => ran(f)<:{}', % Note: ={} does not work yet
11756 '-evalt', ':prove ims:BOOL<->BOOL & numero : dom(ims) \\/ dom(no_ims) => numero: dom(IF numero : dom(ims) THEN ims ELSE no_ims END )',
11757 '-evalt', ':prove ims:BOOL<->BOOL & numero : ran(ims) \\/ ran(no_ims) => numero: ran(IF numero : ran(ims) THEN ims ELSE no_ims END )',
11758 '-evalt', ':prove ABS(x) >=0',
11759 '-evalt', ':prove x:INTEGER => LCM(x,y) >=0',
11760 %'-evalt', ':prove x>1 => x+SIGN(x) >=0',
11761 '-evalt', ':prove SIGN(x) >= -1'
11762 ], 'check WD proof for external functions and function application').
11763 cli_testcase(2533, [xtl,json_trace_replay], ['../prob_examples/public_examples/XTL/tests/trace_replay/simple_trace_test_before.P',
11764 '-trace_replay', 'json', '../prob_examples/public_examples/XTL/tests/trace_replay/test_params_with_exec_by_pred.prob2trace'
11765 ], 'Check JSON trace replay works in XTL mode with parameters for unmodified state representation').
11766 cli_testcase(2534, [xtl,json_trace_replay], ['../prob_examples/public_examples/XTL/tests/trace_replay/simple_trace_test_after.P',
11767 '-trace_replay', 'json', '../prob_examples/public_examples/XTL/tests/trace_replay/test_params_with_exec_by_pred.prob2trace',
11768 '-expcterr', 'trace_replay', '-expcterr', 'replay_json_trace_file', % imperfect replay
11769 '-evalt', 'size(HISTORY)=17'
11770 ], 'Check JSON trace replay works in XTL mode with parameters (with and without custom names) for modified state representation').
11771 cli_testcase(2535, [csp_test],
11772 ['../prob_examples/public_examples/CSP/Tickets/Frappier1/alloc-ressource.csp',
11773 '-t', '-mc', 8700, '-cc', 8579, 30441
11774 ], 'Check agent_call inside set expression used in diff').
11775 cli_testcase(2536, [cbc_refinement,refinement],
11776 ['../prob_examples/public_examples/EventBPrologPackages/Tickets/cbc_inv_ticket/isqrt1_vorlesung25_mch.eventb',
11777 '-cbc_refinement', '-expcterr', cbc_refinement
11778 ], 'Check cbc refinement check works with decomposed guard').
11779 cli_testcase(2537, [xtl,json_trace_replay,disprover],
11780 ['../prob_examples/public_examples/ProofObligations/Abrial_Bridge/m0_island_bridge_mch.probpo',
11781 '-trace_replay', 'json',
11782 '../prob_examples/public_examples/ProofObligations/Abrial_Bridge/m0_island_bridge_mch.prob2trace'
11783 ], 'Check replay of a simple proof').
11784 cli_testcase(2538, [wd,wd_prover], [
11785 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11786 '-evalt', ':prove {hD} \\/ {hU} <: HSTATE & HSTATE <: NATURAL => BOOL * {hD} : BOOL +-> HSTATE',
11787 '-evalu', ':prove x<:INTEGER => dom(BOOL*x) = BOOL', % x could be empty
11788 '-evalu', ':prove x<:INTEGER => ran(x*BOOL) = BOOL', % ditto
11789 '-evalt', ':prove x<:INTEGER => dom((1..3)*x) <: 1..3',
11790 '-evalt', ':prove f:BOOL +-> BOOL & dom(f)=BOOL => f:BOOL --> BOOL',
11791 '-evalt', ':prove {hD} \\/ {hU} <: HSTATE & HSTATE <: NATURAL => BOOL * {hD} : BOOL --> HSTATE',
11792 '-evalt', ':prove f: BOOL +-> 1..2 & g:3..4 -->BOOL => (1..2) /\\ dom(g) = {}',
11793 '-evalt', ':prove f: BOOL +-> 1..2 & g:3..4 +->BOOL => (f;g)={}',
11794 '-evalu', ':prove f: BOOL +-> 1..2 & g:a..4 +->BOOL & a>=2 => (f;g)={}',
11795 '-evalt', ':prove f: BOOL +-> 1..2 & g:a..4 +->BOOL & a>2 => (f;g)={}',
11796 '-evalt', ':prove x-1<0 => x-1-1<0',
11797 '-evalt', ':prove 1+x>=0 => (x+1)+1>=0',
11798 '-evalt', ':prove x<:BOOL & x=y & v=z => x \\/ v = z \\/ y', % equality of union
11799 '-evalt', ':prove x:NAT & x=y & v=z => x + v = z + y',
11800 '-evalt', ':prove x={} & y={} & z={} & x<:BOOL & s={x,y,z} => union(s) = {}', % SIMP_KUNION_EQUAL_EMPTY
11801 '-evalt', ':prove y>0 & x:NATURAL & x+1>0 & not(x+1+1>0) => bfalse'
11802 ], 'Check wd prover for Cartesian products as functions and a few more rules').
11803 cli_testcase(2539, [xtl,json_trace_replay,disprover],
11804 ['../prob_examples/public_examples/ProofObligations/SequentProver/TestSequentProverRules_ctx.probpo',
11805 '-trace_replay', 'json',
11806 '../prob_examples/public_examples/ProofObligations/SequentProver/TestSequentProverRules_ctx.prob2trace'
11807 ], 'Check replay of a simple proof').
11808 cli_testcase(2540, [cbc,bmc,tla],
11809 ['../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/TLA_Examples/Einstein_tla2b.mch',
11810 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11811 '-bmc', 1, '-expcterr', 'invariant_violation',
11812 '-sptxt', '../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/TLA_Examples/prob_bmc_counterexample_test2093.mch'], 'check TLA model with additional LET can be solved with bmc'). % variation of test 2093
11813 cli_testcase(2541, [b_test],
11814 ['../prob_examples/public_examples/B/FeatureChecks/DEFINITIONS/TestDefDuplication.mch',
11815 '-init'],'check HYGIENIC_DEFINITIONS performance').
11816 cli_testcase(2542,[alloy],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11817 '../prob_examples/public_examples/Alloy/alloy_models/thesis_schmidt/railway_var_capture.als',
11818 '-cbc_sequence', check0,
11819 '-expcterr', 'cbc_sequence_no_solution_found'], 'Test variable capture problem solved with hygienic macros').
11820 cli_testcase(2543, [tickets], [
11821 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11822 '-evalt', 'y=5 & LET x BE x=y-1 IN #y.(y:NATURAL1 & y<x) END'],
11823 'Test variable capture problem in LET cleanup solved').
11824 cli_testcase(2544, [b_test],
11825 ['../prob_examples/public_examples/B/FeatureChecks/DEFINITIONS/HygMacroTest.mch',
11826 '-p', 'HYGIENIC_DEFINITIONS','TRUE',
11827 '-init'],'Test variable capture problem in LET cleanup solved'). % see test 178
11828 cli_testcase(2545, [wd,wd_prover,external,strings], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11829 'stdlib/LibraryProB.def',
11830 '-evalt', ':prove ASSERT_TRUE(bool(x>0),"err") => x>0',
11831 '-evalt', ':wd x:3..5 & ASSERT_TRUE(bool(x>0),"err") & res = 1/x',
11832 '-evalt', ':wd x:3..5 & ASSERT_EXPR(bool(x>0),"err", 1/x)=res'
11833 ],'Test WD Prover for ASSERT_TRUE').
11834 cli_testcase(2546, [cache], ['../prob_examples/public_examples/B/FeatureChecks/Cache/SEES/M_Main.mch',
11835 '-execute_all',
11836 '-evalt', 'sum=66',
11837 '-ccache', '../prob_examples/public_examples/B/FeatureChecks/Cache/SEES/cache', '-clear_cache',
11838 '-cache_stats', '-check_cache_stats', 0, 3], 'Reset cache and check no reuse happens').
11839 cli_testcase(2547, [cache], ['../prob_examples/public_examples/B/FeatureChecks/Cache/SEES/M_Main2.mch',
11840 '-execute_all', '-clear_cache_for', 'M_Main2',
11841 '-evalt', 'sum=66',
11842 '-evalt', 'msum2=66',
11843 '-ccache', '../prob_examples/public_examples/B/FeatureChecks/Cache/SEES/cache',
11844 '-cache_stats', '-check_cache_stats', 2, 1], 'Check reuse from test 2546 for other main machine').
11845 cli_testcase(2548, [cache], ['../prob_examples/public_examples/B/FeatureChecks/Cache/SEES/M_Main3.mch',
11846 '-execute_all', '-clear_cache_for', 'M_Main3',
11847 '-evalt', 'sum=66',
11848 '-evalt', 'msum3=66',
11849 '-ccache', '../prob_examples/public_examples/B/FeatureChecks/Cache/SEES/cache',
11850 '-cache_stats', '-check_cache_stats', 2, 1], 'Check reuse from test 2547 for other main machine using INCLUDES rather than SEES').
11851 cli_testcase(2549, [sequences,tickets], ['../prob_examples/public_examples/B/Tickets/TreeSeqTicket/TreeSeqTicket_or1.mch',
11852 '../prob_examples/public_examples/B/Tickets/TreeSeqTicket/TreeSeqTicket_or.mch',
11853 '../prob_examples/public_examples/B/Tickets/TreeSeqTicket/TreeSeqTicket.mch',
11854 '-assertions'],
11855 'Check that reification of complex seq1 type does not lead to failure').
11856 cli_testcase(2550, [sequences,tickets], [
11857 '-evalt', 'x/: {[1,2]^[3] } & card(x)=1 & 1/:dom(x)',
11858 '-evalt', '{x} /<: {[1,2]^[3] } & card(x)=1 & 1/:dom(x)',
11859 '-evalt', '{x} /<<: {[1,2]^[3] } & card(x)=1 & 1/:dom(x)',
11860 '-evalt', 'x /= [1,2] & card(x)=1 & dom(x)<:2..3',
11861 '-evalt', '(id0 /: seq(BOOL)) & card(id0)<3',
11862 '-evalt', 'not(id0 : seq(BOOL)) & card(id0)<3', % not working yet
11863 '-evalt', '{x} \\/ { [1,2] } = {y,z} & card(y)=1 & dom(y)={2} & card(z)=2 ',
11864 '-evalt', '{x | x/: {[1,2]^[3] } & card(x)=1 & dom(x)={2} & ran(x)<:0..1} = {{2|->0}, {2|->1}}',
11865 '-evalt', 'x : seq({FALSE,TRUE}) & not(x : seq({TRUE}))'
11866 ],'Test seq(.) type inference does not lead to unsoundess due to tight_enumerate').
11867 cli_testcase(2551, [simb,ltl], ['../prob_examples/public_examples/B/SimB/RandomWalk.mch',
11868 '-mc-simulate','../prob_examples/public_examples/B/SimB/RandomWalk_simulation2.json', 100, 1001,
11869 '-simulate-until-time', 12000, '-simulate-until-ltl-ap', '{position>9}', '-simb-profile', '-silent'],
11870 'Check basic SimB Monte Carlo simulation').
11871 cli_testcase(2552, [xtl,ctl,ltl], ['../prob_examples/public_examples/XTL/trafficLight.P',
11872 '-p','USE_SCOPE_DEFINITION','FALSE',
11873 '-ltlformulaf','GF {tl_cars = green}',
11874 '-ltlformulat','((GF e(switch_tl_peds) => GF [switch_tl_peds])) => GF {tl_peds = green}',
11875 '-ctlformulat','EF {tl_cars = green}'
11876 ], 'Check LTL/CTL formulas containing Prolog terms as APs in XTL mode.').
11877 cli_testcase(2553, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11878 '../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/ABZ16_m4.eventb', '-init',
11879 '-p', 'TIME_OUT', '60000',
11880 '-evalf', ':z3-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_0.eval', %% Z3
11881 '-evalf', ':z3-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_1.eval' %% Z3
11882 ], 'Z3 for BMC constraints of ABZ16_m4'). % see test 2162 for cdclt version
11883 cli_testcase(2554, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE', '-p', 'TIME_OUT', '60000',
11884 '-evalt', ':cdclt id0 : POW(INTEGER * REAL) * INTEGER & id1 : INTEGER * BOOL & id2 : POW(INTEGER) * POW(INTEGER * POW(INTEGER * INTEGER)) & (({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(POW(POW(INTEGER * INTEGER))) & bfalse} /= {} & (iseq(NAT1) \\/ seq(NATURAL)) /: inter({LAMBDA_RESULT___|LAMBDA_RESULT___ : POW(POW(POW(INTEGER * INTEGER))) & bfalse})) or FDIV(MAXINT,MININT) * floor(51.72862577682177) > MAXINT ** 26 + (MININT - 1) or (MININT : 0 .. size([]) & [] \\|/ MININT : perm(INTEGER) & (NATURAL /= {} & NATURAL : FIN(NATURAL) & min(NATURAL) < prj2(id0))) <=> (prj1(id2) /= {} & prj1(id2) : FIN(prj1(id2)) & card(prj1(id2)) <= 1 & prj1(id1) < MU(prj1(id2))))' % originally in test 2105
11885 ], 'Some arbitrary constraints that should be solved by CDCL(T) with enum warnings').
11886 cli_testcase(2555, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE',
11887 '-p', 'TIME_OUT', '60000',
11888 '../prob_examples/public_examples/EventBPrologPackages/BinarySearch/binary_search_prob_mch.eventb', '-init',
11889 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_10.eval' % originally in test 2261
11890 ], 'Double check CDCL(T) solver for BMC constraints of a binary search model (with enum warning)').
11891 cli_testcase(2556, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE',
11892 '-p', 'TIME_OUT', '60000',
11893 '-p', 'maxNrOfInitialisations', '1',
11894 '-p', 'cdclt_use_idl_theory_solver', 'true', % TODO: the double-checks fail without this; meaning there is a bug in CDCLT!
11895 '../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/PM_M1_VOOR.eventb', '-init',
11896 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval', % test 2365
11897 '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval', % originally in test 2366
11898 '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval' % originally in test 2366
11899 ], 'CDCL(T) using the additional IDL solver for constraint with enum warnings').
11900 cli_testcase(2557, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11901 '-p', 'TIME_OUT', '60000',
11902 %'-evalf', ':z3-double-check ii=1 & aa:1..3 --> BOOL & !ii.(ii:2..3 => aa(ii)/=aa(ii-1)) & ran(aa)={FALSE}', % unknown
11903 %'-evalt', ':z3-double-check ii=1 & aa:1..3 --> BOOL & !ii.(ii:2..3 => aa(ii)/=aa(ii-1)) & ran(aa)={FALSE,TRUE}', % unknown
11904 %'-evalf', ':z3-double-check ii=1 & aa:1..3 --> BOOL & !ii.(ii:2..3 => aa(ii)/=aa(ii-1)) & ran(aa)={FALSE}', % unknown
11905 '-evalf', ':z3-double-check ii=1 & aa:1..3 --> BOOL & {ii|aa(ii)=TRUE} = dom(aa) & FALSE:ran(aa)',
11906 '-evalt', ':z3-double-check ii=1 & aa:1..3 --> BOOL & UNION(ii).(ii|->TRUE:aa |{ii}) = 1..3',
11907 '-evalf', ':z3-double-check ii=1 & aa:1..3 --> BOOL & UNION(ii).(ii|->TRUE:aa |{ii}) = 1..3 & FALSE:ran(aa)',
11908 '-evalt', ':z3-double-check ii=1 & aa:1..3 --> BOOL & LET ii BE ii=3 IN aa(ii)=TRUE & x=1..ii END & a(ii)=FALSE'
11909 % :z3 ii=1 & aa:1..3 --> BOOL & SIGMA(ii).(ii|->TRUE:aa|ii) = 6 % translation failed
11910 ], 'Check quantifier scoping for Z3'). % see 2176 for cdclt counterparts
11911 cli_testcase(2558, [infinite,records], [
11912 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11913 '-evalt', 'f = {x,y|x>2 & y>3 & y=4} & f /: FIN(f)',
11914 '-evalt', 'f = {x,y|x>2 & y>3 & y=3} & f : FIN(f)', % TODO: {x,y|x > 2 & y > x}
11915 '-evalt', 'f = {x,y|x>12 & y<3 & y=2} & f /: FIN(f)',
11916 '-evalt', 'f = {b,a|a:NATURAL1 & b:NATURAL & b=0} & f /: FIN(f)',
11917 '-evalt', 'f = {a,b|a:NATURAL1 & b:NATURAL & b=0} & f /: FIN(f)',
11918 '-evalt', 'f = {a,b|a:NATURAL1 & b:NATURAL1 & b=0} & f : FIN(f)',
11919 '-evalt', 'f = {a,b,c,d|a:NATURAL1 & (b:NATURAL & (c:NATURAL1 & (d:NATURAL & a=1)))} & f /: FIN(f)',
11920 '-evalt', 'f = {x,y|x>12 & y<3 & y<2 & x>20} & f /: FIN(f)',
11921 '-evalt', 'f = {x,y|x>12 & y<3 & y<2 & x>20 & x=21} & f /: FIN(f)',
11922 '-evalt', 'f = {x,y|x>12 & y<3 & y<2 & x=20 & x>20 } & f : FIN(f)',
11923 '-evalt', 'f = {x,y|x>12 & y<3 & y<2 & x>20 & y=1} & f /: FIN(f)',
11924 '-evalt', 'f = {x,y|x>12 & y<3 & y<2 & y<100 & x>20 & y=2} & f : FIN(f)',
11925 '-evalt', 'f = {x,y|x>12 & y<3 & y=2 & y<2 & x>20} & f : FIN(f)'
11926 ], 'check infinite equality closure detection improvements').
11927 cli_testcase(2559, [proz], [
11928 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11929 '../prob_examples/public_examples/Z/Tickets/Frank/failing.tex',
11930 '../prob_examples/public_examples/Z/Tickets/Frank/working.tex',
11931 '-mc', 10, '-nodead'], 'Test issues with rel operator solved').
11932 cli_testcase(2560, [wd], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11933 '-evalt', 'f = %(x).(x:pred | x) & not(f:FIN(f))',
11934 '-evalf', 'f = %(x).(x:succ | x) & f:FIN(f)',
11935 '-evalt', 'not(prj1(succ,INTEGER) : FIN(prj1(succ,INTEGER)))',
11936 '-evalt', ':prove x = {3,2,3,1} => x=1..3',
11937 '-evalt', ':prove x = {3,2,3,1} & n=3 => x=1..n',
11938 '-evalt', ':prove x=1..3 => x = {3,2,3,1}',
11939 '-evalt', ':prove x = {3,2,3,1} & n=3 => x=1..n',
11940 '-evalt', ':prove x = 1..n & n<1 => x = {}',
11941 '-evalt', ':prove x = 1..n & n>=1 => x /= {}',
11942 '-evalt', ':prove x<3 & i=2..10 => card(i \\/ i)>x',
11943 '-evalt', ':prove i=1..10 => [2,3,4][1..3] = 2..4',
11944 '-evalt', ':prove i=1..3 => [2,3,4][i] = 2..4',
11945 '-evalu', ':prove i=1..10 & succf = [2,3,4,5,6,7,8,9,10] => succf[1..10] = 2..11',
11946 '-evalt', ':prove i=1..10 & succf = [2,3,4,5,6,7,8,9,10,11] => succf[1..10] = 2..11' % TODO: succ[1..10] = 2..11 ?
11947 ], 'test detection of infinite closures with pred/succ').
11948 cli_testcase(2561, [cbc,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
11949 % '-evalt', 'F=%x.(x=10 or x<0|x+1) & F /: FIN(F)', % does not work yet
11950 '-evalt', 'F= %(x,y).(x=y+1 & y=x+1 | x+y) & F : FIN(F)', % this no longer works in SICStus 4.10, see SPRM-21541
11951 % ?- X #= Y+1, Y #= X+1. reports no in SICStus 4.7, 4.8, 4.9 detecting inconsistency; but not longer in 4.10
11952 '-evalt', 'card({x,z|x:{x+1,x+2} & z:INTEGER}) = 0', % also no longer works in 4.10;
11953 % ?- Y #= X+1, Y=X. reports no in SICStus 4.9, but X=Y, Y in inf .. sup in 4.10
11954 '-evalt', 'card({x,y,v|x:INTEGER & y:{y+1,y+2} & v=x}) = 0',
11955 '-evalt', 'card({x,y,v|x:INTEGER & y:{v+1,v+2} & v=y}) = 0',
11956 '-evalt', 'card({x,y|x:INTEGER & y=x+1 & x=y}) = 0'
11957 ], 'check improved infinite detection allowing not_equal works (originally part of test 2415)').
11958 cli_testcase(2562, [reals,external], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'REAL_SOLVER', precise_float_solver,
11959 '-evalt', 'x>10.0 & x<20.0',
11960 '-evalf', 'x > 10.0 & x < 10.0',
11961 '-evalt', 'RABS(x) = 10.0 & x < 0.0',
11962 '-evalt', '{x|x * x = 16.0 & x<2.0} = {-4.0}',
11963 '-evalt', 'x > 100.0 & y > 2.0*x & x+y <305.0',
11964 '-evalt', 'card({x| x+0.9 = 1.0 }) = 13',
11965 '-evalt', '{x| x+0.9 = 1.0 } = {0.09999999999999992,0.09999999999999994,0.09999999999999995,0.09999999999999996,0.09999999999999998,0.09999999999999999,0.1,0.10000000000000002,0.10000000000000003,0.10000000000000005,0.10000000000000006,0.10000000000000007,0.10000000000000009}',
11966 '-evalt', 'card({x| x+0.99 = 1.0 }) = 97',
11967 '-evalt', 'ceiling(x) > 22 & ceiling(x) < 24',
11968 '-evalt', 'floor(x) = 10 & ceiling(x) = 11',
11969 '-evalf', 'x > 11.0 & x < 12.0 & real(y) = x',
11970 '-evalt', 'x > 11.0 & x < 12.1 & real(y) = x',
11971 '-evalt', 'x >= 12.0 & (x >= 5.0 <=> y=TRUE) & (y=TRUE => x > 13.1) & x < 100.0',
11972 '-evalt', 'x > 11.0 & x< 12.0 & i=ROUND(x)',
11973 '-evalt', 'x > 11.0 & i=ROUND(x) & i=122',
11974 '-evalt', 'x >= 0.0 & x <= 0.1 & s = RSIN(x) & s < 0.03',
11975 '-evalt', 'RLOGe(x) = 1.0',
11976 '-evalt', 'RLOG(x,2.0) = v & x = 4.0', % not constraint propagation; just checking RLOG/2 works
11977 '-evalt', 'RMAX(x,2.0) = 2.0 & RMIN(x,2.0) = 1.0',
11978 '-evalt', 'x >= 1.0 & x <= 2.0 & y = 10.0 / x & y > 6.0',
11979 '-evalt', '{x|x >= 1.0 & x <= 2.0 & y = 10.0 / x} = r & y = 6.0 & card(r) = 1',
11980 '-evalt', 'RSIGN(x) = r & x>0.1 & (r=1.0 => x> 4.9 & x < 5.0)',
11981 '-evalt', 'max({y,2.0}) = 30.0',
11982 '-evalt', 'max({y,z,2.0}) = 3.0 & y>2.99 & z>y',
11983 '-evalt', 'min({y,22.0}) = 11.5',
11984 '-evalt', 'min({y,z,22.0}) = 3.0 & y<3.01 & z<y',
11985 '-evalt', 's:seq(REAL) & size(s)=10 & !i.(i:dom(s) => floor(s(i))=i) & SIGMA(i).(i:1..10|s(i)) = 60.1',
11986 '-evalf', 's:seq(REAL) & size(s)=10 & !i.(i:dom(s) => floor(s(i))=i) & SIGMA(i).(i:1..10|s(i)) = 54.0',
11987 %'-evalt', 's:seq(REAL) & size(s)=10 & !i.(i:dom(s) => floor(s(i))=i) & SIGMA(i).(i:1..10|s(i)) = 55.0',
11988 % used to crashes with 55.0 or 65.0; TODO: test with new beta release of SICStus 4.10.2, now times out
11989 '-evalf', 's:seq(REAL) & size(s)=4 & !i.(i:dom(s) => floor(s(i))=i) & PI(i).(i:dom(s)|s(i)) = 10.0',
11990 '-evalt', 's:seq(REAL) & size(s)=4 & !i.(i:dom(s) => floor(s(i))=i) & PI(i).(i:dom(s)|s(i)) = 24.0',
11991 '-evalt', 's:seq(REAL) & size(s)=4 & !i.(i:dom(s) => floor(s(i))=i) & PI(i).(i:dom(s)|s(i)) = 25.0',
11992 '-evalt', 'x1>=0.0 & x1 <= 10.0 & x2>=10.1 & x2 <= 20.0 & RABS(x1-x2) <= 0.1',
11993 '-evalt', 'x1>=0.0 & x1 <= 10.0 & x2>=10.1 & x2 <= 20.0 & (x1-x2)*(x1-x2) <= 0.01',
11994 '-evalt', 'x1>=0.0 & x1 <= 10.0 & x2>=10.1 & x2 <= 20.0 & (x1-x2)**2 <= 0.01',
11995 '-evalt', 'floor(z)=floor(x)+floor(y) & z<= 10.0 & x>=3.0 & floor(y) > floor(x) & z<x+y-1.5',
11996 '-evalf', 'floor(z)=floor(x)+floor(y) & z<= 10.0 & x>=3.0 & floor(y) > floor(x) & z>x*y',
11997 '-evalt', 'floor(z)=floor(x)+floor(y) & z<= 10.0 & x>=1.0 & floor(y) > floor(x) & z>x*y',
11998 '-evalf', 's1=60.0 & v1=10.0 & v2=5.0 & x2=72.0 & x>=0.0 & x<= 300.0 & (x<=s1 => t=x/v1) & (x>s1 => t=s1/v1+(x-s1)/v2) & t>7.5 & x < x2-5.0',
11999 '-evalt', 's1=60.0 & v1=10.0 & v2=5.0 & x2=72.0 & x>=0.0 & x<= 300.0 & (x<=s1 => t=x/v1) & (x>s1 => t=s1/v1+(x-s1)/v2) & t>7.0 & x < x2-5.0',
12000 '-evalt', 'x=2.93 & a= RNEXT(b) & b=10.0 & la = RLOG(x,a) & lb = RLOG(x,b) & a>b & la >= lb', % check monotonicity of log for base 10, see https://purplesyringa.moe/blog/log-is-non-monotonic-in-php-and-lua/
12001 '-evalt', 'RPOW(2.0,e) = 1024.0', % still commented out until real_power_of code activated
12002 '-evalt', 'RDECIMAL(23,x) = 2300.0', % ditto
12003 '-evalt', '{x|RDECIMAL(23,x) = 2300.0} = {2}'
12004 ], 'test new CLP(FD) based real solver').
12005 cli_testcase(2563, [external], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12006 'stdlib/LibraryIO.def',
12007 '-evalt', 'TIMESTAMP(2075,5,8,10,0,0) = ts & ts = TIMESTAMP(YY,MM,DD,H,M,S) & YY=2075'
12008 ], 'test date functions, 2038 bug check').
12009 cli_testcase(2564, [infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12010 '-evalt', 'x = {0|->1} & f = %x.(x>=0|x+11) & xf = x <+ f & xf(0)=res & res=11'
12011 ], 'test override with symbolic function').
12012 cli_testcase(2565, [reals,visb], [
12013 '../prob_examples/public_examples/B/Hybrid/AbrialSawWithHistory.mch',
12014 '-animate', 4, '-animate_stats', '-visb', '',
12015 '../prob_examples/public_examples/B/Hybrid/AbrialSawWithHistory.html'], 'Check VisB export with reals'). % crashes with 4.10-beta2 when exporting VisB
12016 cli_testcase(2566, [reals], [ '-p', solver_for_reals, real_solver,
12017 '-evalt', '{x|x*x=3.0 & x>0.0} = r & 1.7320508075688774:r' % r is empty with precise_float_solver
12018 ], 'test real solver').
12019 cli_testcase(2567, [reals,tickets], [
12020 '../prob_examples/examples/B/Tickets/RealsRailML/FLB/FLB_data.mch', '-assertions',
12021 '-evalt', '"ne_105" = prj1(e_sloc) & (1.0) <= prj2(e_sloc) & (prj2(e_sloc) = 1.0 => prj2(e_sloc) <= (1.0))'
12022 %'-evalt', '"ne_105" = prj1(e_sloc) & prj1(prj2(e_sloc)) <: 1..3 & (1.0) <= prj2(prj2(e_sloc)) & (prj2(prj2(e_sloc)) = 1.0 => a=TRUE)' % this does not work yet in 4.10 due to SICStus bug SPRM-21560
12023 ], 'test real solver unification / prj2 problem').
12024 cli_testcase(2568, [reals], [
12025 '-evalt', 'x > 1.0 & (x=0.9 <=> not(a=11.0)) & (a=11.0 => x = 1.1)',
12026 '-evalt', 'x >= 1.0 & (x<1.0 <=> not(a=11.0)) & (a=11.0 => x = 1.1)'
12027 ], 'test reification of reals').
12028 cli_testcase(2569, [reals], [
12029 '-evalt', '{x,a|x >= 1.0 & (x<1.0 <=> not(a=11.0)) & (a=11.0 => x = 1.1)} = {(1.1|->11.0)}',
12030 '-evalt', '{x,a|x > 1.0 & (x=1.0 <=> not(a=11.0)) & (a = 11.0 => x = 1.1)} = {(1.1|->11.0)}'
12031 ], 'test reification of reals (requiring 4.10 real solver)').
12032 cli_testcase(2570, [infinite,reals], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12033 '-p', solver_for_reals, precise_float_solver,
12034 '-evalt', 'x = /*@symbolic */ {y|y>=11.0} & min(x) = r',
12035 '-evalt', 'x = {y|y>=11.0} & CHOOSE(x) = r',
12036 '-evalt', 'x = {y|y<=11.0} & max(x) = r',
12037 '-evalt', 'x = {y|y<=11.0} & CHOOSE(x) = r',
12038 '-evalt', 'x = {y|y>1.0} & min(x) = r & r > 1.0', % requires precise_float_solver to have a value
12039 '-evalt', 'x = {y|y<12.0} & max(x) = r & r < 12.0', % requires precise_float_solver to have a value
12040 '-evalt', 'x = {y|y>=1.0 & y<=20.0} & min(x) < max(x)',
12041 '-evalt', 'x = {y|y>=1.0 & y<=20.0 & y>=2.0} & min(x) < max(x)',
12042 '-evalt', 'x = {y|y<=v} & max(x) = r & v:{0.1,0.2} & v>0.0',
12043 '-evalt', 'x = {y|y<=v & y >= 3.0} & max(x) = r & v:{12.0,11.0}',
12044 '-evalf', 'x = {y|y<=v & y >= 3.0} & max(x) = r & v:{2.0,1.0}', % this could also generate a WD error
12045 '-evalt', 'x = {y|y<=v & y >= 3.0 & y<= w} & max(x) = r & v:{12.0,11.0} & w:{12.0,13.0} & v+1.0<w',
12046 % does not work yet due to normalisation of interval closure:{x,v,w,r|x = {y|y<=v & y >= 3.0 & y<= w} & max(x) = r & v:{12.0,11.0} & w:{12.0,13.0} & v+1.0<w}
12047 % ditto: {x,v|x = {y|y<=v & y >= 3.0} & v:{12.0,11.0}}
12048 '-evalt', 'f= %x.(x>0.0|x) & f : REAL +-> REAL',
12049 '-evalt', 'CHOOSE(REAL) = c & c: REAL',
12050 '-evalt', 'CHOOSE({x|x>=10.0}) = c & c >= 10.0',
12051 '-evalt', 'CHOOSE({x|x<=10.0}) = c & c <= 10.0',
12052 '-evalt', 'CHOOSE({x|x>=10.0 & x<= 20.0}) = c & c >= 10.0 & c <= 20.0',
12053 '-evalt', 'CHOOSE(STRING) : STRING',
12054 '-evalt', 'f = %x.(x>0.0|x) & g= %x.(x<= 0.0|-x) & fg = f\\/g & fg[{3.0,-4.0}] = res & res <: dom(f)',
12055 '-evalt', 'f = %x.(x:REAL|x) & g= %x.(x<= 0.0|-x) & fg = f<+g & fg[{3.0,-4.0}] = res & res /<:dom(g)'
12056 ], 'min/max/CHOOSE/... for infinite real sets').
12057 cli_testcase(2571, [infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12058 '-evalt', 'f=%xx.(xx>=0|xx) & f:NATURAL --> INTEGER',
12059 '-evalt', 'f=%xx.(xx>=0|xx) & f:NATURAL --> NATURAL',
12060 '-evalt', 'f=%xx.(xx>=0|xx) & f/:INTEGER --> INTEGER',
12061 %'-evalt', 'f= %x.(x>0.0|x) & f /: REAL --> REAL' % Enumeration warning occured for _equality_sets_
12062 '-evalt', 'f = /*@symbolic*/ {x,y| x: {xx|xx>0 & x mod 2 = 0} & y=x+x} & f: NATURAL +-> INTEGER',
12063 '-evalf', 'f = /*@symbolic*/ {x,y| x: {xx|xx>0 & x mod 2 = 0} & y=x+x} & f: NATURAL --> INTEGER',
12064 '-evalt', 'f = {x,y| x|->y : %xx.(xx>0|xx) or (x <= 0 & y=1)} & dom(f)=INTEGER',
12065 '-evalt', 'f = {x,y| x|->y : %xx.(xx>0|xx) or (x <= 0 & y=1)} & f: INTEGER +-> INTEGER',
12066 '-evalt', 'f = {x,y| x|->y : %xx.(xx>0|xx) or (x <= 0 & y=1)} & f: INTEGER --> INTEGER',
12067 '-evalf', 'f = {x,y| x|->y : %xx.(xx>0|xx) or (x <= 0 & y=1)} & f: NATURAL --> INTEGER',
12068 '-evalf', 'f = {x,y| x|->y : %xx.(xx>=0|xx) or (x <= 0 & y=1)} & f: INTEGER --> INTEGER',
12069 % f = {x,y| x|->y : %xx.(xx>0.0|xx) or (x <= 0.0 & y=1.0)} & f: REAL +-> REAL % requires 4.10 CLP(FD) Real support
12070 '-evalt', 'f = /*@symbolic*/ {t,lmd|t |-> lmd : /*@symbolic*/ %t.(0.0 <= t|5.3 - 0.49 * (t - 0.0)) or (t /: dom(/*@symbolic*/ %t.(0.0 <= t|5.3 - 0.49 * (t - 0.0))) & (0.0 <= t & lmd = 5.3))} & not(f:FIN(f))',
12071 '-evalt', '/*@symbolic*/ {tt,lmd|tt |-> lmd : /*@symbolic*/ %t.(0 <= t|t) or (tt /: dom(/*@symbolic*/ %t.(0 <= t|t)) & (0 <= tt & lmd = 53))} : INTEGER +-> INTEGER',
12072 '-evalt', '/*@symbolic*/ {t,lmd|t |-> lmd : /*@symbolic*/ %t.(0 <= t|t) or (t /: dom(/*@symbolic*/ %t.(0 <= t|t)) & (0 <= t & lmd = 53))} : INTEGER +-> INTEGER', % same with variable clash
12073 '-evalt', '%tt.(0 <= tt|53-tt) : INTEGER +-> INTEGER',
12074 '-evalt', '%tt.(0 <= tt|53-tt) : NATURAL --> INTEGER'
12075 % '-evalt', '/*@symbolic*/ {tt,lmd∣tt |-> lmd : %t.(0 <= t|53-t) or (tt >0 & (0 <= tt & lmd = 53))} : INTEGER +-> INTEGER' % does not work yet, note: 0 <= x & z_ = 53-t & z__ = 53-t & z_ /= z__ is unknown without CSE, (x |-> z_ : %t.(0 <= t|53 - t)) & (x |-> z__ : %t.(0 <= t|53 - t) ) & z_ /= z__ is unknown with CSE (remove_member_comprehension would need to be improved)
12076 ], 'total function checks').
12077 cli_testcase(2572, [satsolver_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12078 '../prob_examples/public_examples/B/B2SAT/simple/program_analysis_simple.mch',
12079 '-init', '-assertions'
12080 ], 'Check double negation conversion').
12081 cli_testcase(2573, [infinite,tickets], [
12082 '../prob_examples/public_examples/B/Compilers/LLParsingStagedEfficient.mch', '-t'
12083 ], 'test issue with max exception in closures solved').
12084 cli_testcase(2574, [satsolver_test,dot], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12085 '../prob_examples/public_examples/SAT/KnightsKnavesSat.cnf',
12086 '-properties',
12087 '-dot', 'custom_graph', '../prob_examples/public_examples/SAT/KnightsKnavesSat_VIG.dot'
12088 ], 'test loading of cnf file').
12089 cli_testcase(2575, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12090 '-evalt', '{11}?+22 = 33',
12091 '-evalt', 'r = rec(a:{11},b:{2}) & r\'a?+22=33'
12092 ], 'test new ? syntax for MU').
12093 cli_testcase(2576, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12094 '-expcterr', 'bmachine_static_checks',
12095 '../prob_examples/public_examples/B/Tester/Warnings/TopLevelImplicationInvariant.mch', '-init'
12096 ], 'Check that top-level implication in invariant detected').
12097 cli_testcase(2577, [laws,rel_fnc,reals], ['../prob_examples/public_examples/B/Laws/FunLawsReals.mch', '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Use model checking to check a variety of laws on functions over infinite REAL base domain.'). % see test 1641
12098 cli_testcase(2578, [laws,bmc,reals], [
12099 '../prob_examples/public_examples/B/Laws/RealLaws.mch',
12100 '-bmc', 2], 'BMC: Various arithmetic laws for Reals.'). % crashes on 4.10.2-beta
12101 cli_testcase(2579, [b_test,recursion,infinite,json_trace_replay], [
12102 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12103 '../prob_examples/examples/B/SupervisoryControl/fandb/fandb_unicode.mch', '-mc', 100,
12104 '-trace_replay', 'json', '../prob_examples/examples/B/SupervisoryControl/fandb/fandb_unicode.prob2trace',
12105 '-assertions'
12106 ], 'Test supervisory control example which used to take very long').
12107 cli_testcase(2580, [b_test,recursion,json_trace_replayinfinite,json_trace_replay], [
12108 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12109 '../prob_examples/examples/B/SupervisoryControl/fandb/fandbTrain_optimized2.mch',
12110 '-trace_replay', 'json', '../prob_examples/examples/B/SupervisoryControl/fandb/fandbTrain_optimized2.prob2trace',
12111 '-assertions'
12112 ], 'Test supervisory control example which used to take very long').
12113 cli_testcase(2581, [reals], [
12114 '-evalt', '2.4 < x & x < 2.6 & -10.0 < y & y < 10.0 & y = RCOS(x)', % https://github.com/danbryce/dreal/blob/master/src/tests/nra/01.smt2
12115 '-evalf', '0.5 < x & x < 1.0 & 0.5 < y & y < 1.0 & y=RSIN(x) & x = RTAN(y)', % https://github.com/danbryce/dreal/blob/master/src/tests/nra/02.smt2
12116 '-evalf', 'RABS(x) < 0.0 & -15.0 <= x & x <= 15.0' % abs_2.smt2
12117 ], 'tests from dReal SMT solver').
12118 cli_testcase(2582, [cache], ['../prob_examples/public_examples/B/FeatureChecks/Cache/PREFS/InvViolationWithLargeMAXINT.mch',
12119 '-p', 'MAXINT', 10, '-clear_cache', '-p', 'CACHE_OPERATIONS', 'TRUE',
12120 '-model_check', '-nodead',
12121 '-ccache', '../prob_examples/public_examples/B/FeatureChecks/Cache/PREFS/cache',
12122 '-cache_stats', '-check_cache_stats', 0, 10], % 0 reused, 10 stored transitions
12123 'Initialise cache for tests 2583 and 2584').
12124 cli_testcase(2583, [cache], ['../prob_examples/public_examples/B/FeatureChecks/Cache/PREFS/InvViolationWithLargeMAXINT.mch',
12125 '-p', 'MAXINT', 10, '-p', 'CACHE_OPERATIONS', 'TRUE',
12126 '-model_check', '-nodead',
12127 '-ccache', '../prob_examples/public_examples/B/FeatureChecks/Cache/PREFS/cache',
12128 '-cache_stats', '-check_cache_stats', 11, 0], % 10 reused, 0 stored transitions
12129 'Check reuse from test 2582').
12130 cli_testcase(2584, [cache], ['../prob_examples/public_examples/B/FeatureChecks/Cache/PREFS/InvViolationWithLargeMAXINT.mch',
12131 '-p', 'MAXINT', 20000, '-p', 'CACHE_OPERATIONS', 'TRUE',
12132 '-model_check', '-nodead', '-expcterr', 'invariant_violation',
12133 '-ccache', '../prob_examples/public_examples/B/FeatureChecks/Cache/PREFS/cache',
12134 '-cache_stats', '-check_cache_stats', 0, '*'], % 0 reused
12135 'Check no cache reuse from test 2582/2583 with different MAXINT leading to invariant violation').
12136 cli_testcase(2585, [cbc,sigma], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12137 '-evalt', 'X=1..12 & a \\/ b = X & a /\\ b = {} & SIGMA(x).(x:a|x) = SIGMA(y).(y:b|y)',
12138 '-evalt', '{n|n>10 & (n mod 20=3 & n mod 20 = 4) & n<100} = {}'],
12139 'Check partition sum problem solved').
12140 cli_testcase(2586, [infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12141 '-evalt', '{test,lhs,rhs,res|(IF test=TRUE THEN lhs=TRUE ELSE rhs=TRUE END)<=> res=TRUE} = {(FALSE|->FALSE|->FALSE|->FALSE),(FALSE|->FALSE|->TRUE|->TRUE),(FALSE|->TRUE|->FALSE|->FALSE),(FALSE|->TRUE|->TRUE|->TRUE),(TRUE|->FALSE|->FALSE|->FALSE),(TRUE|->FALSE|->TRUE|->FALSE),(TRUE|->TRUE|->FALSE|->TRUE),(TRUE|->TRUE|->TRUE|->TRUE)}',
12142 '-evalt', 'IF x>0 THEN y=1 ELSE y=2 END & x:-10..10',
12143 %'-evalt', 'IF x>0 THEN y=1 ELSE y=2 END', % creates enum warning on SWI as y=1 tried first
12144 '-evalt', 'IF IF x>0 THEN y=1 ELSE y=2 END THEN z=1 ELSE z=2 END & y=3 & x:-10..10',
12145 %'-evalt', 'IF IF x>0 THEN y=1 ELSE y=2 END THEN z=1 ELSE z=2 END & y=3', % creates enum warning on SWI for z
12146 '-evalf', 'IF IF x>0 THEN y=1 ELSE y=2 END THEN z=1 ELSE z=2 END & y=3 & z=1',
12147 '-evalt', 'not(IF IF x>0 THEN y=1 ELSE y=2 END THEN z=1 ELSE z=2 END) & y=3 & z=1',
12148 '-evalt', '{x,y,z| x:{0,1} & y:1..3 & IF IF x>0 THEN y=1 ELSE y=2 END THEN z=1 ELSE z=2 END} = {(0|->1|->2),(0|->2|->1),(0|->3|->2),(1|->1|->1),(1|->2|->2),(1|->3|->2)}'
12149 ], 'test IF-THEN-ELSE as predicate').
12150 cli_testcase(2587, [wd], [
12151 '-evalt', ':wd IF x>0 THEN r=10/x ELSE r=0 END',
12152 '-evalf', ':wd IF x>0 THEN r=10*x ELSE r=10/x END',
12153 % '-evalt', ':wd IF IF x>0 THEN y>1 ELSE y>0 END THEN r=10/y ELSE r=0 END', % wd prover cannot extract info from disjunction
12154 %'-evalt', ':wd IF x>0 THEN y>1 ELSE y>0 END & r=10/y', % ditto
12155 '-evalt', ':wd x>0 & IF x>0 THEN y>1 ELSE y>0 END & r=10/y',
12156 '-evalt', ':wd IF x>0 THEN y>1 ELSE y>0 END & x>0 & r=10/y',
12157 '-evalt', ':wd (x<=1 => y>1) & x<=0 & r=10/y',
12158 '-evalf', ':wd (x<=1 => y>1) & x<=2 & r=10/y',
12159 '-evalt', ':wd (x>0 => y>1) & x>1 & r=10/y',
12160 '-evalt', ':wd (x>0 => y>1) & x>=1 & r=10/y',
12161 '-evalt', ':wd (x>0 => y>1) & x>=2 & r=10/y',
12162 '-evalf', ':wd (x>2 => y>1) & x>1 & r=10/y',
12163 '-evalt', ':wd S<:BOOL & (x<:S => y>1) & x<<:S & r=10/y',
12164 '-evalf', ':wd S<:BOOL & (x<<:S => y>1) & x<:S & r=10/y',
12165 '-evalt', ':wd (x/=2 => y>1) & 2/=x & r=10/y',
12166 '-evalt', ':wd (x/=2 => y>1) & (z>=0 => 2/=x) & z>0 & r=10/y',
12167 '-evalt', ':wd IF x>0 THEN y>1 ELSE y>0 END & x>1 & r=10/y',
12168 '-evalt', ':wd IF x>0 THEN y>0 ELSE y>=0 END & IF x>1 THEN r=10/y ELSE r= 0 END',
12169 '-evalf', ':wd IF x>1 THEN y>0 ELSE y>=0 END & IF x>0 THEN r=10/y ELSE r= 0 END'
12170 ], 'check wd works with IF-THEN-ELSE predicate and new improved implication triggering').
12171 cli_testcase(2588, [b_test,forall,records], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12172 '-evalt', 'R<:struct(b:{TRUE},x:NATURAL) & !v.(rec(b:TRUE,x:v):R => v:11..12) & R /= {}',
12173 '-evalf', 'R<:struct(b:{TRUE},x:NATURAL) & !v.(rec(b:TRUE,x:v):R => v:11..12) & R /= {} & card(R)>2',
12174 '-evalt', '{R|R<:struct(b:{TRUE},x:NATURAL) & !v.(rec(b:TRUE,x:v):R => v:11..12) & R /= {}} = {{rec(b:TRUE,x:11)},{rec(b:TRUE,x:11),rec(b:TRUE,x:12)},{rec(b:TRUE,x:12)}}',
12175 '-evalt', 'R<:struct(b:{TRUE},x:NATURAL,y:NATURAL) & !(v,w).(rec(b:TRUE,x:v,y:w):R => v:11..12 & w:22..23) & R /= {} & card(R)>1',
12176 '-evalt', 'R<:struct(b:{TRUE},x:NATURAL,y:NATURAL) & !(v,w).(rec(y:w,x:v,b:TRUE):R => v:11..12 & w:22..23) & R /= {} & card(R)>3',
12177 % R<:struct(b:{TRUE},x:NATURAL,y:NATURAL) & !v.(rec(b:TRUE,x:v,y:v):R => v:11..12) & R /= {} & card(R)>1
12178 '-evalt', 'E<:POW(BOOL) & E={{}} & R<:struct(b:E,x:NATURAL) & !(v).(rec(b:{},x:v):R => v:11..12 ) & R /= {} & card(R)>1',
12179 '-evalt', 'E<:POW(BOOL) & E={{TRUE}} & R<:struct(b:E,x:NATURAL) & !(v).(rec(b:{TRUE},x:v):R => v:11..12 ) & R /= {} & card(R)>1'
12180 ], 'Test forall for set membership with a record pattern is not delaying').
12181 cli_testcase(2589, [cache], ['../prob_examples/public_examples/B/FeatureChecks/Cache/OpChange/CheckOkTrue.mch',
12182 '-execute_all',
12183 '-evalt', 'ok=TRUE',
12184 '-ccache', '../prob_examples/public_examples/B/FeatureChecks/Cache/OpChange/cache', '-clear_cache',
12185 '-cache_stats', '-check_cache_stats', 0, 1], 'Reset cache and check no reuse happens').
12186 cli_testcase(2590, [cache], ['../prob_examples/public_examples/B/FeatureChecks/Cache/OpChange/CheckOkFalse.mch',
12187 '-execute_all',
12188 '-evalt', 'ok=FALSE',
12189 '-cache', '../prob_examples/public_examples/B/FeatureChecks/Cache/OpChange/cache',
12190 '-cache_stats', '-check_cache_stats', 0, 1], 'Check no reuse happens for changed operation').
12191 cli_testcase(2591, [cache], ['../prob_examples/public_examples/B/FeatureChecks/Cache/OpChange/CheckOkFalse.mch',
12192 '-execute_all',
12193 '-evalt', 'ok=FALSE',
12194 '-cache', '../prob_examples/public_examples/B/FeatureChecks/Cache/OpChange/cache',
12195 '-cache_stats', '-check_cache_stats', 1, 0], 'Check reuse now happens').
12196 cli_testcase(2592, [disprover,wd_prover], [
12197 '../prob_examples/public_examples/EventBPrologPackages/VisB/Bank/Bank_mch.probpo',
12198 '-check_disprover_result', '>7',0,'<6',
12199 '-timeout', 200 % timeout per PO
12200 ],'WD proof obligation thm4/THM proved by wd_prover'). % requires typing information in hyps
12201 cli_testcase(2593, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12202 '-evalt', ':z3-double-check (7 / -2) = x',
12203 '-evalt', ':z3-double-check FDIV(7,-2) = x',
12204 '-evalt', ':z3-double-check (7.0 / -2.0) = x'
12205 ],'Check proper processing of division by Z3').
12206 cli_testcase(2594, [ltl], ['../prob_examples/public_examples/B/LTL/Tests/LtlcLoopSearch.mch',
12207 '-ltlformulaf', 'F G {s /= 1}'
12208 ],'Check loop search issue in LTL model checker fixed').
12209 % would either report Verification of LTL formula counter example yielded unexpected result: false
12210 % or report no loop found in SCC, this is a bug in the model checker! and terminate
12211 cli_testcase(2595, [ltl,fairness], ['../prob_examples/public_examples/B/LTL/Tests/LtlcFairLoopSearch.mch',
12212 '-ltlformulaf', 'SF(a) & SF(b) & SF(c) => F {s = 3}',
12213 '-ltlformulaf', 'WF(c) & SF(a) & SF(b) => F {s=3}',
12214 '-ltlformulaf', 'SEF => F {s = 3}'
12215 ],'Check loop search issue in LTL model checker fixed').
12216 % would report no loop found in SCC, this is a bug in the model checker! and terminate
12217 cli_testcase(2596, [ltl], ['../prob_examples/public_examples/B/LTL/Tests/LtlcLongCounterexample.mch',
12218 '-ltlformulaf', '{x >= 0} U {x < 0}', '-silent'
12219 ],'Check stack overflow issue in LTL model checker fixed'). % used to produce segmentation fault 11
12220 % test takes 123 seconds walltime; hence it is marked as skip
12221 cli_testcase(2597, [ltl,fairness], ['../prob_examples/public_examples/B/LTL/Tests/LtlcWeakFairnessDisjunction.mch',
12222 '-ltlformulaf', '(WF(a) or WF(b)) & SF(c) => F {s = 9}'
12223 ],'Check stack overflow issue in LTL model checker fixed'). % used to produce no loop found in SCC, this is a bug in the model checker!
12224 cli_testcase(2598, [ltl,fairness], ['../prob_examples/public_examples/B/LTL/Tests/LtlcLoopClosingTransition.mch',
12225 '-ltlformulaf', 'SF(c) & SF(d) => F {s = 9}'
12226 ],'Check correct closing loop respecting fairness found').
12227 cli_testcase(2599, [ltl,fairness], ['../prob_examples/public_examples/B/LTL/Tests/LtlcDeadlockNext.mch',
12228 '-ltlformulaf', 'F({s = 1} & X {s = 1})'
12229 ],'Check deadlock next issue solved'). % old probcli would sometimes report true
12230 cli_testcase(2600, [ltl,fairness], ['../prob_examples/public_examples/B/LTL/Tests/LtlcRingSF.mch',
12231 '-ltlformulaf', 'SF(c) => F {s = n}'
12232 ],'Check quadratic performance issue solved'). % did give segmentation fault
12233 cli_testcase(2601, [ltl,fairness], ['../prob_examples/public_examples/B/LTL/Tests/LtlcRingWF.mch',
12234 '-ltlformulaf', 'WF(a) => F {s = n}'
12235 ],'Check quadratic performance issue solved'). % did give segmentation fault
12236 cli_testcase(2602, [satsolver_test], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12237 '-evalt', ':sat-double-check S<:BOOL & card(S) > -2', % used to produce ! Uncaught Exception in REPL: system_error('model has fewer variables than the list to assign')
12238 '-evalt', ':sat-double-check (x=TRUE or y=TRUE) & x = bool(n>0) & n = 1', % ditto
12239 '-evalt', ':sat-free-double-check (x=TRUE or y=TRUE) & x = bool(n>0) & n = 1' % used to fail
12240 ],'Check b2sat issues solved').
12241 cli_testcase(2603, [satsolver_test], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12242 % cardinality constraints with bounds <= 0 or larger than the number of candidates
12243 '-evalt', ':sat-double-check f:1..5-->BOOL & card({i|i:1..5 & f(i)=TRUE}) >= 0 & f(1)=FALSE',
12244 '-evalt', ':sat-double-check f:1..5-->BOOL & card({i|i:1..5 & f(i)=TRUE}) >= -1 & !i.(i:1..5 => f(i)=FALSE)',
12245 '-evalt', ':sat-double-check f:1..5-->BOOL & card({i|i:1..5 & f(i)=TRUE}) > -3 & !i.(i:1..5 => f(i)=FALSE)',
12246 '-evalf', ':sat-double-check f:1..5-->BOOL & card({i|i:1..5 & f(i)=TRUE}) = -1',
12247 '-evalf', ':sat-double-check f:1..5-->BOOL & card({i|i:1..5 & f(i)=TRUE}) <= -1',
12248 '-evalf', ':sat-double-check f:1..5-->BOOL & card({i|i:1..5 & f(i)=TRUE}) < 0',
12249 '-evalf', ':sat-double-check f:1..5-->BOOL & card({i|i:1..5 & f(i)=TRUE}) >= 6',
12250 '-evalt', ':sat-double-check f:1..5-->BOOL & card({i|i:1..5 & f(i)=TRUE}) <= 5 & !i.(i:1..5 => f(i)=TRUE)',
12251 '-evalt', ':sat-double-check f:1..8-->BOOL & card({i|i:1..8 & f(i)=TRUE}) = 5 & f(1)=FALSE & f(2)=FALSE & f(3)=FALSE',
12252 '-evalf', ':sat-double-check f:1..8-->BOOL & card({i|i:1..8 & f(i)=TRUE}) = 5 & f(1)=FALSE & f(2)=FALSE & f(3)=FALSE & f(4)=FALSE',
12253 '-evalf', ':sat-double-check f:1..8-->BOOL & card({i|i:1..8 & f(i)=TRUE}) >= 1 & !i.(i:1..8 => f(i)=FALSE)',
12254 % SAT variables bound by ProB before the CNF is sent to the solver
12255 '-evalt', ':sat-double-check (x=TRUE or y=TRUE) & (x=TRUE or z=TRUE) & x = bool(n>0) & n = 1',
12256 '-evalt', ':sat-double-check (x=FALSE or y=TRUE) & y = bool(n>0) & n = 1 & x=TRUE',
12257 '-evalf', ':sat-double-check (x=FALSE or y=TRUE) & y = bool(n>0) & n = 0 & x=TRUE',
12258 % disjunctions which cannot be fully converted to CNF
12259 '-evalt', ':sat-double-check x:BOOL & (x=TRUE or n>2) & n=1',
12260 '-evalf', ':sat-double-check x:BOOL & (x=TRUE or n>2) & n=1 & x=FALSE',
12261 % equalities and inequalities between boolean variables
12262 '-evalt', ':sat-double-check x:BOOL & x /= y & y /= z',
12263 '-evalf', ':sat-double-check x:BOOL & x /= y & y /= z & x /= z',
12264 '-evalf', ':sat-double-check not(x=TRUE <=> y=TRUE) & x=y',
12265 '-evalt', ':sat-double-check not(x=TRUE <=> y=TRUE) & x=TRUE',
12266 '-evalt', ':sat-double-check (x=TRUE => y=TRUE) & (y=TRUE => z=TRUE) & (z=TRUE => x=FALSE) & x=FALSE',
12267 '-evalf', ':sat-double-check (x=TRUE => y=TRUE) & (y=TRUE => z=TRUE) & (z=TRUE => x=FALSE) & x=TRUE',
12268 '-evalt', ':sat-double-check not(x=TRUE & y=TRUE) & not(x=FALSE & y=FALSE)',
12269 '-evalf', ':sat-double-check not(x=TRUE or y=TRUE) & (x=TRUE or z=TRUE) & not(z=TRUE)',
12270 '-evalt', ':sat-double-check IF x=TRUE THEN y=TRUE ELSE y=FALSE END & y=FALSE',
12271 '-evalf', ':sat-double-check IF x=TRUE THEN y=TRUE ELSE y=FALSE END & x=TRUE & y=FALSE',
12272 % quantifiers and small pigeonhole problems
12273 '-evalf', ':sat-double-check f:1..5-->BOOL & !i.(i:1..5 => f(i)=TRUE) & #j.(j:1..5 & f(j)=FALSE)',
12274 '-evalt', ':sat-double-check p1:1..2-->BOOL & p2:1..2-->BOOL & !i.(i:1..2 => p1(i)=TRUE or p2(i)=TRUE) & !(i,j).(i:1..2 & j:1..2 & i<j => (p1(i)=FALSE or p1(j)=FALSE) & (p2(i)=FALSE or p2(j)=FALSE))',
12275 '-evalf', ':sat-double-check p1:1..3-->BOOL & p2:1..3-->BOOL & !i.(i:1..3 => p1(i)=TRUE or p2(i)=TRUE) & !(i,j).(i:1..3 & j:1..3 & i<j => (p1(i)=FALSE or p1(j)=FALSE) & (p2(i)=FALSE or p2(j)=FALSE))'
12276 ],'Check b2sat cardinality bounds, propagation and partial conversion').
12277 cli_testcase(2604, [cvc5], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12278 '-evalt', ':cvc5 x = 1', % see test 1505
12279 '-evalf', ':cvc5 x = 1 & x > 2',
12280 '-evalt', ':cvc5 r:struct(f1:11..20,f2:12..30) & r\'f1+10 = r\'f2', % see test 1506
12281 '-evalf', ':cvc5 r:struct(f1:11..20,f2:12..20) & r\'f1+10 = r\'f2',
12282 '-evalt', ':cvc5 r:struct(f1:11..20,f2:12..30) & r\'f1+10 = r\'f2 & s:struct(f1:15..20,f2:1..100) & s=r',
12283 '-evalt', ':cvc5 v1:struct(lderb:{TRUE},mspue:{FALSE},fhhxr:{TRUE})',
12284 '-evalf', ':cvc x>0 & x+1 <= p & x=p', % test 1508
12285 '-evalf', ':cvc x>0 & x+2 <= p & x=p',
12286 '-evalf', ':cvc not(Pace_Int - sp >= 0) & (sp > 0 & sp < Pace_Int)', % taken from pacemaker disprover testcase
12287 '-evalt', ':cvc5 {x} <: {999}', % from test 1509
12288 '-evalt', ':cvc5 {x} <: {999,1000} & x > 999',
12289 '-evalt', ':cvc5 x={(1,2),(3,4),(4,5),(6,7),(8,9)} & y|->v : x & y|->w : x'
12290 ], 'some constraints that should be solved by cvc5').
12291 cli_testcase(2605, [clingo], [
12292 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12293 '-expcterr', b2asp,
12294 '-evalu', ':clingo y:1..3 & not(#x.(x:1..3 & x>y))' % Existential quantifier in negative or mixed context not yet supported
12295 ], 'check b2asp does not give wrong answer').
12296 cli_testcase(2606, [clingo], [
12297 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12298 % sequence and total function checks inside forall with a local variable (j) which is not used by the relation:
12299 % the clingo predicates must get the same filtered local variables in all clauses
12300 '-evalf', ':clingo-double-check s = {1|->TRUE, 3|->FALSE} & !(i,j).(i:1..3 & j:1..2 => ((1..i) <| s) : seq(BOOL))',
12301 '-evalt', ':clingo-double-check s = {1|->TRUE, 2|->FALSE} & !(i,j).(i:1..3 & j:1..2 => ((1..i) <| s) : seq(BOOL))',
12302 '-evalf', ':clingo-double-check f = {1|->TRUE, 3|->FALSE} & !(i,j).(i:1..3 & j:1..2 => ((1..i) <| f) : 1..i --> BOOL)',
12303 '-evalt', ':clingo-double-check f = {1|->TRUE, 2|->TRUE, 3|->FALSE} & !(i,j).(i:1..3 & j:1..2 => ((1..i) <| f) : 1..i --> BOOL)'
12304 ], 'Check b2asp translation of seq and total functions inside forall').
12305 cli_testcase(2607, [kodkod], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
12306 % integers used as set elements must have an integer atom, otherwise Kodkod's cast yields the empty set
12307 '-evalf', ':kodkod-double-check 3 : {0,1}', % was TRUE
12308 '-evalf', ':kodkod-double-check 5 : {0,1}',
12309 '-evalf', ':kodkod-double-check -1 : {0,1}',
12310 '-evalt', ':kodkod-double-check 1 : {0,1}',
12311 '-evalt', ':kodkod-double-check 3 /: {0,1}', % was FALSE
12312 '-evalf', ':kodkod-double-check {3} <: {0,1}',
12313 '-evalt', ':kodkod-double-check {1} <: {0,1}',
12314 '-evalf', ':kodkod-double-check s<:0..1 & 3:s',
12315 '-evalt', ':kodkod-double-check s<:0..1 & 3/:s',
12316 '-evalf', ':kodkod-double-check r <: (0..1)*(0..1) & (0,3) : r',
12317 '-evalt', ':kodkod-double-check r <: (0..1)*(0..1) & (0,3) /: r',
12318 '-evalt', ':kodkod-double-check r <: (0..1)*(0..1) & (0,1) : r',
12319 '-evalf', ':kodkod-double-check b={1} & 3:b', % example from email Kodkod7_QueensBug vom 23.6.2017
12320 '-evalt', ':kodkod-double-check b <: {1} & b /= {} & 3 /: b' % ditto
12321 ], 'Check Kodkod translation of integers outside of the integer atoms used in sets').
12322 cli_testcase(2608, [kodkod], [ '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
12323 % floored division was translated as truncated division
12324 '-evalt', ':kodkod-double-check x:-10..10 & FDIV(x,2) = -4 & x>-8',
12325 '-evalf', ':kodkod-double-check x:-10..10 & FDIV(x,2) = 0 & x<0',
12326 '-evalt', ':kodkod-double-check x:-10..10 & y:-3..3 & y/=0 & FDIV(x,y) = 3 & x+y = -9',
12327 '-evalf', ':kodkod-double-check x:-10..10 & y:-4..4 & y/=0 & r = x - FDIV(x,y)*y & not((y>0 & r>=0 & r<y) or (y<0 & r<=0 & r>y))'
12328 ], 'Check Kodkod translation of floored division for negative numbers').
12329 cli_testcase(2609, [kodkod], [ '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
12330 % Kodkod could choose integer values outside of the intervals of the predicate analysis
12331 '-evalt', ':kodkod-double-check 2000 + x = y & 3000 + y : {10000,10001} & x = 5000', % gave x=6204 & y=8204
12332 '-evalf', ':kodkod-double-check 2000 + x = y & 3000 + y : {10000,10001} & x /= 5000 & x /= 5001',
12333 '-evalf', ':kodkod-double-check x + 3000 = y & y : 10000..10003 & x+y = 17001'
12334 ], 'Check Kodkod restricts integers to the intervals computed by the predicate analysis').
12335 cli_testcase(2610, [kodkod], [ '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
12336 % the interval of a division was not recalculated, the results did not have integer atoms
12337 '-evalf', ':kodkod-double-check x:0..100 & y:1..100 & x / y : {0,1} & x > 3*y', % gave x=97 & y=10
12338 '-evalf', ':kodkod-double-check x:0..100 & y:1..100 & x / y : {0,1} & x = 10 & y = 2',
12339 '-evalt', ':kodkod-double-check x:0..100 & y:1..100 & x / y : {0,1} & x > y',
12340 '-evalf', ':kodkod-double-check x:-100..100 & y:1..100 & x / y : {-1,0,1} & x < -3*y',
12341 '-evalf', ':kodkod-double-check x:0..100 & y:-100..-1 & x / y : {0,-1} & x > -3*y'
12342 ], 'Check Kodkod translation of division used as set element').
12343 cli_testcase(2611, [kodkod], [ '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
12344 % check Kodkod solutions with ProB's default solver
12345 '-evalt', ':kodkod-double-check x:0..100 & y:1..100 & x / y : {0,1} & x > y',
12346 '-evalf', ':kodkod-double-check x:0..100 & y:1..100 & x / y : {0,1} & x > 3*y',
12347 '-evalt', ':kodkod-double-check 2000 + x = y & 3000 + y : {10000,10001}',
12348 '-evalt', ':kodkod-double-check x:-10..10 & y:-3..3 & y/=0 & FDIV(x,y) = 3 & x+y = -9',
12349 '-evalt', ':kodkod-double-check r <: (0..3)*(0..3) & (1,2) : r & r~ = r & dom(r) = {1,2}',
12350 '-evalf', ':kodkod-double-check r <: (0..3)*(0..3) & (1,2) : r & r~ = r & dom(r) = {1}'
12351 ], 'Check :kodkod-double-check command').
12352 cli_testcase(2612, [kodkod], [ '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
12353 % KODKOD_RAISE_WARNINGS ensures that a failed translation of card makes the test fail
12354 '-evalt', ':kodkod-double-check s <: 0..5 & card(s) = 3',
12355 '-evalf', ':kodkod-double-check s <: 0..5 & card(s) = 3 & 2:s & s <: 1..2',
12356 '-evalt', ':kodkod-double-check s <: -2..5 & card(s) = 8',
12357 '-evalt', ':kodkod-double-check r <: (0..3)*(0..3) & card(r) = 3 & (1,2):r',
12358 '-evalt', ':kodkod-double-check r <: (0..3)*(0..3) & card(dom(r)) = 3 & card(r) = 5',
12359 '-evalt', ':kodkod-double-check s <: 0..30 & card(s) = 31 & x:s & y:s & x*y = 900',
12360 '-evalt', ':kodkod-double-check f : 0..4 --> 0..4 & card(ran(f)) = 2 & card(f~[{1}]) = 3'
12361 ], 'Check that Kodkod can translate the cardinality of integer sets and relations').
12362 cli_testcase(2613, [kodkod], [ '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
12363 % SIGMA: the sum 67 used to overflow to 3 with 7 bits
12364 '-evalf', ':kodkod-double-check s <: 0..20 & card(s) = 4 & SIGMA(z).(z:s|z) = 3',
12365 '-evalt', ':kodkod-double-check s <: 0..20 & SIGMA(z).(z:s|z) = 5 & 2:s',
12366 % empty intervals: x..y = {} does not imply x <= y
12367 '-evalt', ':kodkod-double-check z:2..3 & y:0..1 & s <: -3..0 & (z..y) = s',
12368 '-evalt', ':kodkod-double-check z:-2..-1 & s <: 0..5 & s <: (1..z)',
12369 '-evalf', ':kodkod-double-check z:-2..-1 & s <: 0..5 & s <: (1..z) & 0:s',
12370 % subset with an inconsistent element analysis of the left-hand side
12371 '-evalf', ':kodkod-double-check z:-2..-1 & s <: 0..5 & t <: 0..5 & t /\\ s <: 1..z & 0:s & 0:t',
12372 '-evalt', ':kodkod-double-check z:-2..-1 & s <: 0..5 & t <: 0..5 & not(t /\\ s <: 1..z)',
12373 % only negative integer atoms: probkodkod requires 0 to be an atom
12374 '-evalt', ':kodkod-double-check s <: -3..-1 & card(s) = 2'
12375 ], 'Check Kodkod bugs found by fuzzing with :kodkod-double-check').
12376 cli_testcase(2614, [kodkod], [
12377 % PI is not translated, but the predicate analysis used to fail with a warning
12378 '-evalt', ':kodkod s <: 1..4 & x:0..3 & PI(v).(v:s|v) = 6 & x+1:s',
12379 '-evalf', ':kodkod s <: 1..4 & x:0..3 & PI(v).(v:s|v) = 7 & x+1:s',
12380 % a set extension with an element without analysis information (min) used to be found inconsistent
12381 '-evalt', ':kodkod y:-1..-1 & w:0..3 & t <: 0..5 & p:1..3 & w : {min(t \\/ {p}),y}',
12382 '-expcterr', kodkod_fail % PI and min cannot be translated
12383 ], 'Check Kodkod predicate analysis for PI and min').
12384 cli_testcase(2615, [clingo], [
12385 '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
12386 % clingo does not allow comparing two aggregates, e.g., #count{..} = #count{..}
12387 '-evalt', ':clingo-double-check s <: 1..3 & t <: 1..4 & card(s) = card(t) & 2:s',
12388 '-evalf', ':clingo-double-check s <: 1..3 & t <: 1..4 & card(s) = card(t) & 3:t & s={}',
12389 '-evalt', ':clingo-double-check s <: 1..3 & t <: 1..4 & card(s) /= card(t)',
12390 '-evalt', ':clingo-double-check s <: 1..3 & t <: 1..4 & not(card(s) < card(t))',
12391 '-evalt', ':clingo-double-check s <: 1..3 & t <: 1..4 & max(s) > min(t) & s/={} & t/={}',
12392 '-evalf', ':clingo-double-check s <: 1..3 & t <: 4..5 & max(s) > min(t) & s/={} & t/={}'
12393 ], 'check b2asp comparisons of two set aggregates (found by fuzzing)').
12394 cli_testcase(2616, [smt], ['../prob_examples/public_examples/SMT/Tickets/nary_operators.smt2'
12395 ], 'check SMT-LIB left-associative - and /, pairwise distinct and real division of integers').
12396 cli_testcase(2617, [smt], ['../prob_examples/public_examples/SMT/Tickets/dropped_assertion.smt2',
12397 '-expcterr', 'smtlib2_translation', '-expcterr', 'smtlib2_interpreter',
12398 '-expcterr', 'check_sat_incomplete' % str.len not supported; check-sat must not report sat
12399 ], 'check that SMT-LIB check-sat does not report sat when an assertion could not be translated').
12400 cli_testcase(2618, [smt], ['../prob_examples/public_examples/SMT/Tickets/div_mod.smt2'
12401 ], 'check SMT-LIB Euclidean div and mod, and get-value after several check-sat commands').
12402 cli_testcase(2619, [smt], ['../prob_examples/public_examples/SMT/Tickets/bitvectors.smt2'
12403 ], 'check SMT-LIB bit-vector arithmetic, comparisons, shifts, extract/extend/concat and #x literals').
12404 cli_testcase(2620, [smt], ['../prob_examples/public_examples/SMT/Tickets/to_int.smt2'
12405 ], 'check SMT-LIB to_int, is_int and to_real').
12406 cli_testcase(2621, [kodkod], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
12407 '../prob_examples/public_examples/B/Tickets/Kodkod7_QueensBug/Queen_BoardVersion.mch',
12408 '-init', '-properties', '-assertions'
12409 ], 'Check issue with kodkod integers solved'). % see also test 2607
12410 cli_testcase(2622, [reals], [
12411 '-evalf', '1.0 < r & r < 2.0 & real(floor(r))=r',
12412 '-evalt', '1.0 < r & r <= 2.0 & real(floor(r))=r',
12413 '-evalf', 'x = floor(r) & real(x) > r & r>0.0 & r<100.0' % without explicit bounds it is currently unknown
12414 ], 'tests with real/integer conversion').
12415 cli_testcase(2623, [wd,wd_prover], [
12416 '-evalt', ':wd g : -1..2 --> -1..2 & res = INTER(i).(i:dom(g)|{i,i+1})',
12417 '-evalt', ':wd res = INTER(i).(i:-1..2|{i,i+1})',
12418 '-evalt', ':wd s <: 1..3 & s /= {} & res = inter({y|#(a,b).(a:s & b:1..2 & y={a,b})})',
12419 '-evalt', ':wd s <: 1..3 & res = inter({x|x <: s})',
12420 '-evalt', ':wd res = inter({y|#a.(a:1..3 & y <: {a,a+1})})', % y <: E with E mentioning other bound variables
12421 '-evalt', ':wd res = inter({y|#a.(a:1..3 & y <<: {a,a+1})})',
12422 '-evalt', ':wd s <: 1..3 & s /= {} & res = inter({y|y <<: s})',
12423 '-evalt', ':wd x:1..3 & res = inter({y|#a.(a > x & y={a})})',
12424 '-evalt', ':wd x:1..3 & res = inter({y|#a.(a <= x & y={a})})',
12425 '-evalt', ':wd x:1..3 & res = inter({y|#a.(a /= x & y={a})})',
12426 '-evalt', ':wd x:BOOL & res = inter({y|#a.(a /= x & y={a})})',
12427 '-evalt', ':wd s <: 1..3 & s /= {} & res = inter({y|#(a,b).(a:s & b:a..a & y={b})})', % b:S with S mentioning a
12428 '-evalt', ':wd a:1..3 & s <: 1..3 & s /= {} & res = inter({y|#a.(a:s & y={a})})', % bound a clashes with outer a
12429 '-evalf', ':wd s <: 1..3 & res = INTER(i).(i:s|{i})', % s could be empty
12430 '-evalf', ':wd s <: 1..3 & res = INTER(i).(i:1..3 & i:s|{i})', % ditto
12431 '-evalf', ':wd s <: 1..3 & res = inter({y|#a.(a:s & y <: {a})})', % ditto
12432 '-evalf', ':wd s <: 1..3 & res = inter({y|y <<: s})', % s could be empty
12433 '-evalf', ':wd x:1..3 & res = inter({y|#a.(a > x & a < x & y={a})})',
12434 '-evalf', ':wd a:1..3 & res = inter({y|#(a,b).(a:NATURAL & b:a..3 & y={b})})', % outer a<=3 must not be used for bound a
12435 '-evalf', ':wd s <: 1..3 & s /= {} & res = inter({y|#a.(a:s & y={a} & y={1})})', % empty if s={2}
12436 '-evalt', ':prove {x|x>1} /= {}',
12437 '-evalu', ':prove {x|x>1 & x<1} /= {}',
12438 '-evalu', ':prove {x|x>y+0 & y>x} /= {}',
12439 '-evalt', ':prove x>0 => {v,w| v:1..x & w>v} /= {}',
12440 '-evalu', ':prove x>0 => {v,w| v:2..x & w>v} /= {}',
12441 %'-evalt', ':prove x>1 => {v,w | v:1..x & w:0..v} /= {}', % does not work (yet)
12442 '-evalt', ':prove x>0 => {v,w | v:1..x & w:1..x} /= {}',
12443 '-evalu', ':prove x>1 => {v,w | v:1..x & w:2..v} /= {}',
12444 '-evalt', ':prove x>0 & y>0 => {x,w | x:1..y & w:1..y} /= {}',
12445 '-evalu', ':prove x>0 & y>0 => {x,w | x:1..x & w:1..y} /= {}'
12446 ], 'check WD prover can prove non-emptiness of set comprehensions').
12447 cli_testcase(2624, [visb], [
12448 'tests/visb/VisBConstantId.mch', '-init',
12449 '-visb', '', 'tests/visb/VisBConstantId.html'
12450 ], 'check VisB update id given by constant is evaluated in constants state (title child created)').
12451 cli_testcase(2625, [visb], [
12452 'tests/visb/svg_path/machine/VisBSvgPath.mch', '-init',
12453 '-visb', 'tests/visb/svg_path/json/no_svg_attr.json', 'tests/visb/svg_path/no_svg_attr.html'
12454 ], 'check relative VISB_SVG_FILE is resolved relative to machine when JSON file has no svg attribute').
12455 cli_testcase(2626, [visb], [
12456 'tests/visb/svg_path/machine/VisBSvgPath.mch', '-init',
12457 '-visb', 'tests/visb/svg_path/json/override_svg_attr.json', 'tests/visb/svg_path/override_svg_attr.html'
12458 ], 'check relative VISB_SVG_FILE is resolved relative to machine when overriding svg attribute of JSON file').
12459 cli_testcase(2627, [visb], [
12460 'tests/visb/VisBHoverVisibility.mch', '-init', '-animate', 2,
12461 '-visb_with_vars', '', 'tests/visb/VisBHoverVisibility.html'
12462 ], 'check VisB export with hover making another object visible').
12463 cli_testcase(2628, [visb], [
12464 'tests/visb/VisBViewBoxRecord.mch', '-init',
12465 '-visb', '', 'tests/visb/VisBViewBoxRecord.html'
12466 ], 'check VISB_SVG_BOX with viewBox record').
12467 cli_testcase(2629, [visb], [
12468 'tests/visb/VisBViewBoxWidthError.mch', '-init',
12469 '-visb', '', 'tests/visb/VisBViewBoxWidthError.html',
12470 '-expcterr', visb_visualiser
12471 ], 'check VISB_SVG_BOX with illegal viewBox width').
12472 cli_testcase(2630, [visb], [
12473 'tests/visb/VisBViewBoxMinxError.mch', '-init',
12474 '-visb', '', 'tests/visb/VisBViewBoxMinxError.html',
12475 '-expcterr', visb_visualiser
12476 ], 'check VISB_SVG_BOX with illegal viewBox minx').
12477 cli_testcase(2631, [visb], [
12478 'tests/visb/VisBViewBoxIllegalFields.mch', '-init',
12479 '-visb', '', 'tests/visb/VisBViewBoxIllegalFields.html',
12480 '-expcterr', visb_visualiser
12481 ], 'check VISB_SVG_BOX with illegal viewBox record fields').
12482 cli_testcase(2632, [visb], [
12483 'tests/visb/VisBNoSvg.mch', '-init', '-animate', 3,
12484 '-visb_with_vars', '', 'tests/visb/VisBNoSvg.html',
12485 '-expcterr', visb_visualiser % warning that no JSON file and no VISB_SVG_OBJECTS exist
12486 ], 'check VisB HTML export of trace without SVG (footer must not require SVG)').
12487
12488
12489
12490
12491 % indicate which tests require prior tests to be run
12492 test_requires_previous_test(2584,2583).
12493 test_requires_previous_test(2583,2582).
12494 test_requires_previous_test(2548,2547).
12495 test_requires_previous_test(2547,2546).
12496 test_requires_previous_test(2508,2507).
12497 test_requires_previous_test(2506,2505).
12498
12499 test_requires_previous_test(2503,2502).
12500
12501 test_requires_previous_test(2501,2500).
12502 test_requires_previous_test(2500,2499).
12503 test_requires_previous_test(2499,2498).
12504
12505 % /Users/leuschel/git_root/prob_examples/public_examples/B/Simple/UpCounter.mch -ctlformula 'AG {c<mx}' -p MAXINT 10
12506 % store counter example
12507
12508 % sicstus -l tests/test_runner.pl --goal "id(690-694)."
12509 % INSERT NEW TESTCASES ABOVE THIS LINE; cli_testcase is sorted in ascending order
12510 % ----------------------------------------------------------------------
12511
12512 % ----------------------------------------------------------------------
12513 % ----------------------------------------------------------------------
12514
12515 % ----------------------------------------------------------------------
12516 % IF A NEW TESTCASE REQUIRES CHECKING OUTPUT, ADD NEW LINE(S) BELOW
12517 % cli_testcase_diff_check_output is sorted in descending order
12518
12519 cli_testcase_diff_check_output(2513,
12520 '../prob_examples/public_examples/B/Tester/OpCalls/UseCopy_rw_matrix.csv',
12521 '../prob_examples/public_examples/B/Tester/OpCalls/UseCopy_rw_matrix_saved.csv').
12522 cli_testcase_diff_check_output(2402,
12523 '../prob_examples/public_examples/EventBPrologPackages/MultiLevel/TestMC_m1_sim_error.dot',
12524 '../prob_examples/public_examples/EventBPrologPackages/MultiLevel/TestMC_m1_sim_error_saved.dot').
12525 cli_testcase_diff_check_output(2220,
12526 '../prob_examples/public_examples/B/VisB/TrafficLight/TrafficLight_Trace.txt',
12527 '../prob_examples/public_examples/B/VisB/TrafficLight/TrafficLight_Trace_Saved.txt').
12528 cli_testcase_diff_check_output(2190,
12529 '../prob_examples/public_examples/CSP/simple/RefinementChecks_A_spec.P',
12530 '../prob_examples/public_examples/CSP/simple/RefinementChecks_A_spec_saved.P').
12531 cli_testcase_diff_check_output(2154,'../prob_examples/public_examples/B/Tickets/PartitionPrettyPrintBug/ABZ16_m4_pp.mch',
12532 '../prob_examples/public_examples/B/Tickets/PartitionPrettyPrintBug/ABZ16_m4_Internal.mch').
12533 cli_testcase_diff_check_output(2094,'../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/TLA_Examples/prob_cbc_counterexample_test2094.mch',
12534 '../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/TLA_Examples/prob_cbc_counterexample.mch').
12535 cli_testcase_diff_check_output(2093,'../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/TLA_Examples/prob_bmc_counterexample_test2093.mch',
12536 '../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/TLA_Examples/prob_bmc_counterexample.mch').
12537 cli_testcase_diff_check_output(2061,'../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt','../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result_true.txt').
12538 cli_testcase_diff_check_output(2051,
12539 '../prob_examples/public_examples/B/Tester/ReadWriteAnalysis/BecomesSuchTest2_rw.csv',
12540 '../prob_examples/public_examples/B/Tester/ReadWriteAnalysis/BecomesSuchTest2_rw_saved.csv').
12541 cli_testcase_diff_check_output(2050,
12542 '../prob_examples/public_examples/B/Tester/ReadWriteAnalysis/BecomesSuchTest_rw.csv',
12543 '../prob_examples/public_examples/B/Tester/ReadWriteAnalysis/BecomesSuchTest_rw_saved.csv').
12544 cli_testcase_diff_check_output(2035,'../prob_examples/public_examples/B/CBC/DeadlockTest_his.txt','../prob_examples/public_examples/B/CBC/DeadlockTest_his_saved.txt').
12545 cli_testcase_diff_check_output(2031,'../prob_examples/public_examples/B/Benchmarks/CAN_BUS_tlc_rw_matrix.csv','../prob_examples/public_examples/B/Benchmarks/CAN_BUS_tlc_rw_matrix_saved.csv').
12546 cli_testcase_diff_check_output(1941,'../prob_examples/public_examples/B/RefinementChecking/LinkingInvariants/M1_invariant.dot', '../prob_examples/public_examples/B/RefinementChecking/LinkingInvariants/M1_invariant_saved.dot').
12547 cli_testcase_diff_check_output(1941,'../prob_examples/public_examples/B/RefinementChecking/LinkingInvariants/M1_hierarchy.dot', '../prob_examples/public_examples/B/RefinementChecking/LinkingInvariants/M1_hierarchy_saved.dot').
12548 cli_testcase_diff_check_output(1937,'../prob_examples/public_examples/B/Pragmas/TestLabel_pp.mch','../prob_examples/public_examples/B/Pragmas/TestLabel_pp_saved.mch').
12549
12550 cli_testcase_diff_check_output(1915,'../prob_examples/examples/B/Alstom/etcs/actions_feasibility.csv',
12551 '../prob_examples/examples/B/Alstom/etcs/actions_feasibility_saved.csv').
12552 cli_testcase_diff_check_output(1904,'../prob_examples/examples/B/ASTD/wetransfer-545a33/Case_Study_Handmade/TRAIN_CONTROL_M6_rw_matrix.csv',
12553 '../prob_examples/examples/B/ASTD/wetransfer-545a33/Case_Study_Handmade/TRAIN_CONTROL_M6_rw_matrix_saved.csv').
12554 cli_testcase_diff_check_output(1840,'../prob_examples/public_examples/Latex/tests/prob_latex_doc.tex',
12555 '../prob_examples/public_examples/Latex/tests/prob_latex_doc_saved.tex').
12556 cli_testcase_diff_check_output(1837,'../prob_examples/public_examples/B/CBC/Enabling/OpCallSelect_feasibility.csv',
12557 '../prob_examples/public_examples/B/CBC/Enabling/OpCallSelect_feasibility_saved.csv').
12558 cli_testcase_diff_check_output(1810,'../prob_examples/public_examples/B/Tickets/UnicodeSupport/TestUmlauteInString_Internal.mch',
12559 '../prob_examples/public_examples/B/Tickets/UnicodeSupport/TestUmlauteInString_Internal_Saved.mch').
12560 cli_testcase_diff_check_output(1797,'../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Concurrent_Program_Development/conc_4_rw_matrix.csv',
12561 '../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Concurrent_Program_Development/conc_4_rw_matrix_saved.csv').
12562 cli_testcase_diff_check_output(1793,'../prob_examples/examples/B/Amira_Genisys/ConferenceReviewSystem/Functional_Simplified_v2_enabling.csv',
12563 '../prob_examples/examples/B/Amira_Genisys/ConferenceReviewSystem/Functional_Simplified_v2_enabling_saved.csv').
12564 cli_testcase_diff_check_output(1771,'../prob_examples/public_examples/B/CBC/Enabling/OpParameterTests_enabling_analysis.csv', '../prob_examples/public_examples/B/CBC/Enabling/OpParameterTests_enabling_analysis_saved.csv').
12565 cli_testcase_diff_check_output(1770,'../prob_examples/public_examples/B/CBC/Enabling/ChoiceByPredicate_enabling_analysis.csv', '../prob_examples/public_examples/B/CBC/Enabling/ChoiceByPredicate_enabling_analysis_saved.csv').
12566 cli_testcase_diff_check_output(1703,'../prob_examples/public_examples/EventBPrologPackages/Advance/CAN_Bus/CB3FSMM_mch_v2_enabling_analysis.csv', '../prob_examples/public_examples/EventBPrologPackages/Advance/CAN_Bus/CB3FSMM_mch_v2_enabling_analysis_saved.csv').
12567 cli_testcase_diff_check_output(1702,'../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_enabling_analysis.csv', '../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_enabling_analysis_saved.csv').
12568 cli_testcase_diff_check_output(1676,'../prob_examples/examples/EventBPrologPackages/Soton/MCM_Tests/tests.xml', '../prob_examples/examples/EventBPrologPackages/Soton/MCM_Tests/FENCEM7_mcm_tests_1675_saved.xml').
12569 cli_testcase_diff_check_output(1675,'../prob_examples/public_examples/B/TestCaseGeneration/MCM_Tests/SimpleTestModel_mcm_tests.xml', '../prob_examples/public_examples/B/TestCaseGeneration/MCM_Tests/SimpleTestModel_mcm_tests_saved.xml').
12570 %cli_testcase_diff_check_output(1665,'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/Records_internal.mch',
12571 % '../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/Records_internal_saved.mch').
12572 cli_testcase_diff_check_output(1543,'../prob_examples/public_examples/B/Tickets/Beauger2/bug_not_labels_corrected_ppf.mch','../prob_examples/public_examples/B/Tickets/Beauger2/bug_not_labels_corrected_ppf_saved.mch').
12573 cli_testcase_diff_check_output(1494,'../prob_examples/public_examples/B/Ivo/NoDisablings_mx5_Coverage.txt','../prob_examples/public_examples/B/Ivo/NoDisablings_mx5_Coverage_saved.txt').
12574 cli_testcase_diff_check_output(1493,'../prob_examples/public_examples/B/Ivo/SkippingComplexGuardsEvaluation_mch_mx5000_Coverage.txt','../prob_examples/public_examples/B/Ivo/SkippingComplexGuardsEvaluation_mch_mx5000_Coverage_saved.txt').
12575 cli_testcase_diff_check_output(1451,'../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt','../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result_true.txt').
12576 cli_testcase_diff_check_output(1439,'../prob_examples/public_examples/B/Tickets/LambdaInverse/LambdaInverseBehaviour.sptxt','../prob_examples/public_examples/B/Tickets/LambdaInverse/LambdaInverseBehaviour_saved.sptxt').
12577 cli_testcase_diff_check_output(1405,'../prob_examples/public_examples/B/Simple/VerySimpleDFA_transition_diagram.dot','../prob_examples/public_examples/B/Simple/VerySimpleDFA_transition_diagram_saved.dot').
12578 cli_testcase_diff_check_output(1402,'../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt','../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result_true.txt').
12579 cli_testcase_diff_check_output(1389,'../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt','../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result_defset.txt').
12580 cli_testcase_diff_check_output(1388,'../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt','../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result_true.txt').
12581 cli_testcase_diff_check_output(1387,'../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt','../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result_enumwarning.txt').
12582 cli_testcase_diff_check_output(1386,'../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt','../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result_false.txt').
12583 cli_testcase_diff_check_output(1383,'../prob_examples/examples/B/Alstom/Ticket_Dec08_2014/Segment_refAdhesionLevel_GER5_sptxt.txt','../prob_examples/examples/B/Alstom/Ticket_Dec08_2014/Segment_refAdhesionLevel_GER5_sptxt_saved.txt').
12584 cli_testcase_diff_check_output(1378,'../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_DB_SIGAREA_0024_ori.his','../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_DB_SIGAREA_0024_ori_saved.his').
12585 cli_testcase_diff_check_output(1377,'../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_TMS_Overlap_0017_2_ori.his','../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_TMS_Overlap_0017_2_ori_saved.his').
12586 cli_testcase_diff_check_output(1377,'../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_TMS_Overlap_0017_2_ori.sptxt','../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_TMS_Overlap_0017_2_ori_saved.sptxt').
12587 % the provided counter-example varies for test 1366:
12588 %cli_testcase_diff_check_output(1366,'../prob_examples/public_examples/B/SymbolicModelChecking/TimingExampleSimpler_v2_his.txt',
12589 % '../prob_examples/public_examples/B/SymbolicModelChecking/TimingExampleSimpler_v2_his_saved.txt').
12590 cli_testcase_diff_check_output(1364,'../prob_examples/public_examples/B/Demo/scheduler_his.txt',
12591 '../prob_examples/public_examples/B/Demo/scheduler_his_ctl_saved.txt').
12592 cli_testcase_diff_check_output(1363,'../prob_examples/public_examples/B/Simple/UpCounter_his.txt',
12593 '../prob_examples/public_examples/B/Simple/UpCounter_his_ctl20_saved.txt').
12594 cli_testcase_diff_check_output(1360,'../prob_examples/public_examples/B/CBC/FeasibilityOperationCheck_feasibility.csv',
12595 '../prob_examples/public_examples/B/CBC/FeasibilityOperationCheck_feasibility_saved.csv').
12596 cli_testcase_diff_check_output(1358,'../prob_examples/examples/EventBPrologPackages/Savary/R08_ByteArray_enum_partition_feasibility.csv',
12597 '../prob_examples/examples/EventBPrologPackages/Savary/R08_ByteArray_enum_partition_feasibility_saved.csv').
12598 cli_testcase_diff_check_output(1357,'../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_cbc_tests.xml',
12599 '../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_cbc_tests_saved.xml').
12600 cli_testcase_diff_check_output(1341,'../prob_examples/public_examples/B/Demo/Bakery0_all_paths.xml',
12601 '../prob_examples/public_examples/B/Demo/Bakery0_all_paths_saved.xml').
12602 %cli_testcase_diff_check_output(1339,'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/GenericUsageOfSquare_internal.mch',
12603 % '../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/GenericUsageOfSquare_internal_saved.mch').
12604 cli_testcase_diff_check_output(1319,'../prob_examples/public_examples/B/Demo/scheduler_bf_states.P','../prob_examples/public_examples/B/Demo/scheduler_bf_saved_states.P').
12605 cli_testcase_diff_check_output(1271,'../prob_examples/public_examples/B/Tickets/Hansen10/PrettyPrintBug_his.txt','../prob_examples/public_examples/B/Tickets/Hansen10/PrettyPrintBug_his_saved.txt').
12606 cli_testcase_diff_check_output(1196,'../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr.csv','../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr_saved.csv').
12607 cli_testcase_diff_check_output(1148,'../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Peterson/peterson_R_Coverage_POR.txt','../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Peterson/peterson_R_Coverage_saved.txt').
12608 cli_testcase_diff_check_output(1147,'../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Peterson/em_abs_Coverage_POR.txt','../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Peterson/em_abs_Coverage_saved.txt').
12609 cli_testcase_diff_check_output(1144,'../prob_examples/public_examples/B/Ivo/BenchmarksPOR/BPEL2B/Model_Machine_4_NoDeadlock_v5_Coverage_POR.txt','../prob_examples/public_examples/B/Ivo/BenchmarksPOR/BPEL2B/Model_Machine_4_NoDeadlock_v5_Coverage_saved.txt').
12610 cli_testcase_diff_check_output(1119,'../prob_examples/public_examples/CSPB/Tickets/Bauer/machine_his.txt','../prob_examples/public_examples/CSPB/Tickets/Bauer/machine_his_saved.txt').
12611 cli_testcase_diff_check_output(1116,'../prob_examples/public_examples/EventBPrologPackages/Tests/UnicodeIds_spdot.dot','../prob_examples/public_examples/EventBPrologPackages/Tests/UnicodeIds_spdot_saved.dot').
12612 cli_testcase_diff_check_output(1045,'../prob_examples/examples/RodinModels/Deploy/Bosch/CruiseControl/CrsCtl_m4_Coverage_pge.txt','../prob_examples/examples/RodinModels/Deploy/Bosch/CruiseControl/CrsCtl_m4_Coverage.txt').
12613 cli_testcase_diff_check_output(1044,'../prob_examples/public_examples/B/EventB/EventB_Projekt/lift_solution_Coverage_pge.txt','../prob_examples/public_examples/B/EventB/EventB_Projekt/lift_solution_Coverage.txt').
12614 cli_testcase_diff_check_output(1043,'../prob_examples/public_examples/B/Benchmarks/CAN_BUS_tlc.cov','../prob_examples/public_examples/B/Benchmarks/CAN_BUS_tlc_saved.cov').
12615 cli_testcase_diff_check_output(1033,'../prob_examples/public_examples/B/Benchmarks/scheduler_transition_diagram.dot','../prob_examples/public_examples/B/Benchmarks/scheduler_transition_diagram_saved.dot').
12616 cli_testcase_diff_check_output(989,'../prob_examples/public_examples/EventBPrologPackages/PerformanceTests/LargeConstants_ctx_internal.mch','../prob_examples/public_examples/EventBPrologPackages/PerformanceTests/LargeConstants_ctx_internal_saved.mch').
12617 cli_testcase_diff_check_output(988,'../prob_examples/public_examples/CSP/simple/Copy_spmdot.dot','../prob_examples/public_examples/CSP/simple/Copy_spmdot_saved.dot').
12618 cli_testcase_diff_check_output(988,'../prob_examples/public_examples/CSP/simple/Copy_spddot.dot','../prob_examples/public_examples/CSP/simple/Copy_spddot_saved.dot').
12619 cli_testcase_diff_check_output(987,'../prob_examples/public_examples/EventBPrologPackages/Advance/CAN_Bus/CB3FSMM_mch_v2_por.cov','../prob_examples/public_examples/EventBPrologPackages/Advance/CAN_Bus/CB3FSMM_mch_v2.cov').
12620 cli_testcase_diff_check_output(977,'../prob_examples/public_examples/B/Ivo/BridgeTransitions_por.cov','../prob_examples/public_examples/B/Ivo/BridgeTransitions.cov').
12621 cli_testcase_diff_check_output(982,'../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_TMS_Overlap_0017_1_ori.his','../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_TMS_Overlap_0017_1_ori_saved.his').
12622 cli_testcase_diff_check_output(981,'../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_DB_Route_0001ori.his','../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_DB_Route_0001ori_saved.his').
12623 cli_testcase_diff_check_output(980,'../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_DB_SIGAREA_0024_ori.his','../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_DB_SIGAREA_0024_ori_saved.his').
12624 cli_testcase_diff_check_output(979,'../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_TMS_Overlap_0017_2_ori.his','../prob_examples/examples/B/Alstom/CompilatonProject/Regles/Rule_TMS_Overlap_0017_2_ori_saved.his').
12625 %cli_testcase_diff_check_output(957,'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/DifferentUnitNotations_internal.mch',
12626 %'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/DifferentUnitNotations_internal_saved.mch').
12627 cli_testcase_diff_check_output(944,'../prob_examples/public_examples/Eval/evalout.dot','../prob_examples/public_examples/Eval/evalout_saved.dot').
12628 %cli_testcase_diff_check_output(942,'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/Case_internal.mch',
12629 %'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/Case_internal_saved.mch').
12630 cli_testcase_diff_check_output(894,'../prob_examples/public_examples/B/Daniel/minienabling_analysis.csv',
12631 '../prob_examples/public_examples/B/Daniel/minienabling_analysis_saved.csv').
12632 %cli_testcase_diff_check_output(881,'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/Choice_internal.mch',
12633 %'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/Choice_internal_saved.mch').
12634 %cli_testcase_diff_check_output(865,'../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/TestingUnicodeFeatures_no_unicode.csp',
12635 %'../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/TestingUnicodeFeatures_no_unicode_saved.csp').
12636 %cli_testcase_diff_check_output(864,'../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/TestingUnicodeFeatures_unicode.csp',
12637 %'../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/TestingUnicodeFeatures_unicode_saved.csp').
12638 cli_testcase_diff_check_output(808,'../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr_state_graph.dot',
12639 '../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr_state_graph_saved.dot').
12640 cli_testcase_diff_check_output(767,'../prob_examples/examples/B/Siemens/BAC9_ZC/pas_as_env_inv_ld_sptxt.txt',
12641 '../prob_examples/examples/B/Siemens/BAC9_ZC/pas_as_env_inv_ld_sptxt_saved.txt').
12642 %cli_testcase_diff_check_output(707,'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_nuclear/C_m3_internal.mch',
12643 %'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_nuclear/C_m3_internal_saved.mch').
12644 %cli_testcase_diff_check_output(706,'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_nuclear/C_m2_internal.mch',
12645 %'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_nuclear/C_m2_internal_saved.mch').
12646 %cli_testcase_diff_check_output(705,'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_nuclear/C_m1_internal.mch',
12647 %'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_nuclear/C_m1_internal_saved.mch').
12648 %cli_testcase_diff_check_output(704,'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_nuclear/C_m0_internal.mch',
12649 %'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_nuclear/C_m0_internal_saved.mch').
12650 %cli_testcase_diff_check_output(701,'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_train/T_m1_internal.mch',
12651 %'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_train/T_m1_internal_saved.mch').
12652 %cli_testcase_diff_check_output(700,'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_train/T_m0_internal.mch',
12653 %'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/Abrial_Hybrid/hybrid_train/T_m0_internal_saved.mch').
12654 %cli_testcase_diff_check_output(696,'../prob_examples/public_examples/B/PragmasUnits/InferenceTests/InvolvedConstraintUnitsUnsat_internal.mch',
12655 %'../prob_examples/public_examples/B/PragmasUnits/InferenceTests/InvolvedConstraintUnitsUnsat_internal_saved.mch').
12656 %cli_testcase_diff_check_output(695,'../prob_examples/public_examples/B/PragmasUnits/InferenceTests/InvolvedConstraintUnits_internal.mch',
12657 %'../prob_examples/public_examples/B/PragmasUnits/InferenceTests/InvolvedConstraintUnits_internal_saved.mch').
12658 %cli_testcase_diff_check_output(686,'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/SequenceOperations_internal.mch',
12659 %'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/SequenceOperations_internal_saved.mch').
12660 %cli_testcase_diff_check_output(683,'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/AdditionConversion_internal.mch',
12661 %'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/AdditionConversion_internal_saved.mch').
12662 %cli_testcase_diff_check_output(681,'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/IntegerOperations_internal.mch',
12663 %'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/IntegerOperations_internal_saved.mch').
12664 %cli_testcase_diff_check_output(680,'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/FuelLevel/fuel_i_internal.mch',
12665 %'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/FuelLevel/fuel_i_internal_saved.mch').
12666 %cli_testcase_diff_check_output(679,'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/FuelLevel/fuel0_internal.mch',
12667 %'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/FuelLevel/fuel0_internal_saved.mch').
12668 %cli_testcase_diff_check_output(678,'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/FuelLevel/ctx_i_internal.mch',
12669 %'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/FuelLevel/ctx_i_internal_saved.mch').
12670 %cli_testcase_diff_check_output(677,'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/FuelLevel/ctx_internal.mch',
12671 %'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/FuelLevel/ctx_internal_saved.mch').
12672 %cli_testcase_diff_check_output(676,'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/UserDefinedAlias_internal.mch',
12673 %'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/UserDefinedAlias_internal_saved.mch').
12674 %cli_testcase_diff_check_output(675,'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/IfTypeAndClash_internal.mch',
12675 %'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/IfTypeAndClash_internal_saved.mch').
12676 %cli_testcase_diff_check_output(673,'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/IrregularConversions_internal.mch',
12677 % '../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/IrregularConversions_internal_saved.mch').
12678 %cli_testcase_diff_check_output(667,'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/TrafficLightWarning/System_internal.mch',
12679 % '../prob_examples/public_examples/B/PragmasUnits/CaseStudies/TrafficLightWarning/System_internal_saved.mch').
12680 %cli_testcase_diff_check_output(666,'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/TrafficLightWarning/TrafficLight_internal.mch',
12681 % '../prob_examples/public_examples/B/PragmasUnits/CaseStudies/TrafficLightWarning/TrafficLight_internal_saved.mch').
12682 %cli_testcase_diff_check_output(665,'../prob_examples/public_examples/B/PragmasUnits/CaseStudies/TrafficLightWarning/Car_internal.mch',
12683 % '../prob_examples/public_examples/B/PragmasUnits/CaseStudies/TrafficLightWarning/Car_internal_saved.mch').
12684 %cli_testcase_diff_check_output(662,'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/KnownExponent_internal.mch',
12685 % '../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/KnownExponent_internal_saved.mch').
12686 %cli_testcase_diff_check_output(661,'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/MultiplicationConversion_internal.mch',
12687 %'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/MultiplicationConversion_internal_saved.mch').
12688 %cli_testcase_diff_check_output(657,'../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/SimpleCorrectUsage_internal.mch',
12689 % '../prob_examples/public_examples/B/PragmasUnits/InternalRepresentationTests/SimpleCorrectUsage_internal_saved.mch').
12690 cli_testcase_diff_check_output(634,'../prob_examples/public_examples/B/Kodkod/Loop_statespace.dot',
12691 '../prob_examples/public_examples/B/Kodkod/Loop_statespace_saved.dot').
12692 cli_testcase_diff_check_output(616,'../prob_examples/public_examples/B/Tester/Partition_internal.mch',
12693 '../prob_examples/public_examples/B/Tester/Partition_internal_saved.mch').
12694 cli_testcase_diff_check_output(613,'../prob_examples/public_examples/B/Pragmas/AssertionPragmas_internal.mch',
12695 '../prob_examples/public_examples/B/Pragmas/AssertionPragmas_internal_saved.mch').
12696 cli_testcase_diff_check_output(540,'../prob_examples/public_examples/B/TestCaseGeneration/SimpleCounter_results.xml',
12697 '../prob_examples/public_examples/B/TestCaseGeneration/SimpleCounter_results_saved.xml').
12698
12699 cli_testcase_diff_check_output(514,'../prob_examples/public_examples/B/Mathematical/Voting/dot_output/NoCondorcetWinnerKodkod_A0_true.dot','../prob_examples/public_examples/B/Mathematical/Voting/dot_output/NoCondorcetWinnerKodkod_A0_true_saved.dot').
12700 cli_testcase_diff_check_output(514,'../prob_examples/public_examples/B/Mathematical/Voting/dot_output/NoCondorcetWinnerKodkod_A1_true.dot','../prob_examples/public_examples/B/Mathematical/Voting/dot_output/NoCondorcetWinnerKodkod_A1_true_saved.dot').
12701 cli_testcase_diff_check_output(514,'../prob_examples/public_examples/B/Mathematical/Voting/dot_output/NoCondorcetWinnerKodkod_A2_true.dot','../prob_examples/public_examples/B/Mathematical/Voting/dot_output/NoCondorcetWinnerKodkod_A2_true_saved.dot').
12702 cli_testcase_diff_check_output(514,'../prob_examples/public_examples/B/Mathematical/Voting/dot_output/NoCondorcetWinnerKodkod_A3_true.dot','../prob_examples/public_examples/B/Mathematical/Voting/dot_output/NoCondorcetWinnerKodkod_A3_true_saved.dot').
12703
12704
12705 cli_testcase_diff_check_output(584,'../prob_examples/public_examples/TLA/ErrorTests/GraphIso_tla.mch', '../prob_examples/public_examples/TLA/ErrorTests/GraphIso_tla_saved.mch').
12706 cli_testcase_diff_check_output(563,'../prob_examples/public_examples/B/Daniel/TestM_testcases.xml', '../prob_examples/public_examples/B/Daniel/TestM_testcases_saved.xml').
12707 cli_testcase_diff_check_output(562,'../prob_examples/public_examples/EventBPrologPackages/Pitesti/bank_testfile.xml','../prob_examples/public_examples/EventBPrologPackages/Pitesti/bank_testfile_saved.xml').
12708 cli_testcase_diff_check_output(515,'../prob_examples/public_examples/B/Demo/scheduler_spdot.dot','../prob_examples/public_examples/B/Demo/scheduler_spdot_saved.dot').
12709 cli_testcase_diff_check_output(515,'../prob_examples/public_examples/B/Demo/scheduler_spmdot.dot','../prob_examples/public_examples/B/Demo/scheduler_spmdot_saved.dot').
12710 cli_testcase_diff_check_output(515,'../prob_examples/public_examples/B/Demo/scheduler_spddot.dot','../prob_examples/public_examples/B/Demo/scheduler_spddot_saved.dot').
12711 cli_testcase_diff_check_output(510,'../prob_examples/public_examples/B/Laws/RelLaws_internal.mch','../prob_examples/public_examples/B/Laws/RelLaws_internal_saved.mch').
12712 cli_testcase_diff_check_output(500,'../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_pp.mch','../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_prettyprintedf.mch').
12713 cli_testcase_diff_check_output(499,'../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_pp.mch','../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_prettyprintedf.mch').
12714 cli_testcase_diff_check_output(498,'../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_pp.mch','../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_pp_saved.mch').
12715 cli_testcase_diff_check_output(497,'../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_pp.mch','../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_prettyprinted.mch').
12716 cli_testcase_diff_check_output(451,'../prob_examples/public_examples/B/Simple/UpCounter_his.txt','../prob_examples/public_examples/B/Simple/UpCounter_his_saved.txt').
12717 cli_testcase_diff_check_output(452,'../prob_examples/public_examples/B/Simple/UpCounter_his.txt','../prob_examples/public_examples/B/Simple/UpCounter_his_saved2.txt').
12718 cli_testcase_diff_check_output(453,'../prob_examples/public_examples/B/Simple/UpCounter_his.txt','../prob_examples/public_examples/B/Simple/UpCounter_his_saved3.txt').
12719 cli_testcase_diff_check_output(454,'../prob_examples/public_examples/B/Simple/UpCounter_his.txt','../prob_examples/public_examples/B/Simple/UpCounter_his_saved4.txt').
12720 cli_testcase_diff_check_output(455,'../prob_examples/public_examples/B/Simple/UpCounter_sptxt.txt','../prob_examples/public_examples/B/Simple/UpCounter_sptxt_saved.txt').
12721 cli_testcase_diff_check_output(461,'../prob_examples/public_examples/B/Daniel/rel_fnc_his.txt','../prob_examples/public_examples/B/Daniel/rel_fnc_his_saved.txt').
12722
12723 cli_testcase_diff_check_output(462,'../prob_examples/public_examples/B/Simple/UpCounter_his.txt','../prob_examples/public_examples/B/Simple/UpCounter_his_saved3.txt').
12724 cli_testcase_diff_check_output(463,'../prob_examples/public_examples/B/CBC/SimpleDeadlock1_his.txt','../prob_examples/public_examples/B/CBC/SimpleDeadlock1_his_saved.txt'). % FAILS with old write_history
12725 cli_testcase_diff_check_output(464,'../prob_examples/public_examples/B/CBC/ProcessIDStarvation_InvErr_his.txt','../prob_examples/public_examples/B/CBC/ProcessIDStarvation_InvErr_his_saved.txt').
12726 cli_testcase_diff_check_output(466,'../prob_examples/public_examples/B/PerformanceTests/WhileLoopBench_his.txt','../prob_examples/public_examples/B/PerformanceTests/WhileLoopBench_saved_his.txt').
12727 cli_testcase_diff_check_output(467,'../prob_examples/public_examples/B/FeatureChecks/IFTHENELSE_his.txt','../prob_examples/public_examples/B/FeatureChecks/IFTHENELSE_saved_his.txt').
12728 cli_testcase_diff_check_output(468,'../prob_examples/public_examples/B/Puzzles/Farmer_sptxt.txt','../prob_examples/public_examples/B/Puzzles/Farmer_saved_sptxt.txt').
12729 cli_testcase_diff_check_output(468,'../prob_examples/public_examples/B/Puzzles/Farmer_his.txt','../prob_examples/public_examples/B/Puzzles/Farmer_saved_his.txt').
12730 cli_testcase_diff_check_output(469,'../prob_examples/public_examples/B/PerformanceTests/LargeSets/LargeExplicitSet_sptxt.txt','../prob_examples/public_examples/B/PerformanceTests/LargeSets/LargeExplicitSet_saved_sptxt.txt').
12731 cli_testcase_diff_check_output(470,'../prob_examples/public_examples/EventBPrologPackages/Abrial_Train_Ch17/train_4_mch_lukas_his.txt','../prob_examples/public_examples/EventBPrologPackages/Abrial_Train_Ch17/train_4_mch_lukas_saved_his.txt').
12732 cli_testcase_diff_check_output(470,'../prob_examples/public_examples/EventBPrologPackages/Abrial_Train_Ch17/train_4_mch_lukas_sptxt.txt','../prob_examples/public_examples/EventBPrologPackages/Abrial_Train_Ch17/train_4_mch_lukas_saved_sptxt.txt').
12733 cli_testcase_diff_check_output(471,'../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr_sptxt.txt','../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr_saved_sptxt.txt').
12734 cli_testcase_diff_check_output(471,'../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr_his.txt','../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr_saved_his.txt').
12735 cli_testcase_diff_check_output(472,'../prob_examples/public_examples/B/SchneiderBook/Chapter12/TownsRRR_sptxt.txt','../prob_examples/public_examples/B/SchneiderBook/Chapter12/TownsRRR_saved_sptxt.txt').
12736 cli_testcase_diff_check_output(472,'../prob_examples/public_examples/B/SchneiderBook/Chapter12/TownsRRR_his.txt','../prob_examples/public_examples/B/SchneiderBook/Chapter12/TownsRRR_saved_his.txt').
12737 cli_testcase_diff_check_output(473,'../prob_examples/public_examples/B/NewSyntax/SET_Game_Rec_sptxt.txt','../prob_examples/public_examples/B/NewSyntax/SET_Game_Rec_saved_sptxt.txt').
12738 cli_testcase_diff_check_output(473,'../prob_examples/public_examples/B/NewSyntax/SET_Game_Rec_his.txt','../prob_examples/public_examples/B/NewSyntax/SET_Game_Rec_saved_his.txt').
12739 cli_testcase_diff_check_output(474,'../prob_examples/public_examples/B/ExpressionViewer/dot_output/TotFunAnalyseTest_A0_true.dot','../prob_examples/public_examples/B/ExpressionViewer/dot_output/TotFunAnalyseTest_A0_true_saved.dot').
12740 cli_testcase_diff_check_output(474,'../prob_examples/public_examples/B/ExpressionViewer/dot_output/TotFunAnalyseTest_A1_false.dot','../prob_examples/public_examples/B/ExpressionViewer/dot_output/TotFunAnalyseTest_A1_false_saved.dot').
12741 cli_testcase_diff_check_output(474,'../prob_examples/public_examples/B/ExpressionViewer/dot_output/TotFunAnalyseTest_A2_false.dot','../prob_examples/public_examples/B/ExpressionViewer/dot_output/TotFunAnalyseTest_A2_false_saved.dot').
12742 cli_testcase_diff_check_output(474,'../prob_examples/public_examples/B/ExpressionViewer/dot_output/TotFunAnalyseTest_A3_false.dot','../prob_examples/public_examples/B/ExpressionViewer/dot_output/TotFunAnalyseTest_A3_false_saved.dot').
12743 cli_testcase_diff_check_output(474,'../prob_examples/public_examples/B/ExpressionViewer/dot_output/TotFunAnalyseTest_A4_false.dot','../prob_examples/public_examples/B/ExpressionViewer/dot_output/TotFunAnalyseTest_A4_false_saved.dot').
12744 cli_testcase_diff_check_output(476,'../prob_examples/public_examples/B/Tickets/Mejia1/TestInit_statespace.dot','../prob_examples/public_examples/B/Tickets/Mejia1/TestInit_statespace_saved.dot').
12745 cli_testcase_diff_check_output(479,'../prob_examples/public_examples/B/Puzzles/WhoKilledAgatha_statespace.dot','../prob_examples/public_examples/B/Puzzles/WhoKilledAgatha_statespace_saved.dot').
12746 cli_testcase_diff_check_output(480,'../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_statespace.dot','../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_statespace_saved.dot').
12747 cli_testcase_diff_check_output(383,'../prob_examples/public_examples/B/Puzzles/SudokuHexAsConstant_sptxt.txt','../prob_examples/public_examples/B/Puzzles/SudokuHexAsConstant_sptxt_saved.txt').
12748
12749 % specify that a testcase output file should not be deleted before running the tests
12750 cli_testcase_do_not_delete(584,'../prob_examples/public_examples/TLA/ErrorTests/GraphIso_tla.mch').
12751
12752 % declaration of additinoal testcase files; in order to be able to generate archives
12753 % of standalone tests
12754 extra_testcase_file(305,'../prob_examples/public_examples/B/Laws/REPL_UNIT_TESTS0.def').
12755 extra_testcase_file(306,'../prob_examples/public_examples/B/Laws/REPL_UNIT_TESTS1.def').
12756 extra_testcase_file(307,'../prob_examples/public_examples/B/Laws/REPL_UNIT_TESTS.def').
12757 extra_testcase_file(465,'../prob_examples/public_examples/B/Simple/UpCounter_saved10.P').
12758 extra_testcase_file(472,'../prob_examples/public_examples/B/SchneiderBook/Chapter12/TownsRR.ref').
12759 extra_testcase_file(472,'../prob_examples/public_examples/B/SchneiderBook/Chapter12/TownsR.ref').
12760 extra_testcase_file(472,'../prob_examples/public_examples/B/SchneiderBook/Chapter12/Towns.mch').
12761 extra_testcase_file(475,'../prob_examples/public_examples/B/Laws/REPL_UNIT_TESTS2.def').
12762
12763 % use
12764 % sicstus -l tests/test_runner.pl --goal "run_last_test, halt ; halt."
12765 % or
12766 % make runlast
12767 % to just run last test case
12768 % use
12769 % sicstus -l tests/test_runner.pl --goal "id(ID), halt ; halt."
12770 % to run a specific test