Imports | Exports |
---|---|
Name: module_info/2 Module: module_information Name: append/2 Module: lists Name: host_platform/1 Module: tools_platform Name: platform_is_64_bit/0 Module: tools_platform Name: get_parser_version/6 Module: parsercall | Name: cli_testcase/5 Name: set_generating_coverage/0 Name: unset_generating_coverage/0 Name: test_requires_extension/3 Name: test_category_requires_extension/2 Name: cli_testcase_diff_check_output/3 Name: cli_testcase_do_not_delete/2 Name: extra_testcase_file/2 |
additional_configuration(37, conditional_skip(\+(platform_is_64_bit))). /* CLP(FD) buffer overflow on win32 */
additional_configuration(43, conditional_skip(\+(platform_is_64_bit))). /* integer too large for 32-bit systems */
additional_configuration(50, conditional_skip(host_platform(windows))).
additional_configuration(161, conditional_skip(host_platform(windows))).
additional_configuration(271, conditional_skip(host_platform(windows))).
additional_configuration(539, conditional_skip(host_platform(windows))).
additional_configuration(469, conditional_skip(\+(platform_is_64_bit))). /* timeout */
additional_configuration(767, conditional_skip(\+(platform_is_64_bit))). /* integer overflow on 32-bit systems */
additional_configuration(875, skip). % The type checker temporarily also allows {x|->y | x=y+1 } (added to support UNION/INTER with Prolog BParser)
additional_configuration(943, skip). % Skip until we move to new parser
additional_configuration(1101, conditional_skip(\+(platform_is_64_bit))). % not enough memory
additional_configuration(1102, conditional_skip(\+(platform_is_64_bit))). % not enough memory
additional_configuration(1103, conditional_skip(\+(platform_is_64_bit))). % not enough memory
additional_configuration(1131, conditional_skip(\+(platform_is_64_bit))). % not enough memory
additional_configuration(1157, conditional_skip(\+(platform_is_64_bit))). % not enough memory
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?! */
additional_configuration(1207, conditional_skip(\+(platform_is_64_bit))). /* integer overflow on 32-bit systems */
additional_configuration(1360, conditional_skip(\+(platform_is_64_bit))). /* funnily enough: no clpfd overflow */
additional_configuration(844, skip). % repl option is not anymore available
additional_configuration(988, skip). % skip test case until merging 'feature/avl_sets_csp' with 'develop'
additional_configuration(987, skip). % no reductions can be gained in this test case
additional_configuration(1316, conditional_skip(host_platform(windows))).
additional_configuration(1414, conditional_skip(host_platform(windows))).
additional_configuration(1441, conditional_skip(\+(platform_is_64_bit))). /* timeout */
additional_configuration(1447, conditional_skip(\+(platform_is_64_bit))). /* timeout */
additional_configuration(1452, conditional_skip(\+(platform_is_64_bit))). /* timeout */
additional_configuration(1609, conditional_skip(\+(platform_is_64_bit))). /* integer overflow on 32-bit systems */
additional_configuration(1654, conditional_skip(host_platform(windows))). % file contains unicode and can not be checked out properly on windows
additional_configuration(1716, conditional_skip(\+(platform_is_64_bit))). /* timeout */
additional_configuration(1753, conditional_skip(\+(host_platform(linux)))). % solving table/2 issue causes further slowdown; TODO: re-evaluate for SICStus 4.8
additional_configuration(1771, conditional_skip(host_platform(windows))).
additional_configuration(1792, conditional_skip(\+(platform_is_64_bit))). /* CLP(FD) overflow on win32 */
additional_configuration(2423, conditional_skip(\+(platform_is_64_bit))).
additional_configuration(2425, conditional_skip(\+(platform_is_64_bit))).
additional_configuration(1800, conditional_skip((host_platform(windows), current_prolog_flag(version_data,sicstus(V1,V2,_,_,_)), v(V1,V2) @>= v(4,6)))).
additional_configuration(1812, skip). % sometimes unknown or segfault using 4.12.2, wait for release of 4.12.3
additional_configuration(1926, conditional_skip(host_platform(windows))). % Alloy bug on windows: https://github.com/AlloyTools/org.alloytools.alloy/issues/112
additional_configuration(129, skip).
additional_configuration(130, skip).
additional_configuration(131, skip).
additional_configuration(132, skip).
additional_configuration(333, skip).
additional_configuration(334, skip).
additional_configuration(1552, skip). % removed unsafe function application treatment in b_compiler, 22nd July 2016
additional_configuration(1705, skip). % requires feature b_write_eventb_machine_to_classicalb_to_file to be added to cli_start_mc_with_tlc
additional_configuration(1809, skip). % skip until Kodkod problem solved
additional_configuration(2166, conditional_skip(host_platform(windows))). % occasional cdclt timeouts on windows
additional_configuration(2179, conditional_skip(host_platform(windows))). % currently reproducibly causes a native crash on Windows
additional_configuration(2249, conditional_skip(host_platform(windows))).
additional_configuration(2252, conditional_skip(host_platform(windows))).
additional_configuration(2261, conditional_skip(host_platform(windows))).
additional_configuration(2262, conditional_skip(host_platform(windows))).
additional_configuration(2267, conditional_skip(host_platform(windows))).
additional_configuration(2280, conditional_skip(host_platform(windows))).
additional_configuration(2281, conditional_skip(host_platform(windows))).
additional_configuration(2282, conditional_skip((host_platform(windows) ; generating_coverage))). % some also time out in coverage build
additional_configuration(2293, conditional_skip(host_platform(windows))).
additional_configuration(2294, conditional_skip(host_platform(windows))).
additional_configuration(2363, conditional_skip((host_platform(windows) ; generating_coverage))).
additional_configuration(2365, conditional_skip(host_platform(windows))).
additional_configuration(2366, conditional_skip(host_platform(windows))).
additional_configuration(2367, conditional_skip(host_platform(windows))).
additional_configuration(2368, conditional_skip(host_platform(windows))).
additional_configuration(2369, conditional_skip((host_platform(windows) ; generating_coverage))).
additional_configuration(2370, conditional_skip((host_platform(windows) ; generating_coverage))).
additional_configuration(2374, conditional_skip(host_platform(windows))).
additional_configuration(2375, conditional_skip(host_platform(windows))).
additional_configuration(2376, conditional_skip(host_platform(windows))).
additional_configuration(1431, skip).
additional_configuration(1582, skip).
additional_configuration(1583, skip).
additional_configuration(1585, skip).
additional_configuration(24, conditional_skip(current_prolog_flag(dialect, swi))).
additional_configuration(31, conditional_skip(current_prolog_flag(dialect, swi))).
additional_configuration(62, conditional_skip(current_prolog_flag(dialect, swi))).
additional_configuration(1829, conditional_skip(current_prolog_flag(dialect, swi))).
additional_configuration(2265, conditional_skip(current_prolog_flag(dialect, swi))). % animation step 3 (operation aa358) takes 6-13 minutes on CI
additional_configuration(2428, conditional_skip(current_prolog_flag(dialect, swi))). % Slow
additional_configuration(2415, swi_expected_failure).
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
additional_configuration(981, swi_expected_failure).
additional_configuration(1263, swi_expected_failure).
additional_configuration(1161, swi_expected_failure). % happens only on CI currently?
additional_configuration(1352, swi_expected_failure).
additional_configuration(1373, swi_expected_failure). % happens only on CI currently?
additional_configuration(1376, swi_expected_failure).
additional_configuration(2131, swi_expected_failure).
additional_configuration(2132, swi_expected_failure).
additional_configuration(2134, swi_expected_failure).
additional_configuration(2264, swi_expected_failure).
additional_configuration(362, swi_expected_failure).
additional_configuration(1038, swi_expected_failure).
additional_configuration(1175, swi_expected_failure).
additional_configuration(1488, swi_expected_failure). % since Jan 2, 2023 ace9abbc9f6bf295c7d9e37421b57d0d215e6dc6
additional_configuration(1619, swi_expected_failure).
additional_configuration(2210, swi_expected_failure).
additional_configuration(40, swi_expected_failure).
additional_configuration(496, swi_expected_failure).
additional_configuration(979, swi_expected_failure).
additional_configuration(980, swi_expected_failure).
additional_configuration(982, swi_expected_failure).
additional_configuration(1059, swi_expected_failure).
additional_configuration(1101, swi_expected_failure).
additional_configuration(1108, swi_expected_failure).
additional_configuration(1331, swi_expected_failure).
additional_configuration(1332, swi_expected_failure).
additional_configuration(1384, swi_expected_failure).
additional_configuration(1562, swi_expected_failure). % not always a time-out
additional_configuration(1679, swi_expected_failure).
additional_configuration(1739, swi_expected_failure).
additional_configuration(2014, swi_expected_failure).
additional_configuration(2033, swi_expected_failure).
additional_configuration(2128, swi_expected_failure).
additional_configuration(2129, swi_expected_failure).
additional_configuration(2385, swi_expected_failure).
additional_configuration(41, swi_expected_failure).
additional_configuration(49, swi_expected_failure).
additional_configuration(292, swi_expected_failure).
additional_configuration(293, swi_expected_failure).
additional_configuration(305, swi_expected_failure).
additional_configuration(307, swi_expected_failure).
additional_configuration(387, swi_expected_failure).
additional_configuration(456, swi_expected_failure).
additional_configuration(642, swi_expected_failure). % sometimes times out
additional_configuration(708, swi_expected_failure).
additional_configuration(710, swi_expected_failure).
additional_configuration(1112, swi_expected_failure).
additional_configuration(1157, swi_expected_failure).
additional_configuration(1194, swi_expected_failure).
additional_configuration(1222, swi_expected_failure).
additional_configuration(1305, swi_expected_failure).
additional_configuration(1316, swi_expected_failure).
additional_configuration(1338, swi_expected_failure).
additional_configuration(1393, swi_expected_failure).
additional_configuration(1631, swi_expected_failure).
additional_configuration(1634, swi_expected_failure).
additional_configuration(1920, swi_expected_failure).
additional_configuration(1976, swi_expected_failure).
additional_configuration(2110, swi_expected_failure).
additional_configuration(2185, swi_expected_failure).
additional_configuration(2187, swi_expected_failure).
additional_configuration(2189, swi_expected_failure).
additional_configuration(2413, swi_expected_failure).
additional_configuration(2452, swi_expected_failure).
additional_configuration(324, swi_expected_failure).
additional_configuration(1306, swi_expected_failure).
additional_configuration(2399, swi_expected_failure).
additional_configuration(2445, swi_expected_failure). % occasionally times out on CI
additional_configuration(1165, swi_expected_failure).
additional_configuration(1611, swi_expected_failure).
additional_configuration(2106, swi_expected_failure).
additional_configuration(220, swi_expected_failure).
additional_configuration(626, swi_expected_failure). % only on CI
additional_configuration(1105, swi_expected_failure).
additional_configuration(1276, swi_expected_failure).
additional_configuration(1394, swi_expected_failure).
additional_configuration(1751, swi_expected_failure).
additional_configuration(1886, swi_expected_failure).
additional_configuration(1924, swi_expected_failure).
additional_configuration(1925, swi_expected_failure).
additional_configuration(654, swi_expected_failure). % caused by https://github.com/SWI-Prolog/swipl-devel/issues/1160
additional_configuration(1185, swi_expected_failure). % ditto
additional_configuration(1207, swi_expected_failure). % time-out
additional_configuration(1655, swi_expected_failure). % also caused by table bug in CLPFD of SWI, issue 1160
additional_configuration(2315, swi_expected_failure). % see test 654, SetRelLaws_NatBool
additional_configuration(2463, swi_expected_failure).
additional_configuration(396, swi_expected_failure). % happens only on CI currently?
additional_configuration(1247, swi_expected_failure).
additional_configuration(1575, swi_expected_failure).
additional_configuration(2182, swi_expected_failure).
Description:
HAD TO INCREASE MAX_INITIALISATION to 15 from 8 since adding in_domain_wf to element_of_closure1_wf; TO DO: FIX
HAD TO INCREASE MAX_INITIALISATION to 15 from 8 since adding in_domain_wf to element_of_closure1_wf; TO DO: FIX
?? or unknown ???
PP runs forever
PP runs forever
WRONG
this was a bug in z3 version 4.8.10 and earlier when using pull_nested_quantifiers
with lambda expressions that use an existential quantifier at the top-level
(note that we don't use pull_nested_quantifiers anymore; slow for large constraints)
'-evalf', 'ff:1..1<->BOOL & gg:1..2<->BOOL & not (card(ff \\/ gg) <= (card(ff) + card(gg)))', % TIME_OUT
probably due to CLPFD propagation; this ff={} & gg:1..1<->BOOL & (card(ff \/ gg) > card(gg)) has issue as well
cli_testcase(0, [unit], ['-selfcheck', '-strict', '-p', 'CLPFD', 'FALSE'], 'Unit tests').
cli_testcase(1, [unit], ['-selfcheck', '-strict', '-p', 'CLPFD', 'TRUE'], 'Unit tests (with CLPFD)').
cli_testcase(2, [unit], ['-selfcheck', '-strict', '-p', 'CLPFD', 'TRUE', '-p', 'SYMBOLIC', 'TRUE'], 'Unit tests (with CLPDFD and SYMBOLIC)').
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').
cli_testcase(4, [b_test], ['-t', '-strict', '../prob_examples/public_examples/B/FeatureChecks/DEFINITIONS/DefinitionScopeOk.mch'], 'DEFINITION scope test').
cli_testcase(5, [b_test,forall], ['-t', '-strict', '../prob_examples/public_examples/B/FeatureChecks/ForAll_VariousVersions.mch'], 'For all test').
cli_testcase(6, [b_test], ['../prob_examples/public_examples/B/FeatureChecks/NotMemberCheck.mch', '-t', '-strict', '-assertions', '-expcterr', virtual_time_out], 'Not member closures test').
cli_testcase(7, [bench], ['../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr.mch', '-t', '-strict'], 'Carla Travel Agency trace check').
cli_testcase(8, [bench], ['../prob_examples/public_examples/B/Benchmarks/RouteIsSeq.mch', '-t', '-strict'], '').
cli_testcase(9, [bench], ['../prob_examples/public_examples/B/Benchmarks/Sets2.mch', '-t', '-strict'], '').
cli_testcase(10, [bench], ['../prob_examples/public_examples/B/Benchmarks/Doors.mch', '-t', '-strict'], '').
cli_testcase(11, [bench], ['../prob_examples/public_examples/B/Benchmarks/DSP0.mch', '-t', '-mc', '100', '-noinv', '-strict', '-nodead', '-expcterr', 'model_check_incomplete'], '').
cli_testcase(12, [bench], ['../prob_examples/public_examples/B/Benchmarks/DSP0_complicated_initialisation.mch', '-t', '-mc', '100', '-noinv', '-strict', '-nodead', '-expcterr', 'model_check_incomplete'], '').
cli_testcase(13, [bench], ['../prob_examples/public_examples/B/Benchmarks/CSM.mch', '-mc', '1000', '-strict', '-check_complete', '-cc', '341', '1229'], 'Model check CSM').
cli_testcase(14, [bench], ['../prob_examples/public_examples/B/Benchmarks/scheduler.mch', '-t', '-mc', '100', '-strict', '-check_complete', '-cc', '36', '121'], 'Model check scheduler').
cli_testcase(15, [bench], ['../prob_examples/public_examples/B/Benchmarks/phonebook7.mch', '-t', '-mc', '100', '-expcterr', 'model_check_incomplete', '-strict'], 'Model check phonebook7').
cli_testcase(16, [bench], ['../prob_examples/public_examples/B/Benchmarks/tictac.mch', '-mc', '100', '-noinv', '-nodead', '-expcterr', 'model_check_incomplete', '-strict'], '').
cli_testcase(17, [bench,case], ['../prob_examples/public_examples/B/Benchmarks/Teletext_bench.mch', '-mc', '100', '-check_complete', '-cc', '14', '122', '-strict'], 'Teletext benchmark').
cli_testcase(18, [bench], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-t', '-strict'], '').
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'], '').
cli_testcase(20, [performance_tests], ['../prob_examples/public_examples/B/Daniel/Kodkod/Power2Nr.mch', '-strict', '-t', '-p', 'CLPFD', 'TRUE', '-aa', '4', '0', '0'], '').
cli_testcase(21, [performance_tests], ['../prob_examples/public_examples/B/Daniel/Kodkod/Power2Nr.mch', '-strict', '-t', '-p', 'CLPFD', 'TRUE', '-ma', '4', '0', '0'], '').
cli_testcase(22, [performance_tests], ['../prob_examples/public_examples/B/Daniel/Kodkod/StarTopologySingleSol.mch', '-strict', '-t', '-p', 'CLPFD', 'TRUE'], '').
cli_testcase(23, [performance_tests,codespeed], ['../prob_examples/public_examples/B/PerformanceTests/conc_seq_test.mch', '-strict', '-t'], 'sequence concatenation test').
cli_testcase(24, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/LargeSets/PartialFunCheck.mch', '-strict', '-t'], '').
cli_testcase(25, [performance_tests,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/ForAll_NATURAL.mch', '-strict', '-t'], '').
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').
cli_testcase(27, [performance_tests,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/ForAllExpansian_Cartesian.mch', '-strict', '-t', '-assertions'], '').
cli_testcase(28, [performance_tests,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/ForAllExpansion_Cartesian2.mch', '-strict', '-t', '-assertions', '-p', 'CLPFD', 'FALSE'], '').
cli_testcase(29, [performance_tests,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/ForAllExpansion_Cartesian2.mch', '-strict', '-t', '-assertions', '-p', 'CLPFD', 'TRUE'], '').
cli_testcase(30, [performance_tests,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/ForAllExpansion_Cartesian3.mch', '-strict', '-t', '-assertions'], '').
cli_testcase(31, [performance_tests], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/PerformanceTests/LargeSets/SeqCheck.mch', '-strict', '-t'], 'checks on large sequences').
cli_testcase(32, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/SetLogInefficiencies.mch', '-t', '-strict'], '').
cli_testcase(33, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/SetLogInefficiencies2.mch',
'-p', 'SMT', 'TRUE', '-t', '-strict'], 'A complex propagation test with sets of cardinality 1'). % TO DO: also get to work without SMT mode
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
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').
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').
cli_testcase(37, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/InfiniteAbsSqrt.mch', '-strict', '-t'], 'InfiniteAbsSqrt').
cli_testcase(38, [performance_tests,card], ['../prob_examples/public_examples/B/PerformanceTests/InfCardChecks.mch', '-p', 'CLPFD', 'TRUE', '-strict', '-t'], 'InfCardChecks').
cli_testcase(39, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/ID_Checks.mch', '-strict', '-t', '-assertions'], '').
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.').
cli_testcase(41, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/DirectProductPerformance.mch', '-strict', '-init', '-p', 'SYMBOLIC', 'TRUE', '-p', 'TIME_OUT', '15000'], '').
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], '').
cli_testcase(43, [performance_tests], ['../prob_examples/public_examples/B/Mathematical/BinomialCoefficients.mch', '-t', '-strict'], '').
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], '').
cli_testcase(45, [performance_tests], ['../prob_examples/public_examples/B/Mathematical/GraphIso/CheckGraphIsomorphism.mch', '-t', '-strict', '-l', 'log/CheckGraphIsomorphism.log'], '').
cli_testcase(46, [performance_tests], ['../prob_examples/public_examples/B/Mathematical/GraphIso/CheckLargeGraphIsomorphismAsConstants.mch', '-t', '-strict', '-p', 'CLPFD', 'TRUE', '-p', 'TIME_OUT', '5000'], '').
cli_testcase(47, [performance_tests], ['../prob_examples/public_examples/B/Mathematical/Theories/FiniteSequences1.mch', '-t', '-mc', '100', '-expcterr', 'model_check_incomplete', '-strict'], '').
cli_testcase(48, [performance_tests], ['../prob_examples/public_examples/B/Mathematical/Theories/FiniteSequences2.mch', '-t', '-mc', '100', '-expcterr', 'model_check_incomplete', '-strict'], '').
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)').
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
cli_testcase(51, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/ConstraintPropagation/MaxPropagation.mch', '-strict', '-t'], '').
cli_testcase(52, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/ConstraintPropagation/MaxPropagation2.mch', '-strict', '-t'], '').
cli_testcase(53, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/ConstraintPropagation/SetMembershipInference.mch', '-strict', '-t'], '').
cli_testcase(54, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/ConstraintPropagation/SetMembershipReification.mch', '-strict', '-t'], '').
cli_testcase(55, [performance_tests,codespeed], ['../prob_examples/public_examples/B/Demo/SortByPermutation_v2.mch', '-strict', '-t','-p', 'TIME_OUT', '7000'], 'Sort by permutation').
cli_testcase(56, [performance_tests,codespeed], ['../prob_examples/public_examples/B/IPD/colouring/GraphColouringNAT2.mch', '-t', '-strict'], 'Graph colouring').
cli_testcase(57, [performance_tests,codespeed], ['../prob_examples/public_examples/EventBPrologPackages/Puzzles/Instance_small_60_400_9_ctx.eventb', '-init', '-strict', '-p', 'CLPFD', 'TRUE'], '').
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').
cli_testcase(59, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/SMTLIB/IDL_SimpleUnsat.mch', '-strict', '-init', '-expcterr', 'setup_constants_fails'], '').
cli_testcase(60, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/SMTLIB/int_completeness1.mch', '-strict', '-init', '-p', 'CLPFD', 'TRUE', '-expcterr', 'setup_constants_fails'], '').
cli_testcase(61, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/SMTLIB/int_completeness1_event.mch', '-strict', '-p', 'CLPFD', 'TRUE', '-t'], '').
cli_testcase(62, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/SMTLIB/SquareEquivalenceProblem.mch', '-strict', '-t', '-p', 'CLPFD', 'TRUE', '-mc', '10', '-cc', '2', '2'], '').
cli_testcase(63, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/clpfd_constraint_checks/IntegerComprSets.mch', '-strict', '-t'], '').
cli_testcase(64, [performance_tests], ['../prob_examples/public_examples/B/PerformanceTests/SeqEnumWithLargeMAXINT.mch', '-strict', '-t'], '').
cli_testcase(65, [performance_tests,sequences,codespeed], ['../prob_examples/public_examples/B/PerformanceTests/ConstraintPropagation/SequenceSolving.mch', '-strict', '-t'], 'SequenceSolving').
cli_testcase(66, [performance_tests,codespeed], ['../prob_examples/public_examples/B/PerformanceTests/SAT_Tests/SubsetReificationTest.mch', '-strict', '-t'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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
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
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'], '').
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
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
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
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
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
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
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
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
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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').
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'], '').
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'], '').
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], '').
cli_testcase(103, [symmetry_test], ['../prob_examples/public_examples/B/Puzzles/Hanoi6Sym.mch', '-mc', '10000', '-p', 'SYMMETRY_MODE', 'off', '-cc', '731', '2187', '-nogoal', '-strict'], '').
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
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
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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
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
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'], '').
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
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
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'], '').
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'], '').
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
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
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'], '').
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'], '').
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'], '').
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
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
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
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
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
cli_testcase(128, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/platoon/platoon_1_mch.eventb', '-t', '-strict', '-expcterr', virtual_time_out], '').
cli_testcase(129, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/platoon/platoon_2_mch.eventb', '-t', '-p', 'CLPFD', 'FALSE', '-strict'], '').
cli_testcase(130, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/platoon/platoon_2_mch.eventb', '-t', '-p', 'CLPFD', 'TRUE', '-strict'], '').
cli_testcase(131, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/platoon/platoon_3_0_mch.eventb', '-t', '-strict'], '').
cli_testcase(132, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/platoon/platoon_4_0_mch.eventb', '-t', '-strict'], '').
cli_testcase(133, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Records/SampleThreeRecordsTranslated.mch', '-t', '-strict', '-mc', '100', '-cc', '4', '6'], 'Check record translation').
cli_testcase(134, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Records/INTEGER_Record.mch', '-t', '-strict', '-p', 'USE_RECORD_CONSTRUCTION', 'TRUE'], '').
cli_testcase(135, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Test1.0/Testid_mch.eventb', '-t', '-strict', '-pref_group', integer, int32, '-p', 'CLPFD', 'TRUE'], '').
cli_testcase(136, [eventb_test,hash], ['../prob_examples/public_examples/EventBPrologPackages/sieve.eventb', '-t', '-strict', '-mc', '1000', '-check_complete', '-cc', '33', '33', '-strict',
'--hash64', 797695222146570849 % used to be 177433764074139889 until June 11th 2024 when packing of avl leaves updated
% used to be 142217803204665821 until Sep 9th 2021 until state packing adapted
], 'Complete model check of Sieve').
cli_testcase(137, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/TrafficLight/tlm_0.eventb', '-t', '-strict'], '').
cli_testcase(138, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/TrafficLight/tlm_1.eventb', '-t', '-strict'], '').
cli_testcase(139, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/TrafficLight/tlm_3.eventb', '-t', '-strict'], '').
cli_testcase(140, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_fifo_mch.eventb', '-t', '-strict'], '').
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], '').
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').
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').
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'], '').
cli_testcase(145, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Test1.0/Testprj_mch.eventb', '-t', '-strict', '-p', 'MAXINT', '99999', '-p', 'MININT', '-99999'], '').
cli_testcase(146, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Test1.0/TestPartition_mch.eventb', '-t', '-strict'], 'Partition for Event-B').
cli_testcase(147, [eventb_test], ['../prob_examples/public_examples/B/EventB_AtelierB/Lift.sys', '-t', '-strict'], '').
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').
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], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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').
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'], '').
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'], '').
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').
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'], '').
cli_testcase(161, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/CompareWithFDR/GenPrime.csp', '-t', '-strict'], '').
cli_testcase(162, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/demo/buses.csp', '-t', '-strict'], '').
cli_testcase(163, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/demo/Peterson_v2.csp', '-t', '-strict', '-mc',1000, '-cc', 215, 429], '').
cli_testcase(164, [csp_test], ['-cs', '../prob_examples/public_examples/CSP/mydemos/demo/mbuff.csp', '-t', '-strict'], '').
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').
cli_testcase(166, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/SetCompTests.csp', '-t', '-strict'], '').
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').
cli_testcase(168, [csp_test], ['-cs', '../prob_examples/public_examples/CSP/mydemos/SequenceComprTests2.csp', '-t', '-strict'], 'Sequence comprehension in CSP').
cli_testcase(169, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/BigUnionInterTests.csp', '-t', '-strict'], '').
cli_testcase(170, [csp_test], ['../prob_examples/public_examples/B/Tickets/299/faust_deadlock.csp', '-mc', '100000', '-strict', '-expcterr', 'deadlock'], '').
cli_testcase(171, [csp_test], ['../prob_examples/public_examples/CSP/FDRFeatureTests/LargeStateSpace.csp',
'-silent', '-mc', '999999', '-cc', '101102', '101101', '-strict', '-expcterr', 'deadlock'], 'Long counter-example trace').
cli_testcase(172, [csp_test], ['../prob_examples/public_examples/CSP/FDRFeatureTests/RenameRecordPattern.csp', '-mc', '999999', '-t', '-check_complete', '-cc', '4', '4'], '').
cli_testcase(173, [csp_test], ['../prob_examples/public_examples/CSP/FDRFeatureTests/RenameRecordPattern2.csp', '-t', '-assertions', '-strict'], '').
cli_testcase(174, [csp_test], ['../prob_examples/public_examples/CSP/FDRFeatureTests/SimpleRefTest.csp', '-assertions', '-strict'], '').
cli_testcase(175, [csp_test], ['../prob_examples/public_examples/CSP/fontaine/RecDataType.csp', '-t', '-strict'], '').
cli_testcase(176, [csp_test], ['../prob_examples/public_examples/CSP/fontaine/RecDataTypeFunctions.csp', '-t', '-strict'], '').
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'], '').
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'], '').
cli_testcase(179, [csp_test], ['../prob_examples/public_examples/CSP/UML_Compass/Microwave.csp', '-assertions', '-strict'], '').
cli_testcase(180, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/demo/roscoe_section2-2.csp', '-assertions', '-strict'], '').
cli_testcase(181, [csp_test,csp_bench], ['../prob_examples/public_examples/CSP/ref_benchmarks/SimpleDeadlockCheck.csp', '-assertions', '-strict'], '').
cli_testcase(182, [csp_test,csp_bench], ['../prob_examples/public_examples/CSP/simple/DivChecks.csp', '-assertions', '-strict'], '').
cli_testcase(183, [csp_test,csp_bench], ['../prob_examples/public_examples/CSP/other/Ivo/Failure_Divergence_Tests.csp', '-assertions', '-strict'], '').
cli_testcase(184, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/Deadlock_Skip_Tests.csp', '-assertions', '-strict'], '').
cli_testcase(185, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/Failures_Tests.csp', '-assertions', '-strict'], '').
cli_testcase(186, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/AgentErrorsLetWithIn.csp', '-assertions', '-strict'], '').
cli_testcase(188, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/Deterministic_simple_v2.csp', '-assertions', '-strict'], '').
cli_testcase(189, [csp_test,codespeed], ['../prob_examples/public_examples/CSP/ref_benchmarks/abp_chapter5_roscoe_bench.csp', '-assertions', '-strict'], 'Roscoe chapter 5 tests').
cli_testcase(190, [csp_test], ['../prob_examples/public_examples/CSP/ref_benchmarks/ucs1.csp', '-assertions', '-strict'], '').
cli_testcase(191, [csp_test], ['../prob_examples/public_examples/CSP/simple/check_print.csp', '-t', '-strict'], '').
cli_testcase(192, [csp_test], ['../prob_examples/public_examples/CSP/simple/check_set_compr_pat.csp', '-t', '-mc', '1000', '-nodead', '-cc', '6', '10', '-strict'], '').
cli_testcase(193, [csp_test], ['../prob_examples/public_examples/CSP/ref_benchmarks/failsim.csp', '-assertions', '-strict'], '').
cli_testcase(194, [typechecker_test], ['../prob_examples/public_examples/B/Tickets/305/Environment.mch', '-t', '-strict'], '').
cli_testcase(195, [typechecker_test], ['../prob_examples/public_examples/B/Tickets/308/Basic_Controller.mch', '-t', '-mc', '100', '-strict', '-expcterr', 'model_check_incomplete'], '').
cli_testcase(196, [typechecker_test,unit], ['-typecheckertest','../prob_examples/public_examples/B/Typecheckertests/expressions.mch', '-strict'], '').
cli_testcase(197, [counterex], ['../prob_examples/public_examples/B/Counterexamples/CarlaTravelAgencyErr.mch', '-mc', '1000', '-expcterr', 'invariant_violation', '-strict'], 'SBMF TravelAgency').
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').
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').
cli_testcase(200, [counterex], ['../prob_examples/public_examples/B/PerformanceTests/BreadthFirstTest.mch', '-mc', '100000', '-expcterr', 'invariant_violation', '-strict'], 'SBMF BFTest').
cli_testcase(201, [counterex], ['../prob_examples/public_examples/B/PerformanceTests/DepthFirstTest.mch', '-mc', '100000', '-expcterr', 'invariant_violation', '-strict'], 'SBMF DFTest').
cli_testcase(202, [counterex], ['../prob_examples/public_examples/B/SymmetryReduction/Peterson_err.mch', '-mc', '10000', '-expcterr', 'invariant_violation', '-strict'], 'SBMF Peterson_err').
cli_testcase(203, [counterex], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb', '-mc', '10000', '-strict', '-expcterr', 'deadlock'], '').
cli_testcase(204, [counterex], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M3_mch.eventb', '-mc', '10000', '-strict', '-expcterr', 'deadlock'], '').
cli_testcase(205, [counterex,infinite,total_function], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_infinite_int.eventb', '-p', 'CLPFD', 'TRUE',
'-p', 'DEFAULT_SETSIZE', 3,
'-t', '-expcterr', virtual_time_out ], 'Requires total function from NATURAL to TC_Type; now succeeds again'). % was '-expcterr', setup_constants_fails
cli_testcase(206, [log_performance_tests,hash], ['../prob_examples/public_examples/EventBPrologPackages/sieve.eventb', '-mc', '1000', '-l', 'log/sieve.log', '-strict',
'--hash64', 797695222146570849, % see test 136
'-check_complete', '-cc', '33', '33'], 'Sieve Event-B version'). % test 136 with log
cli_testcase(207, [puzzles_test], ['../prob_examples/public_examples/B/Demo/RussianPostalPuzzle.mch', '-mc', '10000', '-expcterr', 'goal_found'], '').
cli_testcase(208, [puzzles_test], ['../prob_examples/public_examples/B/Demo/TrainTorchPuzzle.mch', '-mc', '10000', '-nodead', '-expcterr', 'goal_found'], '').
cli_testcase(209, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/BlocksWorldGeneric.mch', '-mc', '10000', '-expcterr', 'goal_found'], '').
cli_testcase(210, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/Farmer.mch', '-mc', '10000', '-expcterr', 'goal_found'], '').
cli_testcase(211, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/Hanoi.mch', '-mc', '10000', '-expcterr', 'goal_found'], '').
cli_testcase(212, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/Hanoi6.mch', '-mc', '10000', '-expcterr', 'goal_found'], '').
cli_testcase(213, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/Hanoi8.mch', '-mc', '10000', '-expcterr', 'goal_found'], 'Hanoi 8').
cli_testcase(214, [puzzles_test,symmetry_test], ['../prob_examples/public_examples/B/Puzzles/Hanoi6Sym.mch', '-p', 'SYMMETRY_MODE', 'hash', '-mc', '10000', '-expcterr', 'goal_found'], '').
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').
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').
cli_testcase(217, [puzzles_test,xtl], ['-mc', '10000', '../prob_examples/public_examples/XTL/Hanoi.P', '-nodead', '-expcterr', 'xtl_error'], 'Test XTL Hanoi example').
cli_testcase(218, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/water.mch', '-mc', '10000', '-expcterr', 'goal_found', '-vv'], 'Water puzzle').
cli_testcase(219, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/LatinSquares.mch', '-mc', '10000', '-p', 'MAXINT', 5, '-expcterr', deadlock], 'Latin squares puzzle').
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)').
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').
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
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
'-expcterr', 'invariant_violation', '-p', 'CLPFD', 'FALSE'], '').
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').
cli_testcase(225, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/PreCondViolated.mch', '-mc', '10', '-strict', '-expcterr', 'precondition_error'], 'Precondition violation detected').
cli_testcase(226, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/AssertCondViolated.mch', '-mc', '10', '-strict', '-expcterr', 'assert_error'], 'Assertion condition violation detected').
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').
cli_testcase(228, [error_checks,while], ['../prob_examples/public_examples/B/ErrorMachines/WhileLoopVariantError.mch', '-mc', '10', '-strict', '-expcterr', 'while_variant_error'], '').
cli_testcase(229, [error_checks,while], ['../prob_examples/public_examples/B/ErrorMachines/WhileLoopVariantErr2.mch', '-mc', '10', '-strict', '-expcterr', 'while_variant_error'], '').
cli_testcase(230, [error_checks,while], ['../prob_examples/public_examples/B/ErrorMachines/WhileLoopInvariantError.mch', '-mc', '10', '-strict', '-expcterr', 'while_invariant_violation'], '').
cli_testcase(231, [error_checks,wd], ['../prob_examples/public_examples/B/ErrorMachines/FunLaws_wderror.mch', '-mc', '2500', '-strict', '-expcterr', 'well_definedness_error',
'-opterr', invariant_violation % as of 17.3.2023 we also raise an invariant error here
], 'FunLaws with wd_error').
cli_testcase(232, [error_checks,wd], ['../prob_examples/public_examples/B/ErrorMachines/UndefinedArithmetic/DivByZero.mch', '-init', '-strict', '-expcterr', 'well_definedness_error'], '').
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'], '').
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'], '').
cli_testcase(235, [error_checks,wd], ['../prob_examples/public_examples/B/ErrorMachines/UndefinedArithmetic/PowerOfNegativeNumber.mch', '-strict', '-t', '-expcterr', 'well_definedness_error'], '').
cli_testcase(236, [error_checks,wd], ['../prob_examples/public_examples/B/ErrorMachines/UndefinedInter.mch', '-init', '-animate', '1', '-strict', '-expcterr', 'well_definedness_error','-expcterr', 'animate'], '').
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'], '').
cli_testcase(238, [error_checks,wd], ['../prob_examples/public_examples/B/ErrorMachines/UndefinedArithmetic/MaxOfEmptySet.mch', '-init', '-strict', '-expcterr', 'well_definedness_error'], '').
cli_testcase(239, [error_checks,wd], ['../prob_examples/public_examples/B/ErrorMachines/UndefinedArithmetic/MinOfEmptySet.mch', '-init', '-strict', '-expcterr', 'well_definedness_error'], '').
cli_testcase(240, [error_checks,wd], ['../prob_examples/public_examples/B/ErrorMachines/UndefinedSeqOperations/LastEmptySeq.mch', '-init', '-strict', '-expcterr', 'well_definedness_error'], '').
cli_testcase(241, [error_checks,wd], ['../prob_examples/public_examples/B/ErrorMachines/UndefinedSeqOperations/FrontEmptySeq.mch', '-init', '-strict', '-expcterr', 'well_definedness_error'], '').
cli_testcase(242, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/OpCalls/Caller.mch', '-strict', '-expcterr', 'precondition_error', '-mc', '100'], '').
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').
cli_testcase(244, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/TypeError1.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], '').
cli_testcase(245, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/TypeError2.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], '').
cli_testcase(246, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/TypeError3.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], '').
cli_testcase(247, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/TypeError4.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], '').
cli_testcase(248, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/CstDefError1.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], '').
cli_testcase(249, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/CstDefError2.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], '').
cli_testcase(250, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/ParameterError1.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], '').
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], '').
cli_testcase(252, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/AssignmentToParameterErr.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], '').
cli_testcase(253, [error_checks], ['../prob_examples/public_examples/B/ErrorMachines/NoTypingForPara.mch', '-strict', '-expcterr', 'type_error', '-expcterr', 'load_main_file'], '').
cli_testcase(254, [error_checks,parser], ['../prob_examples/public_examples/B/ErrorMachines/RecursiveDefinition.mch', '-strict', '-expcterrpos', 'parse_error', 10, 0, '-expcterr', 'load_main_file'], '').
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').
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').
cli_testcase(257, [tickets], ['../prob_examples/public_examples/B/Tickets/102/Bijections_mch.eventb', '-t', '-mc', '1000', '-nodead', '-check_complete', '-cc', '2', '1'], '').
cli_testcase(258, [tickets], ['../prob_examples/public_examples/B/Tickets/102/PartialInjections_mch.eventb', '-t', '-mc', '1000', '-nodead', '-check_complete', '-cc', '2', '1'], '').
cli_testcase(259, [tickets], ['../prob_examples/public_examples/B/Tickets/102/PartialFunctions_mch.eventb', '-mc', '1000', '-nodead', '-check_complete', '-cc', '2', '1'], '').
cli_testcase(260, [tickets], ['../prob_examples/public_examples/B/Tickets/102/Relations_mch.eventb', '-mc', '1000', '-nodead', '-check_complete', '-cc', '2', '1'], '').
cli_testcase(261, [tickets], ['../prob_examples/public_examples/B/Tickets/102/TotalFunctions_mch.eventb', '-mc', '1000', '-nodead', '-check_complete', '-cc', '2', '1'], '').
cli_testcase(262, [tickets], ['../prob_examples/public_examples/B/Tickets/102/TotalInjections_mch.eventb', '-mc', '1000', '-nodead', '-check_complete', '-cc', '2', '1'], '').
cli_testcase(263, [tickets], ['../prob_examples/public_examples/B/Tickets/102/TotalSurjections_mch.eventb', '-mc', '1000', '-t', '-nodead', '-check_complete', '-cc', '2', '1'], '').
cli_testcase(264, [tickets], ['../prob_examples/public_examples/B/Tickets/102/PartialSurjections_mch.eventb', '-mc', '1000', '-t', '-nodead', '-check_complete', '-cc', '2', '1'], '').
cli_testcase(265, [tickets], ['../prob_examples/public_examples/B/Tickets/102/TotalRelations_mch.eventb', '-mc', '1000', '-t', '-nodead', '-check_complete', '-cc', '2', '1'], '').
cli_testcase(266, [tickets], ['../prob_examples/public_examples/B/Tickets/Sven1/AbsIntern.mch', '-t', '-strict'], '').
cli_testcase(267, [tickets], ['../prob_examples/public_examples/B/Tickets/Sven1/AbsInternCst.mch', '-t', '-strict'], '').
cli_testcase(268, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio1/MAX_BIT_VECTOR_DEFINITION_v2.mch', '-t', '-strict', '-properties'], '').
cli_testcase(269, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio1/MAX_BIT_VECTOR_DEFINITION_v2.mch', '-t', '-strict', '-p', 'SYMBOLIC', 'TRUE'], '').
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'
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'
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'], '').
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'
cli_testcase(274, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio3/POWER2_v2.mch', '-init', '-strict', '-aa', '19', '0', '0'], '').
cli_testcase(275, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio3/POWER2.mch', '-init', '-strict', '-ma', '18', '0', '0'], '').
cli_testcase(276, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio4/FailingInit1.mch', '-init', '-strict', '-expcterr', 'initialisation_fails', '-expcterr', bmachine_static_checks], '').
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], '').
cli_testcase(278, [tickets,wd], ['../prob_examples/public_examples/B/Tickets/Valerio4/FailingInit3.mch', '-init', '-strict',
% '-expcterrpos', 'initialisation_fails', 10, 27,
'-expcterr', 'initialisation_fails', % we now have two errors, one with and one without position info
'-expcterr', 'well_definedness_error', '-expcterr', bmachine_static_checks], '').
cli_testcase(279, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio4/FailingInit4.mch', '-init', '-strict', '-expcterr', 'initialisation_fails', '-expcterr', bmachine_static_checks], '').
cli_testcase(280, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio4/FailingInit5.mch', '-init', '-strict', '-expcterr', 'initialisation_fails', '-expcterr', bmachine_static_checks], '').
cli_testcase(281, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio6/Z80_Simple.mch', '-strict', '-t', '-p', 'CLPFD', 'TRUE'], '').
cli_testcase(282, [tickets], ['../prob_examples/public_examples/B/Tickets/Alstom1/TestBecomesElementOf.mch', '-strict', '-t', '-p', 'CLPFD', 'TRUE'], 'becomes element of cartesian product').
cli_testcase(283, [tickets], ['../prob_examples/public_examples/B/Tickets/Alstom1/TestPFBecomeSuch.mch', '-strict', '-t', '-p', 'CLPFD', 'TRUE'], 'becomes element of partial function').
cli_testcase(284, [tickets], ['../prob_examples/public_examples/B/Tickets/Alstom1/MAXINT_M1.mch', '-strict', '-t', '-p', 'CLPFD', 'TRUE'], '').
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'], '').
cli_testcase(286, [tickets,exists], ['../prob_examples/public_examples/B/Tester/TestExistsLetExtraction.mch', '-t', '-strict'], '').
cli_testcase(287, [tickets,imp], ['../prob_examples/public_examples/B/Tickets/177/loop_invariant.imp', '-strict', '-t'], '').
cli_testcase(288, [tickets], ['../prob_examples/public_examples/B/Tickets/181/alstom_memory.mch', '-strict', '-t', '-mc', '100', '-check_complete', '-cc', '3', '8'], '').
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
cli_testcase(290, [laws], ['../prob_examples/public_examples/EventBPrologPackages/Laws/LawsEventBSpecific.eventb', '-t', '-mc', '1000', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE', '-p', 'CLPFD', 'FALSE',
'-opterr', virtual_time_out, % no longer required when x:NATURAL translated to x>=0
'-expcterr', 'model_check_incomplete'], 'LawsEventBSpecific (CLPFD FALSE)').
cli_testcase(291, [laws], ['../prob_examples/public_examples/B/Laws/EqualityLaws.mch', '-t', '-mc', '100000', '-nodead', '-cs', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE'], '').
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).').
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).').
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.').
cli_testcase(295, [laws], ['../prob_examples/public_examples/B/Laws/ArithmeticLaws.mch',
'../prob_examples/public_examples/B/Laws/ArithmeticExpLaws.mch',
'-mc', '100000', '-cs', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE'], 'Various arithmetic laws.').
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.').
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.').
cli_testcase(298, [laws], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Laws/SetLaws.mch', '-mc', '600', '-cs', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'FALSE', '-cc', 513, 3841], 'Mathematical Laws about Sets').
cli_testcase(299, [laws], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../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').
cli_testcase(300, [laws], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Laws/SetLaws.mch', '-mc', '600', '-cs', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'TRUE', '-cc', 513, 3841], 'Mathematical Laws about Sets').
cli_testcase(301, [laws], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../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
cli_testcase(302, [laws], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../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)').
cli_testcase(303, [laws], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../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)').
cli_testcase(304, [laws], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../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)').
cli_testcase(305, [laws,repl], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../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').
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').
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').
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.').
cli_testcase(309, [laws,card], ['../prob_examples/public_examples/B/Laws/CardinalityLaws.mch', '-mc', '2500', '-cs', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'TRUE'], 'Cardinality Laws').
cli_testcase(310, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb', '-cbc_deadlock', '-expcterr', 'cbc_deadlock_check', '-strict'], '').
cli_testcase(311, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M1_mch.eventb', '-cbc_deadlock', '-expcterr', 'cbc_deadlock_check', '-strict'], '').
cli_testcase(312, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M2_mch.eventb', '-cbc_deadlock', '-expcterr', 'cbc_deadlock_check', '-strict'], '').
cli_testcase(313, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M3_mch.eventb', '-cbc_deadlock', '-expcterr', 'cbc_deadlock_check', '-strict'], '').
cli_testcase(314, [cbc_deadlock], ['../prob_examples/public_examples/B/Demo/Lift.mch', '-cbc_deadlock', '-strict'], '').
cli_testcase(315, [cbc_deadlock], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-cbc_deadlock', '-strict'], '').
cli_testcase(316, [cbc_deadlock], ['../prob_examples/public_examples/B/Demo/RussianPostalPuzzle.mch', '-cbc_deadlock', '-strict'], '').
cli_testcase(317, [cbc_deadlock], ['../prob_examples/public_examples/B/CBC/NoDeadlock.mch', '-cbc_deadlock', '-strict'], '').
cli_testcase(318, [cbc_deadlock], ['../prob_examples/public_examples/B/CBC/SimpleDeadlock1.mch', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
cli_testcase(319, [cbc_deadlock], ['../prob_examples/public_examples/B/CBC/DeadlockIntBools.mch', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
cli_testcase(320, [cbc_deadlock], ['../prob_examples/public_examples/B/CBC/ProcessIDStarvation.mch', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
cli_testcase(321, [cbc_deadlock], ['../prob_examples/public_examples/B/CBC/ProcessIDStarvation_InvErr.mch', '-cbc_deadlock', '-strict'], '').
cli_testcase(322, [cbc_deadlock], ['../prob_examples/public_examples/B/CBC/MinSet_Deadlock.mch', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
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 */
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,
'-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
cli_testcase(325, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Deadlock/BrakeSystem_mch.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
cli_testcase(326, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Deadlock/QueenEventsTF_mch.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check', '-p', 'CLPFD', 'FALSE'], '').
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'], '').
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'], '').
cli_testcase(329, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_mch.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
cli_testcase(330, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_mch_unproven.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
cli_testcase(331, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_fifo_mch.eventb', '-cbc_deadlock', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
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
], '').
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'], '').
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'], '').
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'], '').
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'], '').
cli_testcase(337, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Abrial_Teaching/ch2_car/m0_mch.eventb', '-cbc_deadlock', '-strict'], '').
cli_testcase(338, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Abrial_Teaching/ch2_car/m1_mch.eventb', '-cbc_deadlock', '-strict'], '').
cli_testcase(339, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Abrial_Teaching/ch2_car/m2_mch.eventb',
'-cbc_deadlock', '-strict',
'-expcterr', 'enumeration_warning'], 'CBC Deadlock check with enumeration warning').
cli_testcase(340, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Abrial_Teaching/ch2_car/m3_mch.eventb',
'-cbc_deadlock', '-strict',
'-expcterr', 'enumeration_warning'], 'CBC Deadlock check with enumeration warning').
cli_testcase(341, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/Abrial_Teaching/search/m_1b_mch.eventb', '-cbc_deadlock', '-strict'], '').
cli_testcase(342, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/TrafficLight/tlm_1.eventb', '-cbc_deadlock', '-strict', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
cli_testcase(343, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/TrafficLight/tlm_2.eventb', '-cbc_deadlock', '-strict', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
cli_testcase(344, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/TrafficLight/tlm_3.eventb', '-cbc_deadlock', '-strict', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
cli_testcase(345, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/ProofDirected/benchmarks/siemens_mch_0.eventb', '-cbc_deadlock', '-strict'], '').
cli_testcase(346, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/ProofDirected/benchmarks/scheduler.eventb', '-cbc_deadlock', '-strict'], '').
cli_testcase(347, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/ProofDirected/benchmarks/earley_2.eventb', '-cbc_deadlock', '-strict', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
cli_testcase(348, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/ProofDirected/benchmarks/mondex_m2.eventb', '-cbc_deadlock', '-strict', '-strict', '-expcterr', 'cbc_deadlock_check'], '').
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').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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'], '').
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').
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
cli_testcase(364, [cbc_deadlock], ['../prob_examples/public_examples/EventBPrologPackages/BMS/Poker_v2/FiveCardSolo_mch.eventb', '-cbc_deadlock', '-strict'], '').
cli_testcase(365, [puzzles_test,hash], ['../prob_examples/public_examples/B/Puzzles/StableMarriages.mch', '-t', '-strict', '-cc', '7', '15', '-mc', '100', '--hash64', 192740982584039033], '').
cli_testcase(366, [puzzles_test,hash], ['../prob_examples/public_examples/B/Puzzles/StableMarriagesLarger.mch', '-t', '-strict', '-cc', '7', '46', '-mc', '100',
'--hash64', 161314235289991900 % used to be 706576926696257193 % used to be 13443197532344872
], 'Stable Marriages').
cli_testcase(367, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/GolombRuler.mch', '-t', '-p', 'CLPFD', 'TRUE', '-strict'], '').
cli_testcase(368, [puzzles_test,hash], ['../prob_examples/public_examples/B/Puzzles/Tischordnung.mch', '-t', '-strict', '-cc', '3', '7', '-mc', '100', '--hash64', 168992916868770688], '').
cli_testcase(369, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/Wegenetz.mch', '-mc', '1000', '-strict', '-nodead', '-expcterr', 'goal_found'], '').
cli_testcase(370, [puzzles_test], ['../prob_examples/public_examples/B/Demo/RussianPostalPuzzle.mch', '-mc', '1000', '-strict', '-nodead', '-expcterr', 'goal_found'], '').
cli_testcase(371, [puzzles_test], ['../prob_examples/public_examples/B/Demo/TrainTorchPuzzle.mch', '-mc', '1000', '-strict', '-nodead', '-expcterr', 'goal_found'], '').
cli_testcase(372, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/BlocksWorldGeneric.mch', '-mc', '1000', '-strict', '-nodead', '-expcterr', 'goal_found'], '').
cli_testcase(373, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/Farmer.mch', '-mc', '1000', '-strict', '-nodead', '-expcterr', 'goal_found'], '').
cli_testcase(374, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/Hanoi.mch', '-mc', '1000', '-strict', '-nodead', '-expcterr', 'goal_found'], '').
cli_testcase(375, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/water.mch', '-mc', '1000', '-strict', '-nodead', '-expcterr', 'goal_found'], '').
cli_testcase(376, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/EventBPrologPackages/Puzzles/CopyPastAsEvent_mch.eventb', '-t', '-strict'], '').
cli_testcase(377, [puzzles_test], ['../prob_examples/public_examples/EventBPrologPackages/Puzzles/Sudoku_ctx.eventb', '-t', '-strict'], '').
cli_testcase(378, [puzzles_test,queens,codespeed], ['-p', 'CLPFD', 'TRUE', '-p', 'MAX_OPERATIONS', 5000,
'../prob_examples/public_examples/EventBPrologPackages/Puzzles/NQueensAsEvent_mch.eventb', '-t', '-strict'], 'NQueens as events').
cli_testcase(379, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/PexSolve.mch', '-t', '-strict'], '').
cli_testcase(380, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/KnightsTour.mch', '-t', '-strict'], '').
cli_testcase(381, [puzzles_test], ['../prob_examples/public_examples/B/Puzzles/KnightsTour_v2.mch', '-t', '-strict'], '').
cli_testcase(382, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/SudokuAsConstant.mch', '-t', '-strict'], '').
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').
cli_testcase(384, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/SudokuAsConstantNoSolution.mch', '-init', '-strict', '-expcterr', 'setup_constants_fails'], '').
cli_testcase(385, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/LatinSquaresBig.mch', '-t', '-strict'], '').
cli_testcase(386, [puzzles_test,queens,codespeed], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/NQueens50.mch', '-t', '-properties', '-strict'], '').
cli_testcase(387, [puzzles_test,cbc,codespeed,clpfd_tables], ['-p', 'CLPFD', 'TRUE', '-p', 'MAX_INITIALISATIONS', 19,
'../prob_examples/public_examples/B/Puzzles/TwoQueensSevenKnights.mch', '-t', '-assertions', '-strict'], 'TwoQueensSevenKnights').
cli_testcase(388, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/SendMoreMoney.mch', '-t', '-strict'], 'SendMoreMoney').
cli_testcase(389, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/KissPassion.mch', '-t', '-strict'], 'KissPassion').
cli_testcase(390, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/CopySavePasteTools.mch', '-t', '-strict'], '').
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').
cli_testcase(392, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/SubsetSum.mch', '-t', '-strict'], '').
cli_testcase(393, [puzzles_test], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/SubsetSum2.mch', '-t', '-strict'], '').
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').
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').
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').
cli_testcase(397, [cbc,smt_test], ['../prob_examples/public_examples/B/Benchmarks/scheduler.mch', '-cbc', 'all', '-strict', '-p', 'SMT', 'TRUE'], '').
cli_testcase(398, [cbc,smt_test], ['../prob_examples/public_examples/B/CBC/NATURAL_Add.mch', '-cbc', 'all', '-strict', '-p', 'SMT', 'TRUE', '-p', 'CLPFD', 'TRUE'], '').
cli_testcase(399, [cbc], ['../prob_examples/public_examples/B/Demo/Lift.mch', '-cbc', 'all', '-strict', '-expcterr', 'cbc'], '').
cli_testcase(400, [cbc], ['../prob_examples/public_examples/B/Tutorial/DoubleCounter.mch', '-cbc', 'Double', '-strict', '-expcterr', 'cbc', '-p', 'CLPFD', 'TRUE'], '').
cli_testcase(401, [cbc], ['../prob_examples/public_examples/B/Tutorial/DoubleCounter.mch', '-cbc', 'Double', '-strict', '-expcterr', 'cbc', '-p', 'CLPFD', 'FALSE', '-p', 'MAXINT', '150'], '').
cli_testcase(402, [cbc], ['../prob_examples/public_examples/B/Special/ConstrainedBasedChecking/mesiSet.mch',
'../prob_examples/public_examples/B/Special/ConstrainedBasedChecking/mesiSet_simplified.mch',
'-cbc', 'all', '-strict', '-expcterr', 'cbc'], 'CBC mesiSet simplified').
cli_testcase(403, [cbc], ['../prob_examples/public_examples/B/Special/ConstrainedBasedChecking/mesiSet.mch', '-cbc', 'write', '-strict', '-expcterr', 'cbc'], 'CBC mesiSet').
cli_testcase(404, [cbc], ['../prob_examples/public_examples/B/CBC/ProcessIDStarvation_InvErr.mch', '-cbc', 'all', '-strict', '-expcterr', 'cbc'], '').
cli_testcase(405, [cbc], ['../prob_examples/public_examples/B/CBC/ProcessIDStarvation_InvErr.mch', '-cbc', 'Delete', '-strict', '-expcterr', 'cbc'], '').
cli_testcase(406, [cbc], ['../prob_examples/public_examples/B/CBC/ProcessIDStarvation_InvErr.mch', '-cbc', 'Run', '-strict'], '').
cli_testcase(407, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_mch.eventb', '-cbc', 'all', '-strict'], '').
cli_testcase(408, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_mch_unproven.eventb', '-cbc', 'bridge', '-strict'], '').
cli_testcase(409, [cbc,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_mch_unproven.eventb', '-cbc', 'approach', '-strict', '-p', 'SMT', 'TRUE'], '').
cli_testcase(410, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_mch_unproven.eventb', '-cbc', 'exit', '-strict'], '').
cli_testcase(411, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_fifo_mch.eventb', '-cbc', 'bridge', '-strict', '-expcterr', 'cbc'], '').
cli_testcase(412, [cbc,smt_test], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_fifo_mch.eventb', '-cbc', 'approach', '-strict', '-p', 'SMT', 'TRUE'], '').
cli_testcase(413, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Alexei/ttrain_fifo_mch.eventb', '-cbc', 'exit', '-strict'], '').
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').
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').
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'], '').
cli_testcase(417, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Tests/Ticket167.eventb',
'-cbc', 'inc', '-strict',
'-expcterr', 'enumeration_warning'], 'CBC check with enumeration warning').
cli_testcase(418, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/BMS/Poker_v2/FiveCardSolo_mch.eventb', '-p', 'CLPFD', 'TRUE', '-cbc', 'redeal', '-strict', '-expcterr', 'cbc'], '').
cli_testcase(419, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/BMS/Poker_v2/FiveCardSolo_mch.eventb', '-p', 'CLPFD', 'TRUE', '-cbc', 'HasFlush', '-strict', '-expcterr', 'cbc'], '').
cli_testcase(420, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/BMS/Poker_v2/FiveCardSolo_mch.eventb', '-p', 'CLPFD', 'TRUE', '-cbc', 'hasFourOfAKind', '-strict', '-expcterr', 'cbc'], '').
cli_testcase(421, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/BMS/Poker_v2/FiveCardSolo_mch.eventb', '-p', 'CLPFD', 'TRUE', '-cbc', 'HasStraight', '-strict', '-expcterr', 'cbc'], '').
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'], '').
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'], '').
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'], '').
cli_testcase(425, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb', '-cbc', 'all', '-strict'], '').
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'], '').
cli_testcase(427, [kodkod], ['-kodkod_comparision', '2', '../prob_examples/public_examples/B/Kodkod/expressions/functions.mch', '-strict'], '').
cli_testcase(428, [kodkod], ['-p', 'CLPFD', 'true', '-kodkod_comparision', '2', '../prob_examples/public_examples/B/Kodkod/expressions/triples.mch', '-strict'], '').
cli_testcase(429, [kodkod], ['-kodkod_comparision', '3', '../prob_examples/public_examples/B/Kodkod/expressions/relations.mch', '-strict'], '').
cli_testcase(430, [kodkod], ['-kodkod_comparision', '0', '../prob_examples/public_examples/B/Kodkod/expressions/sequences.mch', '-strict'], '').
cli_testcase(431, [kodkod], ['-kodkod_comparision', '1', '../prob_examples/public_examples/B/Kodkod/NoNeighboursProblem.mch', '-strict'], '').
cli_testcase(432, [kodkod], ['-p','MAX_INITIALISATIONS',50,'-kodkod_comparision', '0', '../prob_examples/public_examples/B/Kodkod/WhoKilledAgatha.mch', '-strict'], '').
cli_testcase(433, [kodkod], ['-pacheck', '../prob_examples/public_examples/B/predicate_analysis/basic.mch', '-strict'], '').
cli_testcase(434, [kodkod], ['-pacheck', '../prob_examples/public_examples/B/predicate_analysis/function_cards.mch', '-strict'], '').
cli_testcase(435, [kodkod], ['-pacheck', '../prob_examples/public_examples/B/predicate_analysis/setext_dombug.mch', '-strict'], '').
cli_testcase(436, [csp_test], ['../prob_examples/public_examples/CSP/ref_benchmarks/general4.csp', '-assertions', '-strict'], '').
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.').
cli_testcase(438, [csp_test], ['../prob_examples/public_examples/CSP/ref_benchmarks/basin_olderog_bank.csp', '-assertions', '-strict'], '').
cli_testcase(439, [b_test,strings], ['../prob_examples/public_examples/B/FeatureChecks/EmptyString.mch', '-t', '-strict', '-assertions'], 'Check that we allow the empty string.').
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.').
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.').
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.').
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.').
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.').
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.').
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).').
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).').
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.').
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.').
cli_testcase(450, [tickets], ['../prob_examples/public_examples/B/Tickets/Plagge1/KnightKnaves2.mch', '-init', '-strict'], 'Check that no time-out occurs in compiled mode').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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').
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
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.').
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.').
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.').
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').
cli_testcase(469, [b_test,sptxt], ['../prob_examples/public_examples/B/PerformanceTests/LargeSets/LargeExplicitSet.mch', '-animate', '7', '-strict', '-p', 'TIME_OUT', 5000,
'-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)
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.').
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.').
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.').
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.').
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.').
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').
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').
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.').
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.').
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.').
cli_testcase(480, [b_test,dot], ['-p', 'CLPFD', 'TRUE', '-p', 'DOT_LOOPS', 'FALSE',
'-p', 'DOT_ROOT', 'FALSE', '-p', 'MAX_INITIALISATIONS', 5,
'../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.').
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
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
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').
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').
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').
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').
cli_testcase(487, [csp_test,refinement], ['../prob_examples/public_examples/CSP/simple/DivChecks3.csp', '-assertions', '-strict'], 'Check that ProB deals with Divergence correctly').
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.').
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').
cli_testcase(490, [csp_test,refinement], ['../prob_examples/public_examples/CSP/simple/exception_operator.csp', '-assertions', '-strict'], 'Check that new exception operator works').
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').
cli_testcase(492, [csp_test],['../prob_examples/public_examples/CSP/evans/traffic_spec.csp', '-assertions', '-strict'], 'Checking CSP assertions.').
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').
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.').
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').
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.').
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').
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').
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').
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').
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').
cli_testcase(502, [laws], ['../prob_examples/public_examples/B/Abrial_BBook/BBook_Page80.mch', '-init', '-assertions', '-strict'], 'Check example from B-Book').
cli_testcase(503, [laws], ['../prob_examples/public_examples/B/Abrial_BBook/BBook_Page83.mch', '-init', '-assertions', '-strict'], 'Check example from B-Book').
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').
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').
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').
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.').
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.').
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').
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').
cli_testcase(511, [csp_test,csp_det], ['../prob_examples/public_examples/CSP/other/Ivo/Deterministic1.csp', '-assertions', '-strict'], 'Check more CSP deterministic assertions').
cli_testcase(512, [csp_test,csp_det], ['../prob_examples/public_examples/CSP/other/Ivo/Deterministic2_v2.csp', '-assertions', '-strict'], 'Check more CSP deterministic assertions').
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.').
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.').
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.').
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').
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').
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').
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').
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)').
cli_testcase(521, [tickets,csp_test], ['../prob_examples/public_examples/CSP/Tickets/Shi/hanoi4.csp', '-assertions', '-strict'], 'Check that exception does not occur (Ticket)').
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').
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').
cli_testcase(524, [tickets], ['../prob_examples/public_examples/B/Tickets/Beauger1/PredProblem.mch', '-t', '-strict'], 'Check that we can use relational composition ; with pred.').
cli_testcase(525, [b_test,infinite,finite], ['../prob_examples/public_examples/B/PerformanceTests/InfiniteParityFunction.mch', '-t', '-strict', '-assertions'], 'Some more tests with infinite functions.').
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.').
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.').
cli_testcase(528, [b_test,external], ['../prob_examples/public_examples/B/ExternalFunctions/UsesLibraryMath.mch', '-t', '-strict', '-assertions'], 'Check that external functions work.').
cli_testcase(529, [b_test,external], ['../prob_examples/public_examples/B/ExternalFunctions/PrologFun.mch', '-assertions', '-strict'], 'Check that external functions PROLOG_FUN work.').
cli_testcase(530, [b_test,external], ['../prob_examples/public_examples/B/ExternalFunctions/PrintExternal.mch', '-t', '-strict'], 'Check that external printing functions work.').
cli_testcase(531, [b_test,external,strings], ['../prob_examples/public_examples/B/ExternalFunctions/LibraryStrings.mch', '-assertions', '-strict'], 'Check that external String functions work.').
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.').
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.').
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.').
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.').
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.').
cli_testcase(537, [tickets,strings], [ '-init', '-strict', '-p','MAXINT',10,
'-evalt', 'INTEGER/<:{1,2,3,7,9,10}',
'-evalt', 'NATURAL/<:{1,2,3,7,9,10}',
'-evalt', 'NATURAL1/<:{1,2,3,7,9,10}',
'-evalt', 'NATURAL1/<:{0,1,2,3,4}',
'-evalt', 'NATURAL1/<<:{1,2,3,7,9,10}',
'-evalt', 'NATURAL1/<<:1..100',
'-evalt', 'NATURAL1/<<:{x|x<100}',
'-evalt', 'NATURAL1/<<:{x|x>0}',
'-evalt', 'NATURAL1/<<:{x|x>=2}',
'-evalf', 'NATURAL1/<<:{x|x>=0}',
'-evalt', 'NATURAL/<<:{x|x>=0}',
'-evalt', 'NATURAL1/<<:0..MAXINT',
'-evalt', 'NATURAL1/<:0..MAXINT',
'-evalt', 'NATURAL/<:0..MAXINT',
'-evalf', 'NATURAL<:0..MAXINT',
'-evalt', 'INTEGER/<:MININT..MAXINT',
'-evalt', 'STRING/<<:{"a"}',
'-evalt', 'STRING/<:{"a"}',
'-evalf', 'STRING<:{"a"}',
'-evalf', 'STRING<<:{"a"}',
'-evalf', 'STRING/<:STRING',
'-evalt', 'STRING/<<:STRING',
'-evalt', 'BOOL /<<: {TRUE,FALSE}',
'-evalf', 'BOOL /<: {TRUE,FALSE}',
'-evalt', 'BOOL /<: {TRUE}'
%, '-expcterr', 'eval_string_enum_warning'
], 'Test subset works without enum warnings.'). % used to be: 'Test that eval_string catches expansion errors.').
cli_testcase(538, [tickets], [ '-init', '-strict', '-p','MAXINT',10, '-evalt', '1..10 <: NATURAL1'], 'Test that these predicates do not cause enumeration warnings.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
cli_testcase(547, [csp_test,ltl], ['../prob_examples/public_examples/CSP/other/Ivo/Simple_LTL_Tupels.csp', '-ltlassertions', '-strict'],'Check LTL formulas in File.').
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.').
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.').
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.').
cli_testcase(551, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/TestingCardinality.csp',
'-aa', 2, 0, 0 % '-expcterr', virtual_time_out, model was rewritten to get rid of virtual timeout which now leads to unknown result
], 'CSP Cardinality tests').
cli_testcase(552, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/DotTupleTestCase.csp', '-assertions', '-strict'], '').
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.').
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.').
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.').
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').
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.').
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.').
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.').
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').
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').
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').
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').
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').
cli_testcase(565, [b_test,proz],['../prob_examples/public_examples/Z/Testcases/comsets.fuzz', '-t', '-strict'],'ProZ test').
cli_testcase(566, [b_test,proz],['../prob_examples/public_examples/Z/Testcases/distributed_concatenation.fuzz', '-t', '-strict'],'ProZ test').
cli_testcase(567, [b_test,proz],['../prob_examples/public_examples/Z/Testcases/compaction.fuzz', '-t', '-strict'],'ProZ test').
cli_testcase(568, [b_test,proz],['../prob_examples/public_examples/Z/Testcases/zrm_refcard_ops.fuzz', '-t', '-strict'],'ProZ test').
cli_testcase(569, [b_test,ltl], ['../prob_examples/public_examples/B/SymmetryReduction/Fraikin/Library.mch','-p','IGNORE_HASH_COLLISIONS',
'TRUE','-p','FORGET_STATE_SPACE','FALSE','-p','SYMMETRY_MODE','hash', '-expcterr', 'model_check_incomplete','-mc','9999',
'-ltlformulat','G( e(Reserve(m1,b1)) => not({b1:dom(reservation) & m1 : ran(reservation(b1))}) )', '-strict'],'Check enabled e() with multiple parameters').
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').
cli_testcase(572, [b_test,ltl],['../prob_examples/public_examples/B/LTL/DerrickSmith/Abstract.mch', '-ltlassertions', '-strict'],'Check ltl assertions from DEFINITIONS').
cli_testcase(573, [b_test,ltl],['../prob_examples/public_examples/B/LTL/Mikrowelle.mch', '-ltlassertions', '-strict'],'Check ltl assertions from DEFINITIONS').
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').
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').
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.').
cli_testcase(577, [b_test,ltl],['../prob_examples/public_examples/B/LTL/DerrickSmith/Abstract.mch', '-ltlformulat', 'G([AOp2] => F(sink))', '-strict'],'Check ltl formula').
cli_testcase(578, [b_test,ltl],['../prob_examples/public_examples/B/LTL/DerrickSmith/Abstract.mch', '-ltlformulat', 'G([AOp2] => F(deadlock))', '-strict'],'Check ltl formula').
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.').
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.').
cli_testcase(581, [csp_test],['../prob_examples/public_examples/CSP/mydemos/SeqTests.csp', '-mc', '100000', '-nodead', '-t', '-strict'], 'Testing CSP sequences.').
cli_testcase(582, [csp_test],['../prob_examples/public_examples/CSP/other/Ivo/Sequences.csp', '-mc', '100000', '-t', '-strict'], 'Testing CSP sequence structures.').
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
cli_testcase(584, [b_test,tla],['../prob_examples/public_examples/TLA/ErrorTests/GraphIso.tla', '-init', '-strict'
%'-expcterr', tla2b_parser, '-expcterr', load_main_file % TLA2B no longer generates .mch file !
],'Check that TLA2B does not overwrite pre-existing machine file').
cli_testcase(585, [b_test],['-strict',
'-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').
cli_testcase(586, [b_test,tla],['../prob_examples/public_examples/TLA/Login/Login_Deadlock.tla', '-init', '-strict',
'-mc', 100, '-p', 'SYMMETRY_MODE', hash, '-expcterr', deadlock],'Check that config file found and model checking TLA works').
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(-).').
cli_testcase(588, [b_test,pragmas],['../prob_examples/public_examples/B/Pragmas/SymbolicPragmas.mch', '-init',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-assertions', '-strict'], 'Test that symbolic annotation pragma works.').
cli_testcase(589,[csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/InputOutputChannelValues.csp', '-mc', '10000', '-t', '-strict'], 'Testing complicated CSP-M datatypes.').
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.').
cli_testcase(591,[csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/replicates.csp', '-mc', '10000', '-t', '-strict'], 'Testing replicate processes.').
cli_testcase(592,[csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/replicates2.csp', '-mc', '10000', '-t', '-strict'], 'Testing replicate processes.').
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,
'-strict', '-p', 'OPERATION_REUSE', 'TRUE', '-p', 'MAX_INITIALISATIONS', 5], 'Test Operation Reuse'). % 17.9.2021: adapted hash from 203058745203935766 for sorted order of variables
cli_testcase(594, [b_test], [ '-init', '-strict',
'-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.').
cli_testcase(595, [b_test],['-strict',
'-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').
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').
cli_testcase(597,[csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/DotDatatypes.csp', '-mc', '10000', '-t', '-strict'], 'Testing complex datatypes.').
cli_testcase(598,[tickets], ['../prob_examples/public_examples/B/Tickets/DefMchSameName/DefMchSameName.mch', '-ma', 7, 0 , 0, '-strict'], 'Testing that -main_assertions work properly.').
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.').
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
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
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.').
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.').
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').
cli_testcase(605, [b_test], ['../prob_examples/public_examples/B/Benchmarks/scheduler.mch', '-init', '-strict', '-eval', '(A <=> (waiting={})) & A', %'-p', 'BOOL_AS_PREDICATE', 'FALSE',
'-expcterr' ,parse_machine_predicate_error], 'Test that BOOL as predicate can be disabled.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
cli_testcase(617, [parser,b_test,tickets],['../prob_examples/public_examples/B/Tickets/RefLoadLoop/NFA_det.ref', '-expcterr', 'load_main_file', '-expcterr', invalid_machine_reference, '-expcterr', b_load_machine, '-strict'], 'Test that parser does not loop.').
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.').
cli_testcase(619,[b_test,ctl], ['../prob_examples/public_examples/B/LTL/Tests/CTL_SetMove_2States.mch', '-init',
'-ctlformulat', 'AG(EX{xx=bb})', '-ctlformula', 'AGEFEX[Move]true', '-ctlformula', 'AGEFEX[Set(aa)]{xx=aa}',
'-ctlformulat', 'not(EF EX[Set(aa)]{xx=bb})',
'-ctlformulat', 'EF EG {xx=bb}',
'-ctlformulat', '{xx=bb} => EG {xx=bb}',
'-ctlformulat', '{xx=bb} => not AF {xx=aa}',
'-ctlformulat', '{xx=bb} => AF {not(xx=aa)}',
'-strict'], 'Testing CTL formulas on simple statespaces.').
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.').
cli_testcase(621,[b_test,ctl], ['../prob_examples/public_examples/B/Benchmarks/scheduler.mch', '-init',
'-ctlformulat', 'AG ( EX[swap]true => {active /= {}})',
'-ctlformulat', 'AG ( (EX[new]true) or (EX[del]true) or (EX[swap]true) )',
'-ctlformulat', 'AF {card(waiting)>0}',
'-ctlformulat', 'AG( {card(active)>0} => EG e(swap))',
'-strict'], 'Testing CTL formulas on simple statespaces.').
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.').
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.').
cli_testcase(624,[csp_test], ['../prob_examples/public_examples/CSP/Tickets/3675/AIDCPRB_small.csp', '-mc', '10000', '-t', '-strict'], 'Testing complex datatypes.').
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.').
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.').
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').
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').
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.').
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.').
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.').
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.').
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).').
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
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').
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').
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
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.').
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').
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').
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').
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').
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').
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').
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.').
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.').
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).').
cli_testcase(649, [tickets,infinite], ['../prob_examples/public_examples/B/Tickets/PROB-83/Time.mch', '-t', '-strict'], 'Check infinite function works. (PROB-83)').
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.').
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.').
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.').
cli_testcase(653, [tickets], ['../prob_examples/public_examples/B/Tickets/Mejia5/essai_fncs.mch', '-t', '-strict'], 'Check ticket (with NAT >+> NAT)').
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.').
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 !! <--------------
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.').
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.').
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], '').
cli_testcase(660, [b_test,external], ['../prob_examples/public_examples/B/ExternalFunctions/TestLibraryIO.mch', '-t', '-strict', '-p', 'CLPFD', 'TRUE'], 'Test IO Library').
cli_testcase(664, [ltl], ['../prob_examples/public_examples/B/TestCaseGeneration/SimpleCounter.mch', '-ltllimit', '50', '-ltlformula', 'G({1=1}=>X{2=2})', '-strict',
'-p', 'use_safety_ltl_model_checker', false,
'-expcterr', ltl_incomplete, '-expcterr', state_space], 'check that no error reported for incomplete model check').
cli_testcase(668, [ltl,csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/BobAlice.csp', '-ltlassertions', '-strict'],'Check LTL formulas in File.').
cli_testcase(682, [ltl,csp_test], ['../prob_examples/public_examples/CSP/slicing/peterson_modelcheck.csp', '-ltlassertions', '-strict'],'Check LTL formulas in File.').
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.').
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.').
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').
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').
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').
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').
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').
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').
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').
cli_testcase(697, [tickets,external], ['../prob_examples/public_examples/B/Tickets/Burlando1/machine_test_PRINTF.mch', '-t', '-strict'], 'Test PRINTF').
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').
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').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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).').
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.').
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).').
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.').
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.').
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.').
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.').
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').
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.').
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.').
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)
cli_testcase(737, [b_test,external], ['../prob_examples/public_examples/B/ExternalFunctions/LibraryFiles.mch', '-init', '-assertions','-strict'], 'Check that external functions work.').
cli_testcase(738, [b_test,proz],['../prob_examples/public_examples/Z/Testcases/freetypes.fuzz', '-mc', '1000', '-nodead', '-strict'],'ProZ test for freetypes').
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.').
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.').
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.').
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).').
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).').
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).').
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).').
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).').
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).').
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).').
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.').
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.').
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.').
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).').
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.').
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').
cli_testcase(755, [csp_test], ['../prob_examples/public_examples/CSPB/TestVariableProbing.csp', '-MAIN', 'OTHER', '-mc', 100, '-cc', 4, 4, '-strict'], 'Test setting main process').
cli_testcase(756, [xtl], ['../prob_examples/public_examples/XTL/Promela/promela_int.P', '-t', '-mc', 100,
'-cc', 23, 29, '-strict'], 'Test Promela XTL interpreter').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
cli_testcase(764, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/InterleavedIfThenElseBlocks.csp', '-strict', '-mc', 1000], 'Testing interleaved if-then-else blocks.').
cli_testcase(767, [private,data_validation,siemens], ['../prob_examples/examples/B/Siemens/BAC9_ZC/pas_as_env_inv_ld.mch','-strict', '-t', '-p',
'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.').
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.').
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.').
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).').
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.').
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).').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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
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',
'-opterr','setup_constants_fails', % setup can fail when value too large to be stored and no partial_setup_constants is done
'-p', 'MAX_OPERATIONS', 0, '-p', 'MAXINT', 2147483647, '-p', 'TIME_OUT', 5000, '-p', 'EXPAND_FORALL_UPTO', 0], 'Siemens Data Validation Test.').
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',
'-opterr','setup_constants_fails', % setup can fail when value too large to be stored and no partial_setup_constants is done
'-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.').
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.').
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.').
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
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.').
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
'-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.').
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',
'-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.').
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',
'-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.').
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',
'-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.').
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',
'-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.').
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',
'-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.').
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',
'-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.').
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',
'-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.').
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)').
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').
cli_testcase(809, [private,data_validation], ['../prob_examples/public_examples/B/Tickets/LargeMachTypeErr/LargeValueOk.mch', '-assertions', '-strict'], 'Check loading large data').
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').
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.').
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
'-expcterr', 'general_error_occurred','-expcterr', 'check_channel_output_value'], 'Testing for raising illegal data value error.').
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.').
cli_testcase(814, [error_checks,csp_test], ['../prob_examples/public_examples/CSP/ErrorModels/csp_sets/TypeErrorInEquality1.csp', '-strict', '-mc', 10, '-expcterr', 'haskell_csp', '-expcterr', 'general_error_occurred'], 'Testing for type errors in equality.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
cli_testcase(838, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/TestingComprehensionSetGuards.csp', '-strict', '-mc', 10000], 'Testing set comprehension guards.').
cli_testcase(839, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/ExpandingDataTypeDefBody.csp', '-strict', '-mc', 10], 'Testing expanding symbolic sets.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
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.').
cli_testcase(851, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/subtype_ex.csp', '-strict', '-mc', 1000,'-expcterr', 'deadlock' ,'-df'], 'Testing complex subtype expressions.').
cli_testcase(852, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/subtype_nametype_ex.csp', '-strict', '-mc', 2500,'-expcterr', 'deadlock'], 'Testing complex subtype expressions.').
cli_testcase(853, [private,csp_test], ['../prob_examples/examples/CSP/Winter/miniAlvey.csp', '-strict', '-t', '-c'], 'Testing complex CSP spec.').
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.').
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').
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.').
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.').
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.').
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.').
cli_testcase(860, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/TestingIsMemberBuiltInFunction.csp', '-mc', '100000', '-nodead', '-strict', '-assertions'], 'Testing member(-,-) builtin function.').
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).').
cli_testcase(862, [error_checks,csp_test,refinement], ['../prob_examples/public_examples/CSP/ErrorModels/haskell_csp/UnsupportedRefinementOperatorError.csp', '-strict', '-assertions', '-expcterr', 'unsupported_refinement_operator'
% '-expcterr', 'check_assertions', '-expcterr', 'checkAssertion'
], 'Testing for raising unsupproted refinement operator error (e.g. [R=).').
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.').
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.').
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.').
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)').
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)').
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.').
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').
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).').
cli_testcase(876, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/demo/mbuff.csp', '-assertions', '-strict'], 'Checking CSP assertions.').
cli_testcase(877, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/demo/crossing.csp', '-assertions', '-strict'], 'Checking CSP assertions.').
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.').
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.').
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.').
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.').
cli_testcase(883, [csp_test], ['../prob_examples/public_examples/CSP/ucsexamples/chapter14/maxpro.csp', '-assertions', '-strict'], 'Checking CSP assertions from file').
cli_testcase(884, [b_test,proz], ['../prob_examples/public_examples/Z/Woodcock/InnerMember.fuzz', '-t', '-mc', 100,
'-expcterr', 'bmachine_static_checks', '-strict'], 'Checking Z model and check warning for TRUE/FALSE clash generated'). % added -expcterr 23/2/2021
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.').
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.').
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.').
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.').
cli_testcase(889, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/TestingComplexChannelTypes.csp', '-assertions', '-strict'], 'Testing outputing channel values of complex types.').
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.').
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.').
cli_testcase(892, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/CheckingPossibleInputVariablesOnChannel.csp', '-assertions', '-strict'], 'Testing for possible input patterns on channels.').
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).').
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).').
cli_testcase(895, [csp_test], ['../prob_examples/public_examples/CSP/Tickets/3675/SafetyPRB.csp', '-assertions', '-strict'],'Assertions check of processes with complex events.').
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)').
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)').
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').
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)').
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.').
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.').
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.').
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).').
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.').
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'], '').
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'], '').
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.').
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',
'-expcterr', 'refinement_check_fails',
'-expcterr', 'enumerate_action', '-strict'], 'CSP model with too many values on output channel').
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'], '').
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').
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)').
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.').
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.').
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').
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.').
cli_testcase(916, [csp_test], ['../prob_examples/public_examples/CSP/simple/verysimple.csp', '-csp_eval', 'Events', '-strict'], 'Evaluating CSP-M expressions.').
cli_testcase(917, [csp_test], ['../prob_examples/public_examples/CSP/simple/verysimple.csp', '-csp_eval', '{|a|}', '-strict'], 'Evaluating CSP-M expressions.').
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.').
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.').
cli_testcase(920, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/OtherCoverageTests/ExpandingDataTypeDefBody.csp', '-csp_eval',
'{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.').
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.').
cli_testcase(922, [csp_test], ['-csp_eval', 'if member(1,{1..10}) then true else false', '-strict'], 'Evaluating CSP-M expressions.').
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)').
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.').
cli_testcase(925, [error_checks], ['-mc', 1000, '../prob_examples/public_examples/B/ErrorMachines/IncludeSeenOnlyOnce.mch', '-expcterr', 'type_error', '-expcterr', 'load_main_file', '-strict'], 'Expecting error when including a machine twice that is used as a seen/used machine.').
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.').
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).').
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).').
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.').
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.').
cli_testcase(931, [csp_test], ['../prob_examples/public_examples/CSP/ucsexamples/chapter20/phone.csp', '-csp_eval', 'Phones', '-strict'], 'Evaluating CSP-M expressions.').
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).').
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).').
cli_testcase(934, [typechecker_test], ['-eval', '[a,c:=1,3](a<b&b<c)', '-strict'], 'Type-checking a substitution on a predicate').
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)').
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',
%'-p', 'csp_event_visible_to_user', 'false', % used to be csp_event probcli option
'-ltlformulat', 'G not [link.AMS.AMS]', '-strict'], 'Checking ltl formulas for CSP-M || B models.').
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.').
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.').
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.').
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.').
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.').
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)').
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'],'').
cli_testcase(945, [eventb_test, theories], ['-t', '-strict', '../prob_examples/public_examples/EventBPrologPackages/Theory/TestBoolOps_mch.eventb'], 'Check BoolOps Theory.').
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').
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').
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.').
cli_testcase(949, [tickets], ['-assertions', '-strict', '../prob_examples/public_examples/B/Tickets/PrjMemCheck/PrjTestsOK.mch',
'../prob_examples/public_examples/B/Tickets/PrjMemCheck/PrjTestsOK_For_AtelierB.mch'], 'Check that we prj1/prj2 work correctly.').
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.').
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.').
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.').
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.').
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.').
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').
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').
cli_testcase(958, [eventb_test], ['-t', '-p', 'CLPFD', 'FALSE', '-p', 'PROOF_INFO', 'FALSE' , '-p', 'TIME_OUT', '100', '-expcterr', 'time_out_for_invariant',
'-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').
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').
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').
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').
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').
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.').
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').
cli_testcase(965, [eventb_test,wd], ['-mc',100, '-p', 'PROOF_INFO', 'TRUE' , '-expcterr', well_definedness_error, '-expcterr', assertion_violation,
%'-expcterr', checking_assertions, % was actually a warning generated by translate_events_in_current_scope_to_warnings
'-strict','../prob_examples/public_examples/EventBPrologPackages/ProofDirected/TestProofDirected_WD_Thm_mch.eventb'],'Check that Proof Info works well in conjunction with ill-defined theorems').
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').
cli_testcase(967, [eventb_test], ['-mc',100, '-noass', '-nodead',
'-p', 'PROOF_INFO', 'TRUE' ,
%'-expcterr', invariant_violation, % the proof of the invariant relies on the theorem, which is proven but has wd-problem
'-expcterr', 'model_check_incomplete',
'-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').
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').
cli_testcase(969, [b_test,recursion,external], ['-assertions', '-strict','../prob_examples/public_examples/B/Tickets/Bracknell1/C0.mch'],'Check that no recursion detected').
cli_testcase(970, [b_test,recursion,external], ['-init', '-strict','../prob_examples/public_examples/B/Tickets/Bracknell1/C0_ctx.eventb'],'Check that no recursion detected').
cli_testcase(971, [b_test], ['../prob_examples/public_examples/B/Tester/Prj1NATURAL.mch', '-t', '-mc', '1000', '-strict'], 'Check that prj1(NATURAL,...) not expanded').
cli_testcase(972, [cbc], ['../prob_examples/public_examples/B/CBC/plavis_MemoryLoad_SP_14_TestComp_v2.mch',
'-p', 'CLPFD', 'TRUE', '-p', 'MAXINT', 3, '-p', 'MININT', -1, '-init', '-strict'],
'Check that partitioning into components and seq enum works'). % changed to _v2 model with extra constraint on 6/1/2021
cli_testcase(973, [cbc], ['../prob_examples/public_examples/B/CBC/ComponentPartitioningTest.mch', '-p', 'CLPFD', 'TRUE', '-init', '-strict'], 'Check that partitioning into components works').
cli_testcase(974, [cbc], ['../prob_examples/public_examples/B/CBC/PartitionConstraintAssertionCheck.mch', '-p', 'CLPFD', 'TRUE', '-cbc_deadlock', '-expcterr', 'cbc_deadlock_check', '-strict'],
'Check that partitioning into components works').
cli_testcase(975, [por], ['../prob_examples/public_examples/B/Ivo/PruningActionsTest1.mch', '-mc', '1000000', '-p', 'por', ample_sets, '-expcterr', invariant_violation, '-strict'], 'POR test.').
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).').
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).').
cli_testcase(978, [por], ['../prob_examples/public_examples/B/Ivo/CycleDetections.mch', '-mc', '1000000', '-p', 'por', ample_sets, '-expcterr', invariant_violation, '-strict'], 'POR test.').
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
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
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
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
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').
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
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').
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').
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.').
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)').
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').
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').
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.').
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').
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
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').
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').
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').
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).').
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".').
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').
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.').
cli_testcase(1001, [b_test,union,card], ['-evalt', '{x|x <| [1,2,3] = [1,2] & card(x)=2} = {{1,2}}',
'-evalt', 'x <| s = [1,2,3] \\/ {29|->29} & x <: 1..1000 & s = %i.(i:1..300|i)',
'-evalt', 's |> x = [1,2,3] \\/ {29|->29} & x <: 1..1000 & s = %i.(i:1..300|i)',
'-evalt', '{x| [1,4,3]|>x = [1,4] & card(x)=2}={{1,4}}',
'-evalf', 's |> x = [1,2,3] \\/ {29|->29} & x <: 2..3000 & s = %i.(i:1..900|i) ',
'-evalt', '{x|#s.(x <| s = [1,2,3] \\/ {29|->29} & x <: 1..30 & s = %i.(i:1..300|i))} = {{1,2,3,29}}',
'-evalt', '{z,x|[1,2,z] |>> x = [1,2] & z:12..13 & x<:11..12}={(12|->{11,12}),(12|->{12})}',
'-evalt', 'x <<| [11,12,13,14,z] = [11,12,13,14] & z:12..13 ',
'-evalt', 'x <| [111,222,333,444,555] = [111,222,333,444]',
'-evalt', 'x <<| [111,222,333,444,555] = [111,222,333,444]',
'-evalt', '[111,222,333,444,555] |>x = [111,222,333,444]',
'-evalt', '[111,222,333,444,555] |>>x = [111,222,333,444]',
'-evalt', '{x|{x} <<| [111,222,333,444,555,666] = [111,222,333,444,555]} = {6}',
'-evalt', '{x| [111,222,333,444,555,666] |>> {x} = [111,222,333,444,555]} = {666}',
'-evalt', '{x| {x} <| [111,222,333,444,555,666] = {5|->555}} = {5}',
'-evalt', '{x| [111,222,333,444,555,666] |> {x} = {5|->555}} = {555}',
'-evalt', '{x| [111,222,333,444,555,555] |> {x} = {5|->555,6|->555}} = {555}',
'-p', 'CLPFD', 'TRUE', '-strict'], 'Ensure that domain/range restriction properly treated.').
cli_testcase(1002, [cbc,private], ['-p', 'CLPFD', 'TRUE', '-p', 'MAXINT', 127, '-p', 'MININT', -128,
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bank-Extraer_SP_29.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bancoG-Withdraw_NR_22.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-LoadMemory_SP_11.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-LoadMemory_SP_12.prob'
%,'-expcterr', 'eval_string_enum_warning'
], 'SetLog tests now succeeding tests').
cli_testcase(1003, [cbc,private], ['-p', 'CLPFD', 'TRUE', '-p', 'MAXINT', 127, '-p', 'MININT', -128,
%sc
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/sc-SCAddCat_SP_4.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/sc-SCAddCat_SP_22.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/sc-SCSetLevel_DNF_3.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/sc-SCSetSC_DNF_3.prob',
%bank
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bank-CerrarCaja_SP_12.prob',
%banco G
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bancoG-Withdraw_NR_18.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bancoG-Withdraw_NR_2.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bancoG-Withdraw_NR_24.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bancoG-Withdraw_NR_25.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bancoG-Withdraw_NR_4.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bancoG-Withdraw_NR_5.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/bancoG-Withdraw_NR_8.prob',
%qsee
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-LoadMemory_SP_10.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-LoadMemory_SP_9.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-TransmitMemoryDumpAux_SP_6.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-TransmitMemoryDumpAux_SP_8.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-TransmitMemoryDumpOk21_SP_3.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-TransmitMemoryDumpOk21_SP_6.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-TransmitMemoryDumpOk21_SP_8.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-TransmitScientificData_SP_16.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-TransmitScientificData_SP_24.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-TransmitScientificData_SP_8.prob',
%plavis ; two more missing
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-TransData_SP_45.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-TransData_SP_52.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-MemoryLoad_SP_55.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-RetrieveEData_SP_23.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-TransData_SP_13.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-TransData_SP_24.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-TransData_SP_3.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-TransData_SP_31.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-TransData_SP_38.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-TransData_SP_39.prob',
% iae
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/iae-DetectReferenceEvent_NR_103.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/iae-DetectReferenceEvent_NR_146.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/iae-DetectReferenceEvent_NR_148.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/iae-DetectReferenceEvent_NR_149.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/iae-DetectReferenceEvent_NR_18.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/iae-DetectReferenceEvent_NR_56.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/iae-DetectReferenceEvent_NR_58.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/iae-DetectReferenceEvent_NR_59.prob',
% sensors
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/sensors-KeepMaxReading_SP_5.prob'
%,'-expcterr', 'eval_string_enum_warning'
], 'SetLog tests some originally succeeding tests').
cli_testcase(1004, [cbc_refinement,refinement], ['../prob_examples/public_examples/EventBPrologPackages/RefinementChecking/CCounterErr_mch.eventb', '-cbc_refinement', '-expcterr', cbc_refinement], '').
cli_testcase(1005, [cbc_refinement,refinement], ['../prob_examples/public_examples/EventBPrologPackages/RefinementChecking/CCounter_mch.eventb', '-cbc_refinement'], '').
cli_testcase(1006, [cbc_refinement,refinement], ['../prob_examples/public_examples/EventBPrologPackages/RefinementChecking/CEnterLeave_mch.eventb', '-cbc_refinement'], '').
cli_testcase(1007, [cbc_refinement,refinement], ['../prob_examples/public_examples/EventBPrologPackages/RefinementChecking/CEnterLeaveErr1_mch.eventb', '-cbc_refinement', '-expcterr', cbc_refinement], '').
cli_testcase(1008, [cbc_refinement,refinement], ['../prob_examples/public_examples/EventBPrologPackages/RefinementChecking/CEnterLeave_Rename_mch.eventb', '-cbc_refinement'], '').
cli_testcase(1009, [cbc_refinement,refinement], ['../prob_examples/public_examples/EventBPrologPackages/RefinementChecking/CMergeErr_mch.eventb', '-cbc_refinement', '-expcterr', cbc_refinement, '-p', 'CLPFD', 'TRUE'], '').
cli_testcase(1010, [cbc_refinement,refinement], ['../prob_examples/public_examples/EventBPrologPackages/RefinementChecking/CMerge_mch.eventb', '-cbc_refinement'], '').
cli_testcase(1011, [cbc_refinement,refinement], ['./distribution_examples/Refinement/ServerR.ref', '-cbc_refinement'], '').
cli_testcase(1012, [cbc_refinement,refinement], ['./distribution_examples/Refinement/ServerR_wrong.ref', '-cbc_refinement', '-expcterr', cbc_refinement], '').
cli_testcase(1013, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/ConcreteVars/MI.imp', '-cbc_refinement'], 'CBC refinement check on implementation').
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
cli_testcase(1015, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/Copy/ReturnEqualI.imp', '-cbc_refinement'], '').
cli_testcase(1016, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/Division/DivisionImplOk.imp', '-cbc_refinement'], '').
cli_testcase(1017, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/Division/DivisionImplWrongCondition.imp', '-cbc_refinement', '-expcterr', cbc_refinement], '').
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.').
cli_testcase(1019, [cbc_refinement,refinement], ['../prob_examples/public_examples/B/Implementations/FTP/FileTransfer1.ref', '-cbc_refinement'], '').
cli_testcase(1020, [cbc_refinement,refinement], ['../prob_examples/public_examples/B/Implementations/FTP/FileTransfer2.ref', '-cbc_refinement'], '').
cli_testcase(1021, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/Mul/MulImp.imp', '-cbc_refinement'], '').
cli_testcase(1022, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/Mul/MulImpErr.imp', '-cbc_refinement', '-expcterr', cbc_refinement], '').
cli_testcase(1023, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/Power/AExpBImpl.imp', '-cbc_refinement'], '').
cli_testcase(1024, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/Simple10/Simple10Imp.imp', '-cbc_refinement'], '').
cli_testcase(1025, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/Simple10/Simple10ImpErr.imp', '-cbc_refinement', '-expcterr', cbc_refinement, '-p', 'CLPFD', 'TRUE'], '').
cli_testcase(1026, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/Simple10/Simple10ImpErr2.imp', '-cbc_refinement', '-expcterr', cbc_refinement], '').
cli_testcase(1027, [cbc_refinement,refinement], ['../prob_examples/public_examples/B/RefinementChecking/ServerR.ref', '-cbc_refinement'], '').
cli_testcase(1028, [cbc_refinement,refinement], ['../prob_examples/public_examples/B/RefinementChecking/ServerR_wrong.ref', '-cbc_refinement', '-expcterr', cbc_refinement], '').
cli_testcase(1029, [cbc_refinement,refinement], ['../prob_examples/public_examples/B/RefinementChecking/SwapR.ref', '-cbc_refinement'], '').
cli_testcase(1030, [b_test,infinite,sequences, theories], ['../prob_examples/public_examples/B/FunctionalProgramming/SequenceTheory.mch', '-t', '-assertions'], 'Check infinite functions and sets').
cli_testcase(1031, [b_test,card], ['../prob_examples/public_examples/B/FeatureChecks/DeferredSetAndConstants.mch', '-init',
'-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').
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).').
cli_testcase(1033, [dot], ['../prob_examples/public_examples/B/Benchmarks/scheduler.mch', '-bf', '-mc', 1000, '-strict', '-dotexpr', transition_diagram, 'card(active)',
'../prob_examples/public_examples/B/Benchmarks/scheduler_transition_diagram.dot',
'-p', 'DOT_LOOPS', 'FALSE' % added 7/11/2023
],'Check Transition Diagram for Expression.').
cli_testcase(1034, [tickets], ['../prob_examples/public_examples/B/Tickets/leuschel4/SetBecomeElementOf.mch', '-t'], 'check no error with ::').
cli_testcase(1035, [tickets], ['../prob_examples/public_examples/B/Tester/SubstSetInTests.mch', '-t', '-p', 'CLPFD' ,'TRUE', '-p', 'SYMBOLIC', 'TRUE'], 'check no error with ::').
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').
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.').
cli_testcase(1038, [b_test], ['-evalt', 'x mod 100000 >= 99999',
'-evalf', 'x mod 100000 > 99999',
'-evalt', '(x+2) mod 100000 >= 99999',
'-evalt', '(x-2) mod 100000 >= 99999 & x>2',
'-evalt', '{x,y|x mod y = x & y : 10..11 & x>0 & x+3>y}={(8|->10),(9|->10),(9|->11),(10|->11)}',
'-evalt', 'x:NATURAL & x mod 10000 = 9999',
'-evalt', 'x:NATURAL & x mod 10000 = 998',
'-evalf', 'x:NATURAL & x mod 10000 = 10000',
'-evalf', 'x:NATURAL & x mod 10000 = 10001',
'-evalt', '{X|X:1..20 & X**8 = 256} = {2}',
'-evalt', '{X|X:1..20 & X**9 = 256} = {}',
'-evalt', '{X,Y,Z|X:1..20 & Y : 8..9 & Z : 255..513 & X**Y = Z} = {(2,8,256),(2,9,512)}',
'-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)}',
'-p', 'CLPFD', 'TRUE', '-strict'
%, '-expcterr', eval_string_enum_warning
], 'Ensure modulo constraint propagation.').
cli_testcase(1039, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/MaxDevelopment/MaxImp.imp', '-cbc_refinement'], '').
cli_testcase(1040, [cbc_refinement,imp,refinement], ['../prob_examples/public_examples/B/Implementations/MaxDevelopment/MaxImpVector.imp', '-cbc_refinement'], '').
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').
cli_testcase(1042, [cbc_refinement,refinement], ['../prob_examples/public_examples/B/Implementations/MaxDevelopment/MaxR2.ref', '-cbc_refinement'], '').
cli_testcase(1043, [pge], ['../prob_examples/public_examples/B/Benchmarks/CAN_BUS_tlc.mch', '-mc', '1000000', '-bf', '-p', pge, full,
'-get_coverage_information', '../prob_examples/public_examples/B/Benchmarks/CAN_BUS_tlc.cov',
'-strict'],
'Testing for identical coverage information after the PGE optimization.').
cli_testcase(1044, [pge], ['../prob_examples/public_examples/B/EventB/EventB_Projekt/lift_solution.mch', '-mc', '1000000', '-bf', '-p', pge, full, '-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.').
cli_testcase(1045, [pge_fast,private], ['../prob_examples/examples/RodinModels/Deploy/Bosch/CruiseControl/CrsCtl_m4.eventb', '-mc', '1000000', '-bf', '-p', pge, full, '-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.').
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).').
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).').
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.').
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').
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.').
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.').
cli_testcase(1052, [eventb_test,cbc,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.').
cli_testcase(1054, [b_test, let], ['../prob_examples/public_examples/B/FeatureChecks/NestedAnys.mch', '-t', '-mc', 100, '-cc', 6, 7], 'Check LET extraction').
cli_testcase(1055, [csp_test,refinement], ['../prob_examples/public_examples/CSP/ucsexamples/chapter04/abp.csp','-assertions','-strict'], 'Checking CSP-M assertions.').
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.').
cli_testcase(1057, [tickets], ['../prob_examples/public_examples/B/Tickets/LoopPartition/bug.eventb', '-init','-expecterr', 'setup_constants_fails'], 'Check that partition(SET,{A},{B},{A,B}) does not lead to a loop in find_inequal_global_set_identifiers').
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).').
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) }',
'-evalt', '{X,F|bool(X /\\ {1} = {} & X \\/ {1} = 1..50000)=F & F:{TRUE,FALSE} & F=bool({1} <: {2,1})} <<: { (2..50000,TRUE), ({},TRUE) }',
'-evalt', 'card(%(X,F).(bool(X /\\ {1} = {} & X \\/ {1} = 1..50000)=F & F:{TRUE,FALSE} & F=bool({1} <: {2,1})|F))=1',
'-evalt', '{X| X /\\ {1} = {} & X \\/ {1} = 1..20} = {2..20}'], 'Check partition detection inside expressions').
cli_testcase(1060, [b_test], ['../prob_examples/public_examples/B/FeatureChecks/PartitionDetection.mch', '-t'], 'Check partition detection inside substitutions').
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)',
'-evalt', '#f.(f : 1..10 --> 1..10 & ran(f) = 1..10)'],'Check that range/domain/-->> scale properly').
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})',
'-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))',
'-evalt', 'i = %(x,y).(x:INTEGER&y:INTEGER|x+y) & m = %y.(y:NATURAL|y*y) & f = (i;m) & 2500 = f(20,30)',
'-evalt', 'i = %(x,y).(x:INTEGER&y:INTEGER|x+y) & m = %y.(y:NATURAL1|bool(y>100)) & f = (i;m) & TRUE = f(20,90)',
'-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',
'-evalt', 'max0 = %x.(x<:INTEGER|max(x)-1) & inc = %v.(v:INTEGER|v+1) & m = (max0;inc) & m(1..100 \\/ {4321})=4321',
'-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'
],'Check that relational composition of infinite function works').
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.').
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.').
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',
'-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').
cli_testcase(1066, [b_test,wd], ['../prob_examples/public_examples/B/Mathematical/GCD.mch', '-init',
'-p', 'CLPFD', 'TRUE', '-p', 'MAXINT', 128,
'-evalt', 'half(201)=100',
'-evalnwd', 'gcd({10,15})', % this one is not well defined
'-evalt', 'gcdc({1000,750})=250'], 'Check that expression values enumerated'). % gcd({10,15}) requires enumeration of result value
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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)',
'-evalf', '{y|#(r,r2).({x,y|x<y} = r & r2 = (r;r) & 20|->y : r2 & y|->25 : r2)} = (22..24)',
'-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',
'-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',
'-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)',
'-evalt', 'half = {x,y|y+y=x} & card(half[1024 .. xx] \\/ (closure1(half) ; half)[1024 .. xx])=10 & xx=1024',
'-p', 'SYMBOLIC', 'TRUE', '-p', 'CLPFD', 'TRUE'
, '-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
], 'Test that symbolic relational composition works').
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').
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').
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').
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').
cli_testcase(1082, [csp_test], ['../prob_examples/public_examples/CSP/Tickets/TUBerlin/Interleaving.csp','-assertions','-strict'], 'Checking CSP-M assertions.').
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',
'-p', 'MEMO', 'TRUE' %, '-expcterr' , eval_string_enum_warning
],'ensure no avl_set(empty) is generated anymore').
cli_testcase(1084, [cbc,card], ['-evalt', 'r:INTEGER<->INTEGER & dom(r)=2..20',
'-evalt', 'r:INTEGER<->BOOL & dom(r)=2..50',
'-evalt', 'r:INTEGER<->INTEGER & ran(r)=2..50',
%'-evalt', 'r:INTEGER<->INTEGER & ran(r)=2..16 & card(r)>=15',
%'-evalt', 'r:INTEGER<->INTEGER & dom(r)=2..16 & card(r)>=15',
'-evalt', 'r:INTEGER<->INTEGER & dom(r)=10002..10016',
'-evalt', 'r:INTEGER<->INTEGER & ran(r)=10002..10016',
'-evalt', 'card({r|r:INTEGER<->INTEGER & dom(r)=61..64 & card(r)=4 & ran(r) = 55..56})=14',
'-evalt', 'card({r|r:INTEGER<->INTEGER & dom(r)=9961..9964 & card(r)=4 & ran(r) = 2155..2158})=24',
'-evalt', 'card({r|r:INTEGER<->INTEGER & dom(r)=61..64 & card(r)=4 & ran(r) = 155..159})=0',
'-p', 'CLPFD', 'TRUE' %, '-expcterr', eval_string_enum_warning
],'ensure proper constraint-solving for domain/range').
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').
cli_testcase(1086, [csp_test, cbc], ['../prob_examples/public_examples/CSP/clpfd_tests/SetComprehensionCBC.csp','-p', 'CLPFD', 'TRUE', '-assertions','-strict', '-p', 'TIME_OUT', 5000], % increase timeout for windows
'Checking CSP-M assertions (CBC test case).'). % was skipped in 2013 188167bc320f854a4634146299c3f19278047c8e
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').
cli_testcase(1088, [cbc,smt_test], ['../prob_examples/public_examples/B/Benchmarks/phonebook7.mch','-p', 'CLPFD', 'TRUE',
'-p', 'TIME_OUT', 5000, % increased time-out after change of pfun enumeration priority; TO DO: fix
'-p', 'SMT', 'TRUE', % added SMT option after adding wait flag for propagate_result_to_input in domain_wf in bsets_clp
'-cbc', 'all','-strict'], 'Check that we do not time-out (due to delaying normalisation of variables).').
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').
cli_testcase(1090, [b_test,infinite,sigma,union], [
'-evalt', 'f = {x,y,z| x*x + y*y = z*z} & {y|(3,4,y):f} = {-5,5}',
'-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]}',
'-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',
'-p', 'CLPFD', 'TRUE'],'ensure ProB detects certain relations as infinite automatically').
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).').
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).').
cli_testcase(1093, [b_test,infinite,override,sigma,union,card], [
'-evalt', 'f = %x.(x:NATURAL|x+x) & g = f <+ {0|->1} & g(0)=res0 & g(111)=res1',
'-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',
'-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',
'-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)',
'-p', 'CLPFD', 'TRUE'],'ensure symbolic treatment of override').
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).').
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.').
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.').
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)').
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').
cli_testcase(1099, [b_test,card,infinite], [ '-p', 'TIME_OUT', 1500,
'-evalt', 'f = /*@symbolic*/ {x,y|x:0..2**32 & x mod 2 =0 & y=x*x} & f(x) = 10000',
'-evalt', 'f = /*@symbolic*/ {x,y|x:0..2**132 & x mod 2 =0 & y=x*x} & f(x) = 10000',
'-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)',
'-p', 'CLPFD', 'TRUE'],'ensure detection of large set comprehensions'). % TO DO: see if we can it to work again without symbolic
cli_testcase(1100, [b_test,card], [
'-evalt', 'r = {(111,2222),(333,4444)} & s = (2000..2001)*{v|v>3000} & x : (r||s)',
'-evalt', 'card(((1..100)*(50..60) || (2..30)*(20..22))) = 95700',
'-evalt', 'card(((1..100)*(50..60) || (2..30)*(23..22)))=0',
'-evalt', '(((1..10)*(50..60) || (2..30)*(23..24)))~ = (((50..60)*(1..10) || (23..24)*(2..30)))',
'-evalt', 'card(((1..1000)*(50..60) || (2..30)*(20..22))) = 957000',
'-evalt', 'card(((1..n)*(50..60) || (2..30)*(20..22))) = 957*n & n=10',
'-p', 'CLPFD', 'TRUE' %, '-expcterr', 'eval_string_enum_warning'
],'ensure symbolic treatment of parallel product works').
cli_testcase(1101, [private,data_validation,infinite,union],[
'../prob_examples/examples/B/Systerel/C578.EML.014/360_002.mch',
'../prob_examples/examples/B/Systerel/C578.EML.014/380_002.mch',
'../prob_examples/examples/B/Systerel/C578.EML.014/612_001.mch',
'../prob_examples/examples/B/Systerel/C578.EML.014/019_100_corrected.mch',
'../prob_examples/examples/B/Systerel/C578.EML.014/CF_TVD_8.mch',
'../prob_examples/examples/B/Systerel/C578.EML.014/CF_CBTC_TER_1.mch',
'../prob_examples/examples/B/Systerel/C578.EML.014/CF_ZMA_PRUD_1.mch',
'../prob_examples/examples/B/Systerel/C578.EML.014/CF_ZMA_PRUD_7.mch',
'-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', % changed to FALSE to reduce output
'-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-strict'],
'check data validation tasks with infinite sets').
cli_testcase(1102, [private,data_validation,infinite],[
'../prob_examples/examples/B/Systerel/C578.EML.014/019_100.mch',
'-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'],
'check data validation tasks with infinite sets').
cli_testcase(1103, [private,data_validation,infinite],[
'../prob_examples/examples/B/Systerel/C578.EML.014/435_002.mch',
'-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'],
'check data validation tasks with infinite sets').
cli_testcase(1104, [b_test, let,quantified,union,card], [
'-evalt', 'INTER(x , y,z ).(x=1..y & y=5&z=2|x) = {1,2,3,4,5}',
'-evalt', 'UNION(x , y,z ).(x=1..y & y=5&z=2|x) = {1,2,3,4,5}',
'-evalt', 'UNION(x , y ).(x=1..y & y=20|x)=1..20',
'-evalt', 'UNION(beu).(beu=1|{2}) = {2}',
'-evalt', 'UNION(xx).(xx<:55..60|xx) = 55..60',
'-evalt', 'UNION(x , y ).(x=1..y & y=20&v<10|x)=r & v=20 & r={}',
'-evalt', 'UNION(x , y ).(x=1..y & y=20&v<10|x)=r & v=5 & r=1..20',
'-evalt', 'UNION(x).(x=1 & x>2|{1}) = {}',
'-evalf', 'card(UNION(x).(x=1 & x>2|{1}))>0',
'-evalt', 'UNION(x).(x=1 & (x>2 or x<3)|{x}) = {1}',
'-evalt', 'UNION(x,y).(x=1 & (x>2 or x<y) & y:0..3|{x|->y}) = {(1|->2),(1|->3)}',
'-evalt', 'UNION(x,y).(x=y & y=x+1 & x:1..100|{x|->y}) = {}',
'-evalt', 'UNION(x,y).(x=1 & y:1..2|{x+y}) = {2,3}',
'-evalt', 'INTER(x,y).(x=1 & y:1..2|{x+y}) = {}',
'-evalt', 'INTER(x,y).(x=1 & y:1..2|{x+y,x+y+1})={3}',
'-evalt', 'INTER(x,y,z).(x=1000 & z=x+1000 & y:1..2|{x+y+z,x+y+z+1}) = {3002}',
'-evalf', '!(x,y).(x=1 & y:(x+1)..(x+19) => y+y<30)',
'-evalt', '!(x,y).(x=1 & y:(x+1)..(x+19) => y+y<42)',
'-evalt', '!x.(x=100 & x>200 => x>999)',
'-evalt', '!x.(x=100 & x>50 => x>99)',
'-evalf', '!x.(x=100 & x>50 => x>100)',
'-evalt', '!(x,y,z,v).(x=10 & y=20 & z=x+y & v:x..z => v:NATURAL1)',
'-evalt', 'f = {1|->2} & !e.(2:dom(f) & e=f(2) => e>100)',
'-evalf', 'f = {1|->2} & !e.(1:dom(f) & e=f(1) => e>100)',
'-evalf', 'f = {1|->2} & !e.(e=f(1) => e>100)',
'-evalt', 'f = {1|->200} & !e.(e=f(1) => e>199)'
],'ensure UNION/INTER can be dealt with by typechecker, + LET introduction works correctly...').
cli_testcase(1105,[private, data_validation,alstom,codespeed],[
'../prob_examples/examples/B/Alstom/sgd_Jun11/vital_gradient_v3/vital_gradient_optimized.mch',
'-p', 'CLPFD', 'TRUE', '-p', 'MAXINT', '2147483647', '-p', 'MININT', '-2147483648', '-p', 'TIME_OUT', '35000', '-t'],
'check that trace can be replayed').
cli_testcase(1106, [b_test,recursion,external,infinite], ['../prob_examples/public_examples/B/RecursiveFunctions/PrimitiveRecursiveFunctions.mch',
'../prob_examples/public_examples/B/RecursiveFunctions/SumTLA.mch',
'../prob_examples/public_examples/B/RecursiveFunctions/TransitiveClosureFunction.mch',
'../prob_examples/public_examples/B/RecursiveFunctions/TransitiveClosureFunctionIFTE.mch',
'-assertions', '-strict', '-p', 'SYMBOLIC', 'FALSE'], 'Test that other recursive functions work.').
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.').
cli_testcase(1108, [b_test,sigma,card,forall], ['-p', 'CLPFD', 'TRUE',
'-evalt', 'bool(!(x,y).(x:1..400000 & y:1..x => x>=y)) /= bool(!(x,y).(x:1..400000 & y:1..x => x>y))',
'-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))',
% we wrap into bool to avoid top-level rewriting of !
'-evalt', '!(x,y).(x:1..400000 & y:1..x => x>=y)',
'-evalf', '!(x,y).(x:1..400000 & y:1..x => x>y)',
'-evalf', '!x.(x:POW(1..100) & card(x)>1 => SIGMA(y).(y:x|y)>3)',
'-evalf', '!x.(x:POW(1..100) & card(x)>1 => SIGMA(y).(y:x|y)<200)',
'-strict'], 'Check that forall can now deal with large domains').
cli_testcase(1109, [tickets], ['../prob_examples/public_examples/B/Tickets/Valerio3/BV16_DEFINITION.mch', '-strict', '-init', '-p', 'SYMBOLIC', 'TRUE', '-p', 'CLPFD', 'TRUE',
'-evalf', '!(vec).( vec : BIT_VECTOR => size (vec)<=16)',
'-evalt', 'bool(!(vec).( vec : BIT_VECTOR => size (vec)<=16))=bool(!(vec).( vec : BIT_VECTOR => size (vec)<=2))'
%,'-expcterr', 'eval_string_enum_warning'
], 'Check that ProB now detects this quantification to be false'). % previously it was not detected due to limited enumeration
cli_testcase(1110, [ltl], ['../prob_examples/public_examples/B/Ivo/PruningActionsTest2.mch', '-ltlassertions', '-strict'], 'Checking independency of actions by means of LTL Formulas.').
cli_testcase(1111, [tickets,quantified,union],['../prob_examples/public_examples/B/PerformanceTests/UNION_PerfTest.mch',
'-p', 'SYMBOLIC', 'TRUE', '-assertions' ,'-p' ,'CLPFD', 'TRUE',
'-p', 'TIME_OUT', 1000], 'Ensure symbolic ran closure can be expanded efficiently').
cli_testcase(1112, [tickets,alstom],['../prob_examples/examples/B/Alstom/cbtc/params_cbtc.mch',
'-init' ,'-p' ,'IGNORE_PRJ_TYPES', 'TRUE', '-p', 'TIME_OUT', '3500'], 'Ensure symbolic ran closure can be expanded efficiently').
cli_testcase(1113, [b_test,card], ['-p', 'CLPFD', 'TRUE',
'-evalt', 'card({x|#y.(y:111..112 & x = {{y*y}})}) = 2',
'-evalt', 'card({x|#y.(y:111..112 & x = {{{{{y*y}}}}})}) = 2',
'-evalt', 'card({x|#y.(y:POW(BOOL) & card(y)=1 & x = ({(y,TRUE)},TRUE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE))}) =2',
'-evalt', '{x|#y.(y:POW(BOOL) & card(y)=1 & x = {(y,TRUE,FALSE,TRUE)})} = {{((({FALSE}|->TRUE)|->FALSE)|->TRUE)},{((({TRUE}|->TRUE)|->FALSE)|->TRUE)}}',
'-evalt', '{x,y|#z.(z:{1024,2048,4096} & x=z+z & y={{z*z}})} = {(2048|->{{1048576}}),(4096|->{{4194304}}),(8192|->{{16777216}})}',
'-evalt', '{x|#z.(z:1..2**20 & x=z & x+z<100)} = 1..49',
'-strict'], 'Check closures with top-level existential quantifiers').
cli_testcase(1114, [tickets,csp_test],['../prob_examples/public_examples/B/Tickets/315/ANN_Neuron.csp',
'-t' , '-mc', 200, '-check_complete', '-cc', 26, 42], 'Ensure ticket remains fixed').
cli_testcase(1115, [tickets,eventb_test],['../prob_examples/public_examples/EventBPrologPackages/Ticket_ThmGuard/M2_mch.eventb',
'-t' , '-mc', 200, '-check_complete'], 'Ensure theorem in guards work').
cli_testcase(1116, [dot,eventb_test,dot],['../prob_examples/public_examples/EventBPrologPackages/Tests/UnicodeIds_mch.eventb',
'-mc', 200, '-nodead', '-check_complete', '-dot', 'state_space', '../prob_examples/public_examples/EventBPrologPackages/Tests/UnicodeIds_spdot.dot'], 'Ensure Unicode characters work in Dot export').
cli_testcase(1117, [tickets],['../prob_examples/public_examples/B/Tickets/Srivastava1/Total_M1.mch',
'-t' , '-strict'], 'Ensure that expensive arg in relations check not computed').
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').
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').
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.').
cli_testcase(1121, [tickets,csp_test],['../prob_examples/public_examples/CSP/other/Ivo/ComplexDataTypes.csp', '-t'], 'Checking complex input/output values for channel.').
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').
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').
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').
cli_testcase(1125, [b_test,data_validation,infinite,override], ['-p', 'SYMBOLIC', 'TRUE',
'-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'],
'Test that override works symbolically').
cli_testcase(1126, [private,data_validation,infinite,override], ['../prob_examples/examples/B/Systerel/C578/2013/machines_14082013/PB_00611_005.mch',
'../prob_examples/examples/B/Systerel/C578/2013/machines_14082013/PS_00611_006.mch',
'-init' ,'-assertions', '-p', 'SYMBOLIC', 'TRUE'], 'Check symbolic override issues solved').
cli_testcase(1127, [tickets], ['../prob_examples/public_examples/B/Tickets/PROB-306/OperationCallBug.mch', '-strict', '-init',
'-expcterr', 'type_error', '-expcterr', 'load_main_file'], 'Check type checker for wrong number of arguments in operation call').
cli_testcase(1128, [tickets], ['../prob_examples/public_examples/B/Tickets/PROB-306/OperationCallBug2.mch', '-strict', '-init',
'-expcterr', 'type_error', '-expcterr', 'load_main_file'], 'Check type checker for wrong number of results in operation call').
cli_testcase(1130, [private,data_validation], ['../prob_examples/examples/B/Systerel/C578/2013/machines_03092013/error/0050_001.mch',
'-init' ,'-assertions', '-p', 'SYMBOLIC', 'TRUE', '-p', 'TIME_OUT', 3500], 'Check bug remains solved (unification in b_compute_expression2)').
cli_testcase(1131, [private,data_validation],[
'../prob_examples/examples/B/Systerel/C578/2013/machines_06092013/C_02_001.mch',
'-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'],
'check memory consumption ok').
cli_testcase(1132,[csp_test], ['../prob_examples/public_examples/CSP/CSPOZ/CurriedNATupleFunNested.csp', '-assertions', '-strict'], 'Nested NA-Tuples.').
cli_testcase(1133, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/demo/basin_olderog_bank.csp', '-mc', 1000, '-cc', 129, 673, '-strict'], '').
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.').
cli_testcase(1135, [csp_test], ['../prob_examples/public_examples/CSP/CSPOZ/CurriedNATupleFunNested.csp', '-assertions', '-t', '-strict'], 'Testing curry functions.').
cli_testcase(1136, [csp_test], ['../prob_examples/public_examples/CSP/evans/KeyNETv2.csp', '-mc', '1000', '-nodead', '-cc', 24, 23, '-assertions', '-strict'], '').
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.').
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.').
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.').
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).').
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).').
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).').
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).').
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).').
cli_testcase(1145, [b_test], ['-p', 'CLPFD', 'TRUE',
'-evalt', '{} <: (1..100000000 \\/ {-1})'],
'Check that we do not compute <: if first arg {}').
cli_testcase(1146, [private,data_validation], ['../prob_examples/examples/B/Systerel/C578/2013/machines_06092013/T_032_002.mch',
'-init' ,'-aa', 0,1,0, '-p', 'SYMBOLIC', 'TRUE', '-p', 'MEMO', 'TRUE', '-p', 'TIME_OUT', 11500, '-p', 'CLPFD', 'TRUE',
'-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', 0 ], 'Check test eq_emtpy_set bug remains solved'). % increased time-out from 7500
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').
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').
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').
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').
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').
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').
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').
cli_testcase(1154, [b_test,union], ['-p', 'CLPFD', 'TRUE',
'-evalt', 'x : 1..1000040 \\/ {10000061} & x mod 2 = 0',
'-evalt', 'x : 1..10000040 \\/ {10000061} & x mod 2 = 0',
'-evalt', 'x : 1..10000040 \\/ {10000061}'
% does not work yet: ,'-evalt', ' x : {-33} \/ {0} \/ 1..10000040 \/ {10000061} \/ {-22}'
], 'Check union of AVL with large interval does not expand interval').
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').
cli_testcase(1156, [eventb_test, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/SeqTest1.eventb', '-mc', 2000, '-nodead', '-strict'], 'Checking the Seq theory').
cli_testcase(1157, [private,data_validation,infinite,override],[
'../prob_examples/examples/B/Systerel/C578.EML.014/670_002.mch',
'-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'],
'check override computed explicitly for A*B*C <+ {...} for reasonable sizes'). % increased TIME_OUT from 11000
cli_testcase(1158, [b_test], ['-p', 'SYMBOLIC', 'TRUE','-p', 'CLPFD', 'TRUE',
'-evalt', '95|->93 : dom({x,y,z| x>z & y<z})',
'-evalf', '94|->93 : dom({x,y,z| x>z & y<z})' ],
'check symbolic treatment of domain').
cli_testcase(1159, [b_test,card], ['-p', 'CLPFD', 'TRUE',
'-evalt', '{S1|S1 <: {"d","f","3","14","play"} & {"d"} /<<: S1 & card(S1):4..5} = {{"14","3","f","play"}}' ],
'simple CBC check from old paper').
cli_testcase(1160, [b_test,infinite], ['-p', 'SYMBOLIC', 'TRUE','-p', 'CLPFD', 'TRUE',
'-evalt', 'f = %i.(i:1..100|i*i) & f[NATURAL1] = x & max(x)=10000',
'-evalt', 'f = %i.(i:1..100|i*i) & f[{v|v<=20}] = x & max(x)=400',
'-evalt', 'f = %i.(i:0..100|i*i) & f[NATURAL1] = x & min(x)=1'],
'test that we can take image of infinite set').
cli_testcase(1161, [private,data_validation], ['../prob_examples/examples/B/Systerel/C578/2013/machines_24092013/07_001.mch',
'-init' ,'-assertions', '-p', 'SYMBOLIC', 'TRUE', '-p', 'MEMO', 'TRUE', '-p', 'TIME_OUT', 39500,
'-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', 0 ], 'Check performance'). % increased time-out from 9500 (16th July 2014)
cli_testcase(1162, [private,data_validation], [%'../prob_examples/examples/B/Systerel/C578/2013/machines_24092013/02_001_adapted.mch', % moved to test 1376
'../prob_examples/examples/B/Systerel/C578/2013/machines_24092013/30_001_adapted.mch',
'-init' ,'-assertions', '-p', 'SYMBOLIC', 'TRUE', '-p', 'MEMO', 'TRUE', '-p', 'CLPFD', 'TRUE', '-p', 'TIME_OUT', 35000,
'-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', 0 ], 'Check performance').
cli_testcase(1163, [b_test], ['-p', 'CLPFD', 'TRUE',
'-evalf', '0..x <: 1..100000 & x>0',
'-evalt', '0..101001 <: 0..x & x <1001000',
'-evalt', '1..2**65 <: 1..2**66',
'-evalf', '1..2**67 <: 1..2**66',
'-evalt', '1..2**65 <: x..2**66 & x:0..10',
'-evalf', '1..2**65 <: x..2**66 & x:2..100000',
'-evalf', 'x:180..200 & y: 3000..4000 & x+y=z & x..z <: x..w & w<3500 & w<z',
'-evalt', 'x:180..200 & y: 3000..4000 & x+y=z & x..z <: x..w & w<3500 & w<=z',
'-evalf', '0..x <<: 1..100000 & x>0',
'-evalt', '0..101001 <<: 0..x & x <1001000',
'-evalt', '1..2**65 <<: 1..2**66',
'-evalf', '1..2**66 <<: 1..2**66',
'-evalt', '2..2**66 <<: 1..2**66',
'-evalt', '-10000..x <<: 1..2 & x>-(2**20)',
'-evalf', 'x:180..200 & y: 3000..4000 & x+y=z & x..z <<: x..w & w<3500 & w<=z',
'-evalt', '{x|1..x /<: 1..10000 & x<10003} = {10001,10002}',
'-evalt', '1000..x /<: 1..y & y..1010 /<: y..1009 & x..1010 /<: x..1009 & y>0',
'-evalt', '1..2**65 /<<: 1..2**65',
'-evalf', '1..2**65 /<<: 1..2**66',
'-evalf', '2..2**66 /<<: 1..2**66',
'-evalf', 'x..y /<<: 1001..1002 & x:100..200 & y:0..10',
'-evalt', '{x,y|x..y /<<: 1001..1002 & x:100..200 & y:0..100}={(100,100)}',
'-evalt', '{x,y|x..y /<<: 1001..1002 & x:1001..1030 & y<1004} = {(1001|->1002),(1001|->1003),(1002|->1003),(1003|->1003)}',
'-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)}',
'-evalt', '10..y /<<: 200..x & x>100 & y:1..5',
'-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)}'
], 'Check interval treatment in subset').
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.').
cli_testcase(1165, [b_test,sequences,strings], ['-p', 'CLPFD', 'TRUE', %'-expcterr', eval_string_enum_warning,
'-evalt', 'mdp = 5 * 43 & (yy: mdp + 1 .. ( mdp + 43 ) & yy: dom(memp)) & memp:seq(STRING)',
'-evalt', '16: dom(memp) & memp:seq(STRING)',
'-evalt', 'memp:seq(STRING) & 16: dom(memp)',
'-evalt', 'memp:seq(STRING) & mdp = 5 * 43 & (yy: mdp + 1 .. ( mdp + 43 ) & yy: dom(memp))',
'-evalt', '{x} /\\ 0..2000 = {} & x>0'
], 'Check constraint propagation of in domain + in sequence + interval intersection').
cli_testcase(1166, [b_test], ['-p', 'CLPFD', 'TRUE',
'-evalt', 'x /\\ 1000..2000 = {1001}',
'-evalt', 'x /\\ 1000..2000 = {y}',
'-evalt', '1000..2000 /\\ x = {y}',
'-evalt', '{x} /\\ 10000..999999 = r & r={y}',
'-evalt', '{x} /\\ 10000..999999 = {y}',
'-evalt', '10000..x = {y}',
'-evalf', '10000..20000000 = {y}',
'-evalf', '{x|x>2} = {y}',
'-evalt', 'x:0..999999 & y:0..99999 & {x} /\\ 10000..999999 = {y}',
'-evalt', '{x} /\\ {y} /= {} & x:1000..2000 & y>=0',
'-evalt', '{x} /\\ {y} /= {} & x:1000000..20000000 & y>=0',
'-evalt', 'a..b = {x} & x:100..1002',
'-evalt', '{a,b,x|a..b = {x} & x:1000..1002} = {((1000|->1000)|->1000),((1001|->1001)|->1001),((1002|->1002)|->1002)}',
'-evalt', '{x|x>0} = NATURAL1',
'-evalf', '{x|x>0} = NATURAL',
'-evalt', '{x|x>0} /= NATURAL',
'-evalt', '{x|x<110} /= NATURAL',
'-evalt', '{x|x>0} <: NATURAL1',
'-evalf', '{x|x>=0} <: NATURAL1',
'-evalt', '{x|x>0} <: INTEGER',
'-evalt', '{x|x>0} <: {x|x>-1}',
'-evalt', '{x|x>0} <: {x|x>0}',
'-evalf', '{x|x>0} <: {x|x>1}',
'-evalf', 'NATURAL1 <: 0..10000',
'-evalt', '{x|x>1} <<: {x|x>0}',
'-evalf', '{x|x>0} <<: {x|x>0}',
'-evalf', '{x|x>0} <<: NATURAL1',
'-evalt', '{x|x>0} <<: NATURAL',
'-evalt', '{x|x>0} <<: INTEGER',
'-evalf', '{x|x>0} <<: {x|x>2}',
'-evalt', '{x|x>0} <<: {x|x>-200}',
'-evalf', 'NATURAL1 <<: 0..10000',
'-evalf', '{x|x<20000} <<: 0..10000',
'-evalf', '{x|x>0} /<: NATURAL1',
'-evalt', '{x|x>=0} /<: NATURAL1',
'-evalf', '{x|x>0} /<: INTEGER',
'-evalf', '{x|x>0} /<: {x|x>-1}',
'-evalf', '{x|x>0} /<: {x|x>0}',
'-evalt', '{x|x>0} /<: {x|x>1}',
'-evalt', 'NATURAL1 /<: 0..10000',
'-evalt', '{x|x>=0} /<<: NATURAL',
'-evalt', '{x|x>=0} /<<: NATURAL1',
'-evalf', '{x|x>=0} /<<: INTEGER',
'-evalt', 'NATURAL /<<: NATURAL1',
'-evalf', '1..100 /<<: NATURAL1',
'-evalt', '0..100 /<<: NATURAL1',
'-evalt', '{x|x<20000} /<<: 0..10000',
'-evalt', 'NATURAL1 /<<: 0..10000',
'-evalf', '0..B <: 1..B & B:1..1000000',
'-evalf', '0..x <: 1..1000 & x>0',
'-evalf', '0..B <<: 1..B & B:1..1000000',
'-evalf', '0..x <<: 1..1000 & x>0',
'-evalt', '{x,y} /<<: NATURAL1 & x:2..3 & y:0..5',
'-evalf', '{x,y} /<<: NATURAL1 & x:2..3 & y:1..5',
'-evalt', '{x,y} <<: NATURAL1 & x:2..3 & y:4..5',
'-evalf', '{x,y} <<: NATURAL1 & x:-22..-3 & y:-4..0',
'-evalt', '%(x,y).( x:1..4 & y : {-1, 0, 1} | x + y)[INTEGER*INTEGER] /\\ {x|x<=3} = 0..3',
'-evalt', '{x,z|x:1..z & x:z..3} = {(1|->1),(2|->2),(3|->3)}' % just a check about interval propagation
%,
%'-evalt', 'x /\\ y /= {} & x<:1..10000 & y<:10000..20000',
%'-evalt', 'x /\\ y /= {} & x = {y|y : 1..n & y mod 2 = 0} & y = {v|v:1..n & v mod 17 = 0} & n = 10000',
%'-evalt', '{x|NATURAL1 /\\ 0..x /= {} & x< 20} = 1..19'
], 'Check constraint propagation of intersection with intervals').
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').
cli_testcase(1168, [b_test,smt_test], ['-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE',
'-evalt', '{y,f|f = %x.(x:1..10|x+y) & f(5)=1005} = {(1000|->[1001,1002,1003,1004,1005,1006,1007,1008,1009,1010])}'
], 'Check constraint propagation for partially known functions').
cli_testcase(1169, [b_test,cbc], ['-p', 'CLPFD', 'TRUE',
'-p','MAX_INITIALISATIONS', 0, '-cbc_assertions',
'../prob_examples/public_examples/B/CBC/RULE_r967_1.mch', '-expcterr', 'cbc_assertions'
], 'Check ProB finds counter example for rule').
cli_testcase(1170, [b_test,cbc], ['-p', 'CLPFD', 'TRUE',
'-p','MAX_INITIALISATIONS', 0, '-cbc_assertions_proof', '-p', 'DISPROVER_MODE', 'TRUE',
'-expcterr', 'cbc_assertions_enumeration_warning',
'../prob_examples/public_examples/B/CBC/RULE_InSetLeavesXY_32_1.mch',
'../prob_examples/public_examples/B/CBC/RULE_r967_preuve_backward.mch'
], 'Check ProB finds counter example for rule').
cli_testcase(1171, [b_test,cbc], ['-p', 'CLPFD', 'TRUE',
'-p','MAX_INITIALISATIONS', 0, '-cbc_assertions_proof', '-p', 'DISPROVER_MODE', 'TRUE',
'-expcterr', 'cbc_assertions_enumeration_warning',
'../prob_examples/public_examples/EventBPrologPackages/Disprover/EnumWarningTests/DefSet_ShouldGenerateEnumWarning2.mch'
], 'Check ProB finds no counter example for rule and no proof').
cli_testcase(1172, [b_test,cbc], ['-p', 'CLPFD', 'TRUE',
'-p','MAX_INITIALISATIONS', 0, '-cbc_assertions_proof', '-p', 'DISPROVER_MODE', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Disprover/EnumWarningTests/DefSet_NoEnumWarning1.mch'
], 'Check ProB finds no counter example for rule and no proof').
cli_testcase(1173, [b_test,cbc], ['-p', 'CLPFD', 'FALSE',
'-p','MAX_INITIALISATIONS', 0, '-cbc_assertions_proof', '-p', 'DISPROVER_MODE', 'TRUE',
'-expcterr', 'cbc_assertions_enumeration_warning',
'../prob_examples/public_examples/EventBPrologPackages/Disprover/EnumWarningTests/DefSet_ShouldGenerateEnumWarning1.mch'
], 'Check ProB finds no counter example for rule and no proof').
cli_testcase(1174, [b_test,cbc], ['-p', 'CLPFD', 'TRUE',
'-p','MAX_INITIALISATIONS', 0, '-cbc_assertions_proof', '-p', 'DISPROVER_MODE', 'TRUE',
'-expcterr', 'cbc_assertions_enumeration_warning',
'../prob_examples/public_examples/EventBPrologPackages/Disprover/EnumWarningTests/DefSet_ShouldGenerateEnumWarning1.mch'
], 'Check ProB finds no counter example for rule and no proof').
cli_testcase(1175, [b_test,card], ['-p', 'CLPFD', 'TRUE',
'-evalf', 'n: INTEGER & {n} = r & r={n1} & (n1/=n)',
'-evalf', 'n: POW(INTEGER) & {n} = r & r={n1} & (n1/=n)',
'-evalf', 'n: BOOL & {n} = r & r={n1} & (n1/=n)',
'-evalf', 'n>0 & {n} ={n1} & (n1/=n)',
'-evalf', 'f:POW(NATURAL) & f2 = f \\/ {p2} & p1:f & p1/:f2 & p1/=p2',
'-evalf', 'f:POW(NATURAL) & f2 = f \\/ {p2} & p1:f & p1/:f2',
'-evalf', 'p1:dom(f) & f2 = {p2} <<| f & p1 /: dom(f2) & p1/=p2 & f:NATURAL <->NATURAL',
'-evalt', 'p1:dom(f) & f2 = {p2} <<| f & p1 /: dom(f2) & p1=p2 & f:NATURAL <->NATURAL',
'-evalf', 'x /= y & s={x,y,z} & x/=z & y/=z & x:NATURAL1 & card(s)<3',
'-evalf', 'x:s & y:s & z:s & x /= y & x/=z & y/=z & x:NATURAL1 & card(s)<3',
'-evalf', 'x /= y & x/=z & y/=z & s={x,y,z} & card(s)<3 & s<:STRING',
'-evalf', 'f:NATURAL +-> INTEGER & f2 = f <+ {p2|->1} & p1:dom(f) & p1/:dom(f2) & p1/=p2',
'-evalt', 'x /= "a" & (x /= "a" => y>1000000) & (y>1000000 => x = "b") & y<2000000',
'-evalt', 'x /= "a" & (x /= "a" => y>100000 & y<200000) & (y>100000 => x = "b")',
'-evalt', 'x /= "a" & ("a" /= x => y>100000 & y<200000) & (y>100000 => x = "b")',
'-evalt', 'x /= 33 & (x /= 33 => y>1000000) & (y>1000000 => x = 2133) & y<2000000',
'-evalt', 'x /= 1 & (1 /= x => y>100000 & y<200000) & (y>100000 => x = 2)',
'-evalf', 'x /= 1 & (1 /= x => y>100000 & y<200000) & (y>100000 => x = 1)'
], 'Check that a few inconsistencies can be detected without enumeration').
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').
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').
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').
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').
cli_testcase(1180, [b_test,card], ['-p', 'CLPFD', 'TRUE',
'-evalt', '{x|#y.(y>x & (y mod 1000 = 0 or y<x+20)) & x:1..4} = 1..4',
'-evalt', '{x|#y.(y>x & (y mod 1000 = 0 or y<x+20)) & x:1..40} = 1..40',
'-evalf', '{x|#y.(y>x & (y mod 1000 = 0 or y<x+20)) & x:1..40} = 1..4',
'-evalf', '{x|#y.(y>x & (y mod 1000 = 0 or y<x+20)) & x:1..40} /= 1..40',
'-evalt', '{x|#y.(y>x) & x:1..100} /= {}',
'-evalf', '{x|#y.(y>x) & x:1..100} = {}',
'-evalt', 'card({x|#y.(y>x) & x:1..100}) = 100',
'-evalt', 'card({x,y| x>=60000 & x<=64999 & x mod 2 =1 & y=x+x}) = 2500',
'-evalt', 'card({x,y| x>=60000 & x<=64999 & x mod 2 =1 & y=x+x}) = 2500',
'-evalt', 'x = (1 .. 100000) - {4} & card(x) = 99999',
'-evalt', '{x| x:1..100 & {y|y:x..x+10} = {z|z>=x & z<x+11 & #v.(v>x)}} = 1..100',
'-evalt', '[0,0,0,0,0,0,0,0,0,1]:{x|x:seq(0..1) & 1:ran(x)}',
'-evalf', '[0,0,0,0,0,0,0,0,0,0]:{x|x:seq(0..1) & 1:ran(x)}',
'-evalt', '[0,0,1,1,0,1,0]:{x|x:seq(0..1) & card(x)>5}',
'-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}'
],'Check enum warnings properly dealt with').
cli_testcase(1181, [b_test,card,sequences], ['-p', 'CLPFD', 'TRUE', '-expcterr', 'eval_string',
'-evalf', '{x|x:seq(0..1) & card(x)>5 & card(x)-50 /= 50} /= {x|x:seq(0..1) & card(x)>5 & card(x) /= 20}'
],'Check enum warnings generated').
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').
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').
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).').
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)').
cli_testcase(1186, [laws], ['../prob_examples/public_examples/EventBPrologPackages/Laws/finiteTest_ctx.eventb',
'-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').
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',
'x:seq({1}) & 5:dom(x) & card(x)>6', '-p', 'DISPROVER_MODE', 'TRUE', % required to enable special card treatment
'-p', 'CLPFD', 'FALSE', '-strict'
%, '-expcterr', eval_string_enum_warning
], 'Ensure proper enumeration of sequences (CLPFD=FALSE).').
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').
cli_testcase(1189, [b_test,tickets,closure1], ['../prob_examples/public_examples/B/Tickets/Hansen7/ClosureTest2.mch', '-init', '-properties'], 'Check closure1 enumeration issue resolved').
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').
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.').
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').
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,
'-evalt', 'make_BIBIRec((TRUE,55),(FALSE,66)) = ((TRUE,55),(FALSE,66))'], 'Check that record detection works with nested records').
cli_testcase(1194, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/platoon/platoon1_prob_simplified_v3.eventb',
% '../prob_examples/public_examples/EventBPrologPackages/platoon/platoon1_prob_simplified.eventb', % fixed power_of WD error
'-t', '-strict', '-p', 'USE_RECORD_CONSTRUCTION', 'TRUE', '-p', 'MAX_OPERATIONS', 20, '-p', 'MAX_INITIALISATIONS', 40,
'-expcterr', virtual_time_out,
'-evalt', 'sqrt(0)=0',
'-evalt', 'sqrt(10)=3',
'-evalt', 'sqrt(10000)=100',
'-evalt', 'dist(make(10|->20) |-> make(10|->20)) = 0',
'-evalt', 'dist(make(10|->20) |-> make(10|->30)) = 10',
'-evalt', 'dist(make(10|->20) |-> make(0|->20)) = 10', % WD error with platoon1_prob_simplified.eventb
'-evalt', 'dist(make(0|->20) |-> make(10|->20)) = 10',
'-evalt', 'dist(make(10|->20) |-> make(20|->20)) = 10',
'-evalt', 'dist(make(10|->10) |-> make(20|->20)) = 14',
'-evalt', 'dist(make(10|->10) |-> make(10010|->10010)) = 14142',
'-evalt', 'xcoord(make(1024,2048)) = 1024',
'-evalt', 'ycoord(make(1024,2048)) = 2048'
], 'Check that record detection + symbolic treatment work').
cli_testcase(1195, [performance_tests,b_test,codespeed], ['../prob_examples/public_examples/B/Mathematical/GraphIso/CheckLargeGraphIsomorphismAsConstants_v2.mch',
'-t', '-strict', '-p', 'CLPFD', 'TRUE', '-p', 'TIME_OUT', '5000'],
'Test constraint solving for larger graph').
cli_testcase(1196, [b_test], ['../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr.mch', '-t', '-strict',
'-csvhist', 'card(session) |-> card(session_response) |-> card(user_hotel_bookings) |-> user_rental_bookings',
'../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr.csv'],
'Test evaluating expression over history and saving to CSV file').
cli_testcase(1197, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Tests/PartitionTest_ctx.eventb', '-init', '-assertions', '-strict'], 'Test partition border cases').
cli_testcase(1198, [b_test,infinite,total_function], [
'-evalt', '(NATURAL * NATURAL)* {1024} : (NATURAL*NATURAL) --> NATURAL',
'-evalt', 'NATURAL * {0} : NATURAL --> NATURAL',
'-evalt', 'NATURAL * {0} : NATURAL +-> NATURAL',
'-evalt', 'NATURAL1 * {0} : NATURAL +-> NATURAL',
'-evalt', 'NATURAL1 * {0} : INTEGER +-> NATURAL',
'-evalf', 'NATURAL * {0} : NATURAL --> NATURAL1',
'-evalf', 'NATURAL * {0} : NATURAL +-> NATURAL1',
'-evalf', 'NATURAL1 * {0} : NATURAL --> NATURAL',
'-evalf', 'NATURAL * {0} : NATURAL1 --> NATURAL'
], 'Test cartesian product with singleton set recognised as total function').
cli_testcase(1199, [eventb_test,tickets,infinite, theories], ['../prob_examples/public_examples/EventBPrologPackages/Tickets/Kanso_Symbolic/C_Cart_ctx.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Tickets/Kanso_Symbolic/C_bijNAT_ctx.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Tickets/Kanso_Symbolic/C_symbolic_ctx.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Theory/ConstraintSolving_Demo_ctx.eventb',
'-init','-assertions', '-strict'], 'Checking that various infinite functions can be defined and checked').
cli_testcase(1200, [b_test], ['../prob_examples/public_examples/B/Mathematical/MaxClique.mch',
'-init','-assertions', '-strict'], 'Checking constraint solving capabilities').
cli_testcase(1201, [eventb_test, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/SeqTest2_ctx.eventb', '-init', '-assertions', '-strict'], 'Test Theory Plugin support').
cli_testcase(1202, [eventb_test,recursion,infinite], ['../prob_examples/public_examples/EventBPrologPackages/Tickets/Kanso_ModularExp/ExpModFunctionCtxt_ctx.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Tickets/Kanso_ModularExp/ModularExponenation.mch', '-init', '-assertions', '-strict'], 'Test Recursive Function support').
cli_testcase(1203, [b_test,queens], ['../prob_examples/public_examples/B/Puzzles/PeaceableQueens/JustQueens_8_8.mch', '-init', '-strict'], 'A constraint solving example').
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').
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').
cli_testcase(1206, [tickets], ['../prob_examples/public_examples/B/Tickets/PROB-320/Hierarchical_temp.mch', '-t',
'-mc', 1000, '-noinv', '-bf',
'-expcterr', 'precondition_error'], 'Check precondition error raised and error message generation works. (Ticket PROB-320)').
cli_testcase(1207, [tickets], ['-p', 'TIME_OUT', 7000, '-p', 'CLPFD', 'TRUE',
'-evalf', '61*(x*x)+1 = y*y & x:1..1500000 & y>0'], 'Check that no instantiation error or other problem occurs').
cli_testcase(1208, [typechecker_test,unit], ['-typecheckertest','../prob_examples/public_examples/B/Typecheckertests/including.mch', '-strict'], 'Typechecker test when including other machines').
cli_testcase(1209, [typechecker_test,unit], ['-typecheckertest','../prob_examples/public_examples/B/Typecheckertests/definitions.mch', '-strict'], 'Typechecker test when using definitions').
cli_testcase(1210, [typechecker_test,unit,parser,refinement], ['-typecheckertest','../prob_examples/public_examples/B/Typecheckertests/refi.ref', '-strict'], 'Typechecker test when using refinement').
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.').
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.').
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').
cli_testcase(1214, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/OverridingBuiltinFunctions.csp', '-assertions', '-strict'], 'Testing if we can override built-in functions.').
cli_testcase(1215, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/OverridingBuiltinFunctionsLets.csp', '-assertions', '-strict'], 'Testing if we can override built-in functions.').
cli_testcase(1216, [b_test,cbc,union,card], [
'-evalt', 'z:10001..10002 & {x,y} \\/ t = {z}',
'-evalt', 'z:10001..10002 & {x} \\/ {y} = {z}',
'-evalf', 'z:10001..10002 & {x,y} \\/ t = {z} & y<10001',
'-evalf', 'z:10001..10002 & {x,y} \\/ t = {z} & t<:9000..10000 & t/= {}',
'-evalf', 'z:10001..10002 & {x,y} \\/ t = {z} & t:POW1(9000..10000)',
'-evalt', 'z:10001..10002 & {x} \\/ {y,v} = {z}',
'-evalt', 'z:10001..10002 & {x,v} \\/ {y} = {z}',
'-evalt', 'z:10001..10002 & {x,v} \\/ t = {z} & {a} \\/ {b} = t',
'-evalt', 'union({{x},{y},{z}}) = {3333}', % works by ast_cleanup translating to union
'-evalt', 'union({{x}}) = {3333}', % ditto
'-evalt', 'union({{x},{y},{z},{w}}) = {v} & v:200001..300001 & w:300001..400001', % ditto
'-evalt', 'union({S,V,W}) = 1..10 & S/\\V = {} & S/\\W ={} & V /\\ W = {} & card(S) < card(V) & card(V) < card(W)' % ditto + partition detection
% TO DO: z:10001..10002 & {x,w} \\/ {y,v} = {z}
], 'Testing propagation in union from result to arguments.').
cli_testcase(1217, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Disprover/ProofTests/TestPrj_Nat_ctx.eventb', '-cbc_assertions',
'-p', 'PROOF_INFO', 'FALSE', '-strict'], 'Testing if prj1|->prj2 theorems can be proven').
cli_testcase(1218, [b_test,sequences], [
'-evalf', 'p:perm(5..20) & p(10)=21'
], 'Testing propagation for permutation sequence.').
cli_testcase(1219, [puzzles_test,queens], ['-p', 'CLPFD', 'TRUE', '../prob_examples/public_examples/B/Puzzles/NQueens40_perm.mch', '-init', '-properties', '-strict'], '').
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'], '').
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').
cli_testcase(1222, [private,cbc], ['-p', 'CLPFD', 'TRUE', '../prob_examples/examples/B/ClearSy/alloc_large.mch', '-init', '-p', 'TIME_OUT', '18500'],
'Test that ProB finds isomorphism for large graph'). % increased time out from 9500
cli_testcase(1223, [b_test,card], [
'-evalf', 'z:11..10002 & z2:10003..520004 & z3: -1000..10 & z4:-22222..-2000 &a: {z,z2} & a:{z3,z4}',
'-evalt', 'z:11..10002 & z2:10003..520004 & z3: -1000..11 & z4:-22222..-2000 &a: {z2,z} & a:{z3,z4}',
'-evalf', 'x <: 1..7 & y <: 1..7 & (x<:y <=> y<:x) & x/\\y = {3} & x\\/y = 1..7 & card(x) = card(y)+1',
'-evalt', 'y:1..1000001 & f:100001..100005 --> 1..9000 & x:dom(f) & x:2..100003 & (x>5000 => y:100001..100002)',
'-evalf', 'f: 1..10 --> 100..200 & x:dom(f~) & x>200',
'-evalf', 'f: 10..200 --> 1..200000 & x|->y : f & (x>200 or x<10)',
'-evalf', 'f: (BOOL*BOOL) --> 100..200000 & b|->x : f & (x>200000 or x<100)',
'-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))',
'-evalt', 'f : 1001..2001 --> 1900..3333 & x|->y : f & y<x',
'-evalf', 'f : 1001..2001 --> 1900..3333 & x|->y : f & y+101<x',
'-evalf', 'x:1..400 & y:1..400 & f: 2..390 --> 391..399 & x|->y :f & y|->x :f',
'-evalt', 'r: 1001..1005 <-> 1000..1099 & x|->y : r & v|->w : r & x+y = v+w+103 & card(r) = 3',
'-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',
'-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)}',
'-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',
'-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',
'-evalt', 's = {(1,rec(a:1)), (2,rec(a:2))} & (1,rec(a:x)) : s',
'-evalt', 'a = {rec(x:1,y:22),rec(x:2,y:44)} & {v,w|rec(x:v,y:w):a} = {(1,22),(2,44)}',
'-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)}',
'-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',
'-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',
'-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',
'-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',
'-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'
], 'Testing propagation for membership.').
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.').
cli_testcase(1225, [eventb_test,laws, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/ListLaws_ctx.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Theory/PairLaws_ctx.eventb',
'-assertions','-strict'], 'Various checks for sets involving freetypes (Lists Theory)').
cli_testcase(1226, [b_test,finite], [
'-evalu', 's=({x|x mod 2 = 0 & x>200}) & s:FIN(s)'
, '-expcterr', eval_string_enum_warning
], 'Check that finite warning produced').
cli_testcase(1227, [eventb_test,laws, proz,theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/ListLawsMC_mch.eventb','-mc',500, '-bf', '-strict',
'-expcterr', 'virtual_time_out', '-expcterr', 'model_check_incomplete'], 'Various checks for sets involving freetypes (Lists Theory)').
cli_testcase(1228, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Disprover/EnumWarningTests/MammarLaleau_Failures_ReadDoors_inv8_selected.mch', '-cbc_assertions',
'-p', 'PROOF_INFO', 'FALSE', '-strict'], 'Check no enum warning occurs when using bool with integer inside').
cli_testcase(1229, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/Tickets/PROB-322/ExpressionTest.eventb','-init','-strict'], 'Checking usage of typeof-Operator').
cli_testcase(1230, [cbc], ['../prob_examples/public_examples/EventBPrologPackages/Disprover/EnumWarningTests/MammarLaleau_Cylinders_LockGearCylinder_inv4_selected.mch',
%'../prob_examples/public_examples/EventBPrologPackages/Disprover/EnumWarningTests/MammarLaleau_Doors_Make_GearExtended_inv2_all.mch',
'-cbc_assertions',
'-p', 'PROOF_INFO', 'FALSE' ,'-p', 'DISPROVER_MODE', 'TRUE', '-strict'], 'Check no time-out occurs').
cli_testcase(1231, [b_test,fairness,ltl], ['../prob_examples/public_examples/B/LTL/Fairness/TestingFairness.mch', '-ltlassertions', '-strict'], 'Test fairness implementation.').
cli_testcase(1232, [b_test,fairness,ltl], ['../prob_examples/public_examples/B/LTL/Fairness/MutualExclusion.mch', '-ltlassertions', '-strict'], 'Test fairness implementation.').
cli_testcase(1233, [b_test,fairness,ltl], ['../prob_examples/public_examples/B/LTL/Fairness/WeakFairnessTest.mch', '-ltlassertions', '-strict'], 'Test fairness implementation.').
cli_testcase(1234, [csp_test,fairness,ltl], ['../prob_examples/public_examples/CSP/LTL/phils.csp', '-ltlassertions', '-strict'], 'Test fairness implementation.').
cli_testcase(1235, [csp_test,fairness,ltl], ['../prob_examples/public_examples/CSP/LTL/FairnessUnderscoreArgs.csp', '-ltlassertions', '-strict'], 'Test fairness.').
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.').
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.').
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.').
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.').
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.').
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.').
cli_testcase(1242, [csp_test,fairness,ltl], ['../prob_examples/public_examples/CSP/LTL/rabp_scc_issue.csp', '-ltlassertions', '-strict'], 'Test fairness.').
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.').
cli_testcase(1244, [b_test, ltl], ['../prob_examples/public_examples/B/LTL/Fairness/TestingFairness.mch',
'-ltlformulat', true, '-ltlformulat', 'G{1=1}',
'-ctlformulat', 'AG{1=1}', '-ctlformulaf', 'EF{1=2}',
%'-ltlformulaf', false, % does not work !
'-ltlformulaf', 'G{1=2}', '-strict'], 'Testing the trivial LTL formula true + other trivial ones.').
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.').
cli_testcase(1246, [cbc], [
'-evalf', 'x/0 = 1 & x:1..20',
'-evalf', 'x:-2..2 & 10/x =1',
'-evalt', 'x:-2..2 & 10/x = 5',
'-p', 'DISPROVER_MODE', 'TRUE'], 'Testing no WD error generated in disprover mode.').
cli_testcase(1247, [cbc], [
'-evalt', 'i>200 & (i mod 37 = 7)',
'-evalt', 'i>200 & (i mod 37 = 1)',
'-evalt', 'i>20 & (i mod 2 = 0)',
'-evalf', 'i>200 & (i mod 37 = 7) & i < 229',
'-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}',
'-evalt', '{i|i>200 & (i mod 50 = 10) & i<1000 & i mod 100 /= 10} = {260,360,460,560,660,760,860,960}',
'-evalt', 'x > 0 & x mod 30 =0 & x mod 19 = 0',
'-evalt', 'x > 0 & x mod 50 =0 & x mod 61 = 0 & x mod 23 = 0',
'-evalf', 'x > 0 & x mod 50 =0 & x mod 61 = 0 & x mod 23 = 0 & x<70150'
], 'Testing improved constraint propagation for modulo.').
cli_testcase(1248, [tickets], ['../prob_examples/public_examples/B/Tickets/Disprover_InstantiationError/GraphColour_PO.mch', '-init', '-p', 'TIME_OUT', 300, '-p', 'DISPROVER_MODE', 'TRUE',
'-expcterr', setup_constants_fails, '-opterr', time_out, '-strict'], 'Check that no instantiation error occurs'). % time_out may not occur on fast machines
cli_testcase(1249, [cbc,slot], ['../prob_examples/public_examples/B/PerformanceTests/SlotToolSolver_Inconsistency.mch',
'-init', '-p', 'TIME_OUT', 2500, '-expcterr', setup_constants_fails,
'-opterr', 'setup_constants_inconsistent', '-strict'
%,'-expcterr', det_value_not_stored_for_constant % changed from warning to message 18/02/2018
], 'Check that inconsistency detected quickly').
cli_testcase(1250, [cbc], [
'-evalf', 'f:0..100 --> POW(1..100) & f(20) = {99} & !x.(x:dom(f) => !y.(y:f(x) => y /= 99))',
'-evalt', 'f:0..100 --> POW(1..100) & f(20) = {98} & !x.(x:dom(f) => !y.(y:f(x) => y /= 99))',
'-evalf', 'f:0..100 --> POW(1..100) & f(20) = {99} & !x.(x:dom(f) => !y.(y:f(x) & y>20 => y /= 99))'
], 'Check universal quantification inconsistency detected').
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, '-strict'], 'Check that inconsistency detected quickly (with CHR)').
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,
'-opterr', 'setup_constants_unknown',
'-opterr', time_out,
'-opterr', virtual_time_out,
'-expcterr', well_definedness_error, '-strict'], 'Check that division by zero detected.').
cli_testcase(1253, [tickets,union], ['../prob_examples/public_examples/B/Tickets/LambdaUnionEnumWarning/Seq1UnionFunction.mch',
'-init', '-assertions', '-strict'], 'Check that symbolic function not expanded in rel. composition').
cli_testcase(1254, [cbc, tickets, chr], ['-p', 'CHR', 'TRUE',
'-evalf', 'x> a & x: 33..a',
'-evalt', 'x>=a & x>=33 & x<=a',
'-evalf', 'x>a & x>=33 & x<=a'
], 'Check CHR detects inconsistencies').
cli_testcase(1255, [cbc], ['-p', 'DISPROVER_MODE', 'TRUE',
'-evalf', 'z>0 & z mod z = 100 & x:{1,2,3} & not(x>0)'], 'Check no enum warning').
cli_testcase(1256, [tickets,card], [
'../prob_examples/public_examples/EventBPrologPackages/Tickets/Cansell_RingLead/ring_ctx.eventb',
'-init'], 'Check no infinite loop when computing minimum cardinality').
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).').
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.').
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).').
cli_testcase(1260, [b_test,proz,theories,infinite],['../prob_examples/public_examples/B/NewSyntax/FreetypeIntList.mch',
'../prob_examples/public_examples/B/NewSyntax/FreeTypeAndRecursion.mch',
'-p','MAXINT',10,'-t','-strict'],
'Check rudimental freetype functionally').
cli_testcase(1261, [cbc], [
'-evalt', '(x:{y|y:NATURAL & y mod 100 = 1} <=> v=0) & v=0 & x>1'
], 'Test reification of closures').
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').
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').
cli_testcase(1264, [b_test,infinite], ['../prob_examples/public_examples/B/Mathematical/FormaleSprachen.mch',
'-init','-assertions', '-strict'], 'Checking various operations work on infinite sets (e.g., complement set).').
cli_testcase(1265, [tickets,card], ['../prob_examples/public_examples/EventBPrologPackages/Tickets/MinCardInference/RegularGrammar_Ex1_ctx.eventb', '-init',
'-evalt', 'card(Symbols)=4',
'-evalt', 'card(NonTerminals)=2',
'-evalt', 'card(Terminals)=2'], 'Check that minimum cardinality inference works').
cli_testcase(1266, [b_test],['../prob_examples/public_examples/B/Tickets/Hansen9/SimpleCSGGrammar2_SlowCLPFD.mch','-t','-strict','-p','CLPFD','TRUE'],'Check no time-out').
cli_testcase(1267, [cbc,sequences], [
'-evalt', '{n|[11,22,3,4,5,6,7] /|\\ n = [11,22]} = {2}'
, '-evalt', '{l|[2222]^l /|\\ 7 = l} = {[2222,2222,2222,2222,2222,2222,2222]}'
, '-evalt', '{x,n|[1111,x,33,44] /|\\ n = [1111,2222] & n:0..4} = {(2222,2)}'
, '-evalt', '{x,y,n|[1111,x,3333,4444,y,y] /|\\ n = [1111,2222,3333,4444,5555] & n:0..6} = {((2222|->5555)|->5)}'
%,'-evalt', '{n,x,y|[11,22,3,4,5,6,7] /|\ n = [x,y]} = {((2|->11)|->22)}' % does not work yet TO DO
],
'test sequence constraint solving').
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.').
cli_testcase(1269, [tickets,card], [
'-evalt', 'm={{1,2},{1,3}} & {k1,k2|k1:m & 1:k1 & k2:m & 1:k2 & k1/=k2} =r & card(r)=2',
'-evalt', 'm={{1,2},{1,3},{2,3}} & {k1,k2|k1:m & 1:k1 & k2:m & 1:k2 & k1/=k2} =r & card(r)=2',
'-evalt', 'm={{1,2},{1,3}} & {k1,k2|k1:m & 1:k1 & k2:m-{k1} & 1:k2} =r & card(r)=2',
'-evalt', 'm={{1,2},{1,3},{2,3}} & {k1,k2|k1:m & 1:k1 & k2:m-{k1} & 1:k2} =r & card(r)=2'
], 'ensure bug in not_equal_object for sets remains fixed').
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').
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').
cli_testcase(1272, [cbc,card], [
'-evalf', 'card({x|x:1..10 & x*x<i}) = 0 & i>1',
'-evalt', 'card({x|x>1 & x<2**e & x mod 2 = 0}) = 0',
'-evalt', 'card({b|b:1..8 & b mod n = 1})=c & n:2..4',
'-evalt', 'f: 1..n --> 0..1000 & f(1)=0 & card({i|i:1..n & f(i)>0}) = n/2 & n=100',
'-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))',
'-evalt', 'n=100 & f:1..n --> BOOL & card({x|x:dom(f) & f(x)=TRUE})=50'
], 'ensure proper reification of card').
cli_testcase(1273, [cbc,card], [
'-evalf', '{10,22} <: {x|x>10 & x mod 2 = 0}',
'-evalt', '{100,22} <: {x|x>10 & x mod 2 = 0}',
'-evalf', '{11,22} <: {x|x>10 & x mod 2 = 0}',
'-evalt', 'card({S|S <<: 12..15 & (12:S => 15:S & 14 /:S) & (13:S <=> 12:S) & S/={}})=4',
'-evalt', 'card({S|S <<: 12..14 & (12:S => 15:S & 14 /:S) & (13:S <=> 12:S) & S/={}}) =1',
'-evalt', 'card({S|S <<: 12..19 & (12:S => 15:S & 14 /:S) & (13:S <=> 12:S) & S/={}})=79',
'-evalt', 'card({S|S <<: 11..18 & (12:S => 15:S & 14 /:S) & (15:S <=> 12:S) & S/={}})=95',
'-evalt', 'card({S|S <: 11..18 & (12:S => 15:S & 14 /:S) & (15:S <=> 12:S) & S/={}})=95',
'-evalt', 'card({S|S <: 12..15 & (12:S => 15:S) & 14 /:S }) = 6',
'-evalt', 'card({S|S <<: 12..15 & (12:S => 15:S) & 14 /:S }) = 6',
'-evalt', '({S|S <: 12..15 & (12:S => 15:S) & 14 /:S }) = {{},{12,15},{13},{12,13,15},{13,15},{15}}'
], 'ensure no expansion in subset and proper computation of all solutions').
cli_testcase(1274, [tickets],['../prob_examples/public_examples/B/Tickets/Hansen11/RecNatFunLoop.mch', '-init', '-assertions', '-strict', '-vv'],'Check no infinite recursion').
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').
cli_testcase(1276, [tickets,cbc],['../prob_examples/public_examples/B/Compilers/LLParsing.mch', '-t', '-strict'],'Check no enumeration warning due to existential quantifiers').
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').
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').
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').
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').
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').
cli_testcase(1282, [tickets,let,card],['../prob_examples/public_examples/B/Tickets/PROB-333/M1.mch'
, '-init', '-strict', '-assertions'
, '-evalt', '#(b).(b:NAT)'
, '-evalt', '#(a).(a:NAT)'
, '-evalt', '!(a).(a:ID => card(ID-{a}) = 1)'
, '-evalt', '!(ab).(ab:ID => card(ID-{ab}) = 1)'
, '-evalt', ' #aa.(not(myTRUE))'
, '-evalt', '{aa|myTRUE} = {aa}'
, '-expcterrpos', definition_variable_capture, 6, 10
, '-expcterrpos', definition_variable_capture, 7, 5
, '-expcterrpos', definition_variable_capture, 1, 10
, '-expcterrpos', definition_variable_capture, 1, 4 % from -evalt's above
],'Assignment to variables introduced by LET are not allowed').
cli_testcase(1283, [b_test,wd], ['../prob_examples/public_examples/B/ErrorMachines/NestedFunUpdate_Error.mch', '-nodead', '-mc', 10, '-strict',
'-expcterr', 'well_definedness_error'], 'Ensure we find error in assignment.').
cli_testcase(1284, [eventb_test,tickets], ['../prob_examples/public_examples/EventBPrologPackages/Tickets/SlowLambdaFunctions/TestParIf2_v2_mch.eventb',
'-p', 'MAX_OPERATIONS', 40,
'-p', 'TIME_OUT', 1000,
'-mc', 1000, '-expcterr', 'model_check_incomplete', '-cc', 193, 4369,
'-strict'], 'Ensure performance acceptable for nested function applications.').
cli_testcase(1285, [cbc], ['../prob_examples/public_examples/B/Tickets/PartialFunCBCPerformance/Prove_simpler_ctx.eventb',
'../prob_examples/public_examples/B/Tickets/PartialFunCBCPerformance/ProveCommutativityAxioms_ctx.eventb',
'-p', 'TIME_OUT', 1000, '-p', 'MAX_INITIALISATIONS', 90,
'-init', '-mc', 1000, '-nodead', '-strict'
], 'Ensure we find solution to initalisation.').
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.').
cli_testcase(1287, [eventb_test, recursion, infinite, theories],['../prob_examples/public_examples/EventBPrologPackages/Theory/RecursiveSetFunctions_ctx.eventb','-assertions', '-init', '-strict',
'-evalt', 'sumset(1..1000) = 500500'], 'Test that recursive functions with COND work and that we can use Theory operators in evalt.').
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',
'-p', 'CLPFD', 'TRUE', '-p', 'SMT', 'TRUE', '-p', 'CHR', 'TRUE', '-p', 'DISPROVER_MODE', 'TRUE', '-p', 'TIME_OUT', 100,
'-expcterr', cbc_assertions_time_out,
'-cbc_assertions','-strict'], 'Test Siemens Proof Rule.').
cli_testcase(1289, [tickets,records],['../prob_examples/public_examples/B/Tickets/Hansen12/RecordCallResidue.mch', '-init', '-assertions', '-strict'],'Check no call residue for records.').
cli_testcase(1290, [tickets],['../prob_examples/public_examples/B/Tickets/Hansen13/VirtualTimeout.mch', '-init', '-mc', 100, '-strict', '-expcterr', 'model_check_incomplete','-expcterr', 'time_out_for_invariant'],'Check incomplete model checking detected.').
cli_testcase(1291, [tickets,infinite,override],['../prob_examples/public_examples/B/Tickets/Hansen13/OverrideSymbolicTest.mch', '-t', '-strict'],'Check override substitution works symbolically.').
cli_testcase(1292, [b_test,case],['../prob_examples/examples/B/Satpathy/Teletext104/Teletext104_deterministic.mch', '-t', '-strict'],'Check this relatively large machine works.').
cli_testcase(1293, [b_test,tla],['../prob_examples/public_examples/TLA/Tests/TLC_Regression_Tests/test1.tla', '-mc', 100, '-strict'], 'TLC regression test: equality.').
cli_testcase(1294, [b_test,tla],['../prob_examples/public_examples/TLA/Tests/TLC_Regression_Tests/test2.tla', '-mc', 100, '-strict'], 'TLC regression test: functions.').
cli_testcase(1296, [b_test,tla],['../prob_examples/public_examples/TLA/Tests/TLC_Regression_Tests/test4.tla', '-mc', 100, '-strict'], 'TLC regression test: sets.').
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.').
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.').
cli_testcase(1299, [b_test,tla,choose],['../prob_examples/public_examples/TLA/Tests/TLC_Regression_Tests/test7.tla',
'-expcterrpos', 'bmachine_static_checks', 34, 9, % forall rhs does not use ids
'-mc', 100, '-strict'], 'TLC regression test: Choose operator.').
cli_testcase(1300, [cbc], [
'-evalf', '[1,2,3,3,3,4] : seq({1, 2, 3}) - seq({1, 2})',
'-evalt', '[1,2,3,3,3,4] /: seq({1, 2, 3}) - seq({1, 2})',
'-evalf', '[1,2,2,2,2,1] : seq({1, 2, 3}) - seq({1, 2})',
'-evalt', '[1,2,2,2,2,1] /: seq({1, 2, 3}) - seq({1, 2})',
'-evalt', '[1,2,3,3,3,2] : seq({1, 2, 3}) - seq({1, 2})',
'-evalf', '[1,2,3,3,3,2] /: seq({1, 2, 3}) - seq({1, 2})',
'-evalt', '[1,2,2,2,2,1,v] : seq({1, 2, 3}) - seq({1, 2}) & v>1',
'-evalt', '{x | x : NATURAL - {x|x>10}} = 0..10',
'-evalt', '{x | x : NATURAL - NATURAL1} = 0..0',
'-evalt', 'x /: NATURAL - {x|x>10} & x>0 & x<100',
'-evalt', '11..99 = {x|x /: NATURAL - {x|x>10} & x>0 & x<100}',
'-evalt', 'x : NATURAL1 /\\ {x|x>20 & x mod 2 = 0}',
'-evalt', 'x /: NATURAL1 /\\ {x|x>20 & x mod 2 = 0}',
'-evalt', '-11 /: NATURAL1 /\\ {x|x>20 & x mod 2 = 0}',
'-evalt', '1024 : NATURAL1 /\\ {x|x>20 & x mod 2 = 0}',
'-evalf', '1024 /: NATURAL1 /\\ {x|x>20 & x mod 2 = 0}',
'-evalt', '1025 /: NATURAL1 /\\ {x|x>20 & x mod 2 = 0}',
'-evalf', '1025 : NATURAL1 /\\ {x|x>20 & x mod 2 = 0}',
'-evalt', '[1,2] : seq({1, 2, 3}) /\\ seq({0, 1, 2})',
'-evalt', '[1,2,3] /: seq({1, 2, 3}) /\\ seq({0, 1, 2})',
'-evalt', '[1,2,3,4] /: seq({1, 2, 3}) /\\ seq({0, 1, 2})',
'-evalt', '[1,2,2,2,1,2] : seq({1, 2, 3}) /\\ seq({0, 1, 2})',
'-evalt', 'seq({1, 2, 3}) /\\ seq({0, 1, 2}) = sq & [1,2,2,2,1] : sq',
'-evalt', 'seq({1, 2, 3}) \\/ seq({0, 1, 2}) = sq & [1,2,3,3,2] : sq',
'-evalf', 'seq({1, 2, 3}) \\/ seq({0, 1, 2}) = sq & [1,2,3,3,2] /: sq',
'-evalt', 'seq({1, 2, 3}) \\/ seq({0, 1, 2}) = sq & [1,2,3,3,2,0] /: sq',
'-evalf', 'seq({1, 2, 3}) \\/ seq({0, 1, 2}) = sq & [1,2,3,3,2,0] : sq',
'-evalt', '{200,201,301,400} - {x|x>0 & x mod 100 = 0} = {201,301}',
'-evalt', '{200,201,301,400} /\\ {x|x>0 & x mod 100 = 0} = {200,400}',
'-evalt', '500 : ( {x|x>0 & x mod 100 = 0} - {200,400})',
'-evalt', '400 /: ( {x|x>0 & x mod 100 = 0} - {200,400})',
'-evalf', '400 : ( {x|x>0 & x mod 100 = 0} - {200,400})',
'-evalt', 'abs = id(NATURAL) \\/ %x.(x<0|-x) & abs(2001)=2001 & abs(-2002)=2002', % added 23.3.2015
'-evalt', 'f = id(NATURAL) /\\ %x.(x<100|-x) & f={0|->0}', % added 23.3.2015
'-evalt', 'abs = %x.(x<0|-x) \\/ id(NATURAL) & abs(2001)=2001 & abs(-2002)=2002', % added 23.3.2015
'-evalt', '0: NATURAL - {1} - {2}', % added 14.5.2018
'-evalt', '3: NATURAL - {1} - {2}', % added 14.5.2018
'-evalf', '1: NATURAL - {1} - {2}', % added 14.5.2018
'-evalf', '2: NATURAL - {1} - {2}', % added 14.5.2018
'-evalt', '33: NATURAL - {1} - {2}', % added 14.5.2018
'-evalf', '0: NATURAL1 - {11} - {22}', % added 14.5.2018
'-evalf', '11: NATURAL1 - {11} - {22}', % added 14.5.2018
'-evalf', '22: NATURAL1 - {11} - {22}', % added 14.5.2018
'-evalt', '1: NATURAL1 - {11} - {22}', % added 14.5.2018
'-evalt', '23: NATURAL1 - {11} - {22}', % added 14.5.2018
'-evalf', '{} = NATURAL1 - {11} - {22}' % added 14.5.2018
], 'ensure symbolic treatment of set difference and intersection membership').
cli_testcase(1301, [tickets,infinite,strings,card], [
'-evalt', 'NATURAL1 /: {NATURAL,INTEGER,NATURAL,1..2,{}}',
'-evalf', 'NATURAL1 : {NATURAL,INTEGER,NATURAL,1..2,{}}',
'-evalt', 'NATURAL1 : {NATURAL,INTEGER,NATURAL1,1..2,{}}',
'-evalt', '1..2 : {NATURAL,INTEGER,NATURAL1,1..2,{},1..3,{2}}',
'-evalt', '{} : {NATURAL,INTEGER,NATURAL1,1..2,{},1..3,{2}}',
'-evalt', '{NATURAL} <: {NATURAL,INTEGER,NATURAL1,1..2,{},1..3,{2}}',
'-evalt', '{NATURAL} <<: {NATURAL,INTEGER,NATURAL1,1..2,{},1..3,{2}}',
'-evalt', '{NATURAL,{},INTEGER} <<: {NATURAL,INTEGER,NATURAL1,1..2,{},1..3,{2}}',
'-evalt', '{NATURAL,{},INTEGER,{1,2}} <<: {NATURAL,INTEGER,NATURAL1,1..2,{},1..3,{2}}',
'-evalf', '{NATURAL,{},INTEGER,{1,3}} <<: {NATURAL,INTEGER,NATURAL1,1..2,{},1..3,{2}}',
'-evalt', '7=card({NATURAL,INTEGER,NATURAL1,1..2,{},1..3,{2}})',
'-evalt', '5=card({NATURAL1,INTEGER,NATURAL1,1..2,{},1..3,{1,2}})',
'-evalt', '{NATURAL1,INTEGER,x} = r & {}:r',
'-evalt', '{STRING,{},{"hallo"}} = s & card(s)=3 & {}:s & STRING:s',
'-evalt', 'r = { {1..2},{NATURAL}, {INTEGER}, {{}}, {NATURAL1}, {NATURAL1,NATURAL} } & {x} : r & x=NATURAL',
'-evalt', 'r = { {1..2},{NATURAL}, {INTEGER}, {{}}, {NATURAL1}, {NATURAL1,NATURAL} } & {x,y} : r & x=NATURAL & y=NATURAL1',
'-evalf', 'r = { {1..2},{NATURAL}, {INTEGER}, {{}}, {NATURAL1}, {NATURAL1,INTEGER} } & {x,y} : r & x=NATURAL & y=NATURAL1',
'-evalt', '{x|x>10 & x*x = 100} : {NATURAL,{},1..3,{2},INTEGER}',
'-evalt', '{x|x>4 & x*x = 100} : {NATURAL,{},1..3,{10},INTEGER}',
'-evalt', '{3,2,1} : {NATURAL1,{},1..3,{2},INTEGER}'
], 'test putting infinite global sets into AVL sets').
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').
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,
'-mc', 100, '-bf',
'-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)').
cli_testcase(1304, [eventb_test,laws, proz, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/ListLawsMC_inf_mch.eventb','-t', '-strict',
'-expcterr', 'virtual_time_out'], 'Various checks for sets involving freetypes (Lists Theory; PROB-325) that no wd-error occurs').
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').
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').
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').
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)').
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').
cli_testcase(1310, [tickets], [
'../prob_examples/public_examples/B/Tickets/PROB-335/RecordDetectionBugSimple.mch', % used to generate a virtual time-out (fixed July 13th 2014)
'../prob_examples/public_examples/B/Tickets/PROB-335/ExtremaFinding.mch', '-mc', 100, '-p', 'MAX_INITIALISATIONS', 20, '-nodead',
'-init', '-assertions', '-strict'], 'Check that Record Detection does not mess up. (PROB-335)').
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').
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 !!
cli_testcase(1313, [tickets,infinite],
['-evalt', 'x=prj1(INTEGER,INTEGER) & y=prj1(INTEGER,INTEGER) & x=y',
'-evalt', 'x=prj1(INTEGER,POW(NATURAL*INTEGER)) & y=prj1(INTEGER,POW(NATURAL*INTEGER)) & x=y',
'-evalt', 'prj1(NATURAL1,NATURAL1)(222,333)=222',
'-evalt', 'prj2(NATURAL1,NATURAL1)(222,333)=333',
'-evalt', 'dom(prj1(NATURAL,NATURAL1)) = NATURAL*NATURAL1',
'-evalt', 'dom(prj2(NATURAL1,NATURAL1)) = NATURAL1*NATURAL1'
], 'Check that no infinite expansion occurs when comparing two prj1 functions + other prj1/prj2 tests (PROB-346)').
cli_testcase(1314, [cbc,card], [
'-evalt', ' s = [x,y,z] & rev(s) = {1|->v,v|->w,w|->v} & v>w',
'-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)}',
'-evalt', 'rev({x|->y}) = {v|->w} & w:NATURAL',
'-evalt', 'card({s,x,y,z,v,w|s = [x,y,z] & rev(s) = {1|->v,v|->w,w|->v} }) = 2',
'-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)}',
'-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)}',
'-evalt' , '{v,w,x,y|{1|->v,v|->w,w|->v} = [x,y,x]} = {(((2|->3)|->2)|->3)}',
'-evalt', 'min({1+10,x}) = max({1+10,x})',
'-evalt', '{x|min({1+10,x}) = max({1+10,x})} = {11}'
], 'Testing constraint propagation for reverse and unification with set extensions.').
cli_testcase(1315, [cbc], [
'-evalf', 'x:INTEGER & x>y & x=y',
'-evalf', 'x+1 > y+1 & x=y',
'-evalf', 'x+1 < y+1 & x=y',
% require CHR: '-evalf', 'x
'-evalt', '!(x,y).(x:INTEGER & x>y => x/=y)'
], 'Check simple inconsistencies with <, > detected now').
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
], 'Test challenging puzzle').
cli_testcase(1317, [csp_test,ltl], ['../prob_examples/public_examples/CSP/other/Ivo/Underscore_LTL.csp', '-ltlassertions', '-strict'], 'Checking underscore arguments in LTL formulas.').
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').
cli_testcase(1319, [b_test], ['-p', 'MAXINT', '5', '../prob_examples/public_examples/B/Demo/scheduler.mch',
'-mc', '100', '-bf', '-cc', '36', '156', '-p', 'DEFAULT_SETSIZE', '3', '-save_state',
'../prob_examples/public_examples/B/Demo/scheduler_bf_states.P'], 'Test -save_state works').
cli_testcase(1320, [cbc], [
'-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').
cli_testcase(1321, [cbc,wd], [
'-evalnwd', '{} : (1..(10/0) +-> {22})',
'-expcterr', well_definedness_error], 'check WD error detected for binary_in_definitely_true').
cli_testcase(1322, [cbc,wd], [
'-evalnwd', '{} : POW(1..(10/0))',
'-expcterr', well_definedness_error], 'check WD error detected for unary_in_definitely_true').
cli_testcase(1323, [eventb_test,tickets,theories], ['../prob_examples/public_examples/EventBPrologPackages/Tickets/testSUM_Theory_agg_op_ctx.eventb',
'-init', '-assertions',
'-strict'], 'Ensure no variable clash with agg_op1/2.').
cli_testcase(1324, [b_test], [
'-eval', 'a & b', % <-- error
'-evalt', 'a=5',
% '-p', 'BOOL_AS_PREDICATE', 'TRUE' % no longer exists, hence we now get an error:
'-expcterr' ,parse_machine_predicate_error
], 'Extended formula syntax (is no longer supported).').
cli_testcase(1325, [b_test,refinement,card], ['../prob_examples/public_examples/B/FeatureChecks/Refinement/RefDefSetAsEnumSet.mch',
'-init', '-assertions',
'-strict'], 'Ensure enumerated set declaration in refinement using all-diff with card detected.').
cli_testcase(1326, [b_test,cse, cse_test, strings], ['-p', 'CSE', 'TRUE', '-p', 'TIME_OUT', 150,
'-evalf', 'x:1..500000 & y:1..500000 & (x+y)**2 = 4+(x+y)**2',
'-evalf', '(x*y*z) = (y*x*z)+10',
'-evalf', '(x*y*z) = (y*z*x)+10',
'-evalf', '(x*(z*y)) = ((y*x)*z)+10',
'-evalf', '(x*y*z*z*x) = (z*x*y*x*z)+10',
'-evalf', '(x*y*(z*z)*x) = (z*(x*y)*x*z)+10',
'-evalf', '(x\\/y\\/v\\/x) /= (v\\/x\\/y) & x<:BOOL', % CSE does not fully detect LHS and RHS identical (because of idempotence)
'-evalf', '(x\\/y\\/v\\/x) /= (v\\/x\\/x\\/y) & x<:BOOL',
'-evalf', '(x\\/y\\/v\\/x) /= (v\\/x\\/x\\/y) & x<:STRING',
'-evalf', '(x\\/y\\/v\\/x) <<: (v\\/x\\/x\\/y) & x<:STRING',
'-evalf', '(x\\/y\\/v\\/x) /<: (v\\/x\\/x\\/y) & x<:STRING',
'-evalt', '(x\\/y\\/v\\/x) <: (v\\/x\\/x\\/y) & x<:BOOL',
'-evalt', '(x\\/y\\/v\\/x) /<<: (v\\/x\\/x\\/y) & x<:BOOL',
'-evalt', '(x*y*(z*z)*x) = (z*(x*y)*x*z*x)-36 & x:0..2 & y:0..2 & z:0..3',
'-evalt', '#x.((x>10+10) & (x>10+10 => b=TRUE) & x:1..200)',
'-evalt', '{0|->1,4|->2}(x*2+x*2) > 1',
'-evalt', '{0|->x*x, 1|->(x*x)+1}(v) = 9 & v:0..1 & x:0..10', % had WD error v:0..10
'-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)}',
'-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)}',
'-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)}'
], 'Ensure CSE works').
cli_testcase(1327, [tickets,cse], ['-p', 'CSE', 'TRUE', '-p', 'TIME_OUT', '150s',
'-expcterr', set_eclipse_preference
], 'Ensure error in set preference discovered').
cli_testcase(1328, [cbc_refinement,refinement], ['../prob_examples/examples/RodinModels/Seiter_RefinementChecking/auth_0_mch.eventb', '-cbc_refinement'], '').
cli_testcase(1329, [cbc_refinement,refinement], ['../prob_examples/examples/RodinModels/Seiter_RefinementChecking/auth_1_mch.eventb', '-cbc_refinement'], '').
cli_testcase(1330, [cbc_refinement,refinement], ['../prob_examples/examples/RodinModels/Seiter_RefinementChecking/auth_2_mch.eventb', '-cbc_refinement', '-expcterr', cbc_refinement], '').
cli_testcase(1331, [tickets, slot], ['../prob_examples/public_examples/B/Tickets/PROB-356/SlotSolver.mch',
'-init', '-p', 'TIME_OUT', '25000', '-eval', 'CHECK(ges, ger, 1)'
], 'Ensure no access record errors (PROB-356)').
cli_testcase(1332, [tickets, slot], ['../prob_examples/public_examples/B/Tickets/PROB-355/SlotSolver.mch',
'-init', '-p', 'TIME_OUT', '20000', '-eval', 's1 : COURSES & CHECK(s1, soz, 1)'
], 'Ensure no infinite loop (PROB-355)').
cli_testcase(1333, [cbc_deadlock,cache], ['../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch',
'-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
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
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').
cli_testcase(1336, [tickets,slot,codespeed], ['../prob_examples/public_examples/B/Tickets/SLOT-24_no_print/SlotSolver.mch',
'-init', '-evalt', 'CHECK(ges, ger, 1)', '-evalf', 'CHECK(rom, jap, 1)', '-main_assertions'
], 'Ensure no access record errors (SLOT-24)').
cli_testcase(1337, [parser,tickets], ['../prob_examples/public_examples/B/Tickets/PARSERLIB-32/TestDefOrder.mch',
'-mc', 100
], 'Ensure that definition order for predicate-definitions does not matter (PARSERLIB-32)').
cli_testcase(1338, [private, tickets, recursion,slot, unsat_core], ['../prob_examples/examples/B/SlotTool/SlotTool_19092014/SlotSolver.mch',
'-init', '-assertions'
], 'Ensure complicated unsat core computations keep on working (SLOT-24)').
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.').
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.').
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.').
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.').
cli_testcase(1344, [csp_test,assertions], ['../prob_examples/public_examples/CSP/other/Ivo/AParallel.csp', '-assertions', '-strict'], 'Testing pattern matching for alphabetised parallel operators.').
cli_testcase(1345, [csp_test,assertions], ['../prob_examples/public_examples/CSP/other/Ivo/AParallel1.csp', '-assertions', '-strict'], 'Testing pattern matching for alphabetised parallel operators.').
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).').
cli_testcase(1347, [csp_test], ['../prob_examples/public_examples/CSP/other/Andreas_Hense/ATM/ATM_v5.csp', '-t', '-strict'], '').
cli_testcase(1348, [csp_test,assertions,records], ['../prob_examples/public_examples/CSP/other/Ivo/EnumeratingDataTypes.csp', '-assertions', '-strict'], 'Enumerating partial data type records.').
cli_testcase(1349, [b_test,ltl], ['../prob_examples/public_examples/B/Ivo/Threads.mch', '-ltlassertions',
'-ltlformula', 'GF deadlock(Step1_p1,Step1_p2)',
'-ltlformula', 'G deterministic(Step1_p1,Sync)',
'-ltlformula', 'G(e(Step1_p2) or controller(Step1_p1,Sync))',
'-strict'], 'Covering the new APs (deadlock(...),deterministic(...), and controller(...)) of the LTL interpreter.').
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').
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',
'-expcterrpos', type_error, 716, 48,
'-expecterr', 'bmachine_construction',
'-expcterrpos', 'bmachine_static_checks', 716, 0 % added this 15.12.2015 as we now also generate warning for length
], 'Check abs DEFINITION error message works (and VAR hides constant)').
cli_testcase(1352, [tickets,while,data_validation], ['../prob_examples/examples/B/ClearSy/GeneralElectric_DV/Ticket_CLPFD_Overflow/Machine_Bug3_renamed.mch',
'-t', '-p', 'MAXINT', '2147483647', '-p', 'MININT', '-2147483648', '-p', 'TIME_OUT', '3500' ], 'Check no error in compiling While loop').
cli_testcase(1353, [b_test], [
'-evalt', '{x|x>99988844111111222200 & x<99988844111111222300 & x mod 20 = 1} = res & 2000 /: res & 99988844111111222201 : res',
'-eval', '{x|x>99988844111111222200 & x<99988844111111222300 & x mod 20 = 1}'
, '-evalt', '{x|x>ll & x<99988844111111222300 & x mod 20 = 9} = res & (ll=99988844111111222200 or ll = 99988844111111222201) & 99988844111111222209 : res'
, '-evalt', '{x|x>ll & x<99988844111111222300 & x mod 20 = 2} = res & 2000 /: res & 99988844111111222202 : res & (ll=99988844111111222200 or ll = 99988844111111222201)'
], 'Check CLPFD Overflow is caught').
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.').
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.').
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').
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').
cli_testcase(1358, [cbc,enabling], ['../prob_examples/examples/EventBPrologPackages/Savary/R08_ByteArray_enum_partition.eventb',
'-p', 'TIME_OUT', 3000,
'-feasibility_analysis_csv', 1500,
'../prob_examples/examples/EventBPrologPackages/Savary/R08_ByteArray_enum_partition_feasibility.csv'], 'Check feasibility analysis works').
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',
'../prob_examples/public_examples/EventBPrologPackages/Tickets/SeqTest/SortRecFunction_ctx.eventb',
'-p', 'MAXINT', '3', '-t' ,'-assertions'], 'Check no enumeration warning').
cli_testcase(1360, [cbc,enabling], ['../prob_examples/public_examples/B/CBC/FeasibilityOperationCheck.mch',
'-opterr', 'clpfd_overflow',
'-feasibility_analysis_csv', 750,'../prob_examples/public_examples/B/CBC/FeasibilityOperationCheck_feasibility.csv'], 'Check feasibility analysis works').
cli_testcase(1361, [ctl,tickets], ['../prob_examples/public_examples/B/LTL/MammarFrappier/FlightSystem_corrected_3_3.mch',
'-expcterrpos', 'bmachine_static_checks', 65, 4, % forall rhs does not use ids
'-ctlformula', 'AG({Customers1|->Flights1 /: tickets} => EF({Customers1|->Flights1 : tickets}))',
'-ltllimit', 100, '-expcterr', 'ctl_incomplete', '-expcterr', 'state_space',
'-p', 'STRICT_RAISE_WARNINGS', 'TRUE'], 'Check that incomplete CTL model check detected').
cli_testcase(1362, [ctl,tickets], ['../prob_examples/public_examples/B/LTL/MammarFrappier/FlightSystem_corrected_3_3.mch',
'-expcterrpos', 'bmachine_static_checks', 65, 4, % forall rhs does not use ids
'-ctlformulat', 'AG({Customers1|->Flights1 /: tickets} => EF({Customers1|->Flights1 : tickets}))',
'-p', 'STRICT_RAISE_WARNINGS', 'TRUE', '-cc', 2199, 15212], 'Check that CTL model check works without ltllimit').
cli_testcase(1363, [ctl], ['../prob_examples/public_examples/B/Simple/UpCounter.mch',
'-p', 'MAXINT', 20,
'-ctlformulaf', 'AG({c<mx})', '-his', '../prob_examples/public_examples/B/Simple/UpCounter_his.txt', '-his_option','show_states'
], 'Check that CTL model check works without ltllimit').
cli_testcase(1364, [ctl], ['../prob_examples/public_examples/B/Demo/scheduler.mch',
'-p', 'DEFAULT_SETSIZE', '3',
'-ctlformulaf', 'AG {active={} or ready = {} or waiting ={}}', '-bf', '-mc', 9999, '-his', '../prob_examples/public_examples/B/Demo/scheduler_his.txt', '-his_option','show_states'
], 'Check that CTL model check generates correct counter example').
cli_testcase(1365, [ctl], ['../prob_examples/public_examples/B/Demo/scheduler.mch',
'-ctlformulat', 'AG({card(ready)>1} => EF {card(active)>0})',
'-ctlformulat', 'AG EF {active = {}}',
'-ctlformulat', 'EG {active = {}}',
'-p', 'DEFAULT_SETSIZE', '3'
], 'Check CTL formulas').
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',
'-expcterr', 'invariant_violation'], 'Check BMC works').
cli_testcase(1367, [cbc,tickets,bmc], ['../prob_examples/public_examples/B/Tickets/OpCallModifiesInfo/OpCallModifiesInfo.mch', '-bmc', 5,
'-expcterr', 'invariant_violation'], 'Check Modifies Info correct for operation calls').
cli_testcase(1368, [cbc,tickets], ['../prob_examples/public_examples/B/Tickets/ComponentPartitioning/ManyPartialFunctions.mch', '-init',
'-p', 'DEFAULT_SETSIZE', 5], 'Check component partition works with equality inlining').
cli_testcase(1369, [b_test,tla,tlc],['../prob_examples/public_examples/B/Simple/UpCounter.mch', '-mc_with_tlc'], 'TLC regression test').
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').
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').
cli_testcase(1372, [b_test], ['../prob_examples/public_examples/B/Mathematical/FormaleSprachen.mch',
'-p', 'SMT', 'TRUE',
'-init','-assertions', '-strict'], 'Test 1264 but with SMT mode.').
cli_testcase(1373, [private,codespeed,data_validation], ['../prob_examples/examples/B/Alstom/vesg_Aug11/gradient_train_altitude.mch',
'-animate', 5, '-p', 'TIME_OUT', 300000000, '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647, '-p', 'CLPFD', 'FALSE'], 'Test Alstom example').
cli_testcase(1374, [tickets,card], [
'-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))'],
'Test that no choice points due to add_element').
cli_testcase(1375, [cbc, cbc_tests, tickets,bmc], ['../prob_examples/public_examples/B/SymbolicModelChecking/Counters/VerySimpleCounterWrong.mch', '-bmc', 6,
'-expcterr', 'invariant_violation'], 'Check BMC works').
cli_testcase(1376, [private,data_validation], ['../prob_examples/examples/B/Systerel/C578/2013/machines_24092013/02_001_adapted.mch',
'-init' ,'-assertions', '-p', 'SYMBOLIC', 'TRUE', '-p', 'MEMO', 'TRUE', '-p', 'CLPFD', 'TRUE', '-p', 'TIME_OUT', 155000,
'-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', 0 ], 'Check performance (previously part of 1162)').
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,
'-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
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').
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').
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').
cli_testcase(1381, [tickets,cse_test], ['../prob_examples/public_examples/B/Tickets/CSE/BoolValue.mch',
'../prob_examples/public_examples/B/Tickets/CSE/ExplicitComputations_Reduced.mch',
'-init', '-p', 'CSE', 'TRUE'], 'Check sharing of predicates works').
cli_testcase(1382, [cbc, disprover], ['../prob_examples/examples/B/Alstom/DisproverProject/prob13265_hyp_removed.mch',
'-cbc_assertions', '-p', 'MAX_INITIALISATIONS', 0], 'Check partitioning for cbc_assertions works').
cli_testcase(1383, [tickets, external,data_validation], ['../prob_examples/examples/B/Alstom/Ticket_Dec08_2014/Segment_refAdhesionLevel_GER5.mch',
'-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').
cli_testcase(1384, [cbc,sigma,card], [
'-evalt', '{y|SIGMA(x).(x:1..10 & x mod 5 = 0|x+y) = 215} = {100}',
'-evalt', '{y|PI(x).(x:1..10 & x mod 5 = 0|x+y) = 66} = {-16,1}',
'-evalt', 'SIGMA(x).(x:{y} \\/ {z}|x) = 10 & y>z & z>0',
'-evalt', '{y,z|SIGMA(x).(x:{y} \\/ {z}|x+3) = 10 & y>z & z>0} = {(3,1)}',
'-evalt', 'SIGMA(i).(i:1..1000|i)=500500',
'-evalt', 'SIGMA(i).(i:0..1000|i)=500500',
'-evalt', 'SIGMA(i).(i:-2..1000|i)=500497',
'-evalt', 'SIGMA(i).(i:-3..1000|i)=500494',
'-evalt', 'SIGMA(i).(i:-2..-3|i)=0',
'-evalt', '{y,m|PI(x).(x:1..3|x+y) = m & m:25..100} = {(2,60)}',
'-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',
'-evalf', 's:seq(NATURAL1) & size(s)=220 & SIGMA(i).(i:1..size(s)|s(i)) = 200',
'-evalf', 'x = SIGMA(i).(i:1..n|i) & x<0',
'-evalt', 'x = SIGMA(i).(i:1..n|i) & n>1 & x = 5050',
'-evalt', '{n|5050 = SIGMA(i).(i:1..n|i)} = {100}',
'-evalf', 'x = SIGMA(i).(i:1..n|i) & n>100 & x < 5151',
'-evalt', '{x,n|x = SIGMA(i).(i:-3..n|i) & n>1 & x < 5150 & x>5100} = {(5145,101)}',
'-evalf', 's = [x,10,y] & PI(i).(i:dom(s)|s(i)) = r & x>0 & y>0 & r<10',
'-evalt', 's<:11..15 & card(s)<3 & SIGMA(x).(x:s|x)=23'
], 'Check constraint propagation of SIGMA / PI work better now').
cli_testcase(1385, [cbc,sigma], ['../prob_examples/public_examples/B/Puzzles/Minesweeper.mch',
'../prob_examples/public_examples/B/Puzzles/Minesweeper_v2.mch',
%'../prob_examples/public_examples/B/Puzzles/Minesweeper_v3.mch', still time-out
'../prob_examples/public_examples/B/Puzzles/Minesweeper_v4.mch',
'-init', '-cbc_assertions'], 'Check this version with SIGMA can be solved efficiently').
cli_testcase(1386, [cbc,atelierb], ['../prob_examples/examples/B/Alstom/DisproverProject/FalsePO1.mch',
'-cbc_assertions', '-expecterr', 'cbc_assertions', '-cbc_result_file', '../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt'], 'Test Atelier-B Disprover interface').
cli_testcase(1387, [cbc,atelierb,chr], ['../prob_examples/examples/B/Alstom/DisproverProject/TimeOutPO1.mch',
'-p', 'CHR', 'TRUE', '-p', 'DISPROVER_MODE', 'TRUE',
'-cbc_assertions',
'-cbc_result_file', '../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt'], 'Test Atelier-B Disprover interface').
cli_testcase(1388, [cbc,atelierb,chr], ['../prob_examples/examples/B/Alstom/DisproverProject/TruePO1.mch',
'-p', 'CHR', 'TRUE', '-p', 'DISPROVER_MODE', 'TRUE',
'-cbc_assertions',
'-cbc_result_file', '../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt'], 'Test Atelier-B Disprover interface').
cli_testcase(1389, [cbc,atelierb,chr], ['../prob_examples/examples/B/Alstom/DisproverProject/DeferredSetPO1.mch',
'-p', 'CHR', 'TRUE', '-p', 'DISPROVER_MODE', 'TRUE',
'-cbc_assertions',
'-cbc_result_file', '../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt'], 'Test Atelier-B Disprover interface').
cli_testcase(1390, [tickets], [
'-evalu', '({1}*INTEGER)=f & res = f[{1}] & res=MININT..MAXINT', '-expcterr', eval_string_enum_warning],
'Check that we do not report this as true / false').
cli_testcase(1391, [tickets,proz], ['../prob_examples/public_examples/Z/Daniel/Praxis/network2.fuzz',
'../prob_examples/public_examples/Z/Daniel/scheduler.fuzz',
'../prob_examples/public_examples/Z/Daniel/SudokuSETS9.fuzz',
'../prob_examples/public_examples/Z/Daniel/watergate.fuzz',
'-t'],
'Ensure no pending co-routines for instantiation of freetype value (network2)').
cli_testcase(1392, [cbc,sigma], [
'-evalt', 'r = {s1,s2| SIGMA(i).(i:s1|i) = SIGMA(j).(j:s2|j)} & {x,y}|->{10}:r & {6}|->{x}:r',
'-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)}',
'-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
], 'Check that we can find a solution : choice point enumerated before enumerating y').
cli_testcase(1393, [tickets,slot,codespeed], ['../prob_examples/public_examples/B/Tickets/SLOT-PERFORMANCE3_no_print/WiWiSolver.mch',
'-init', % '-v', % generates non-ground closure warnings
'-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)}'
], 'Ensure no time-out due to total-function setup too late').
cli_testcase(1394, [tickets,alstom,private,codespeed,union,data_validation], ['../prob_examples/examples/B/Alstom/ixl/lausanne.mch', '-t',
'-p', 'TIME_OUT', 5000], 'Ensure no time-out due to rel_compose calling union without WF').
cli_testcase(1395, [cbc, symmetry_test], ['../prob_examples/public_examples/B/SymmetryReduction/DefSetWithConstantsTest2.mch', '-init',
'-expecterr', 'setup_constants_fails', '-p', 'TIME_OUT', '9000'], 'Ensure static symmetry reduction works').
cli_testcase(1396, [cbc, symmetry_test], ['../prob_examples/public_examples/B/SymmetryReduction/DefSetWithConstantsTest3.mch', '-mc', 9999, '-nodead',
'-cc', 19, 18 ], 'Ensure static symmetry reduction works').
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').
cli_testcase(1398, [cbc, symmetry_test,cbc_tests], ['../prob_examples/public_examples/B/SymmetryReduction/DefSetWithConstantsTest2.mch', '-cbc_sequence', '',
'-expecterr', 'cbc_sequence_no_solution_found'], 'Ensure static symmetry reduction works').
cli_testcase(1399, [cbc], [
'-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'
], '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
cli_testcase(1400, [cbc,disprover,chr], [
'-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)',
'-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)',
'-p', 'CHR', 'TRUE'
], '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
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',
'-evalt', '-2 mod 3 = 1'], 'Check synchronisation with sequence type works and z minor mode set for modulo (PROB-368, PROB-369, PROB-371)').
cli_testcase(1402, [cbc,atelierb,chr,disprover,private], ['../prob_examples/examples/B/Alstom/DisproverProject/TruePO1_Taut.mch',
'-p', 'CHR', 'TRUE', '-p', 'DISPROVER_MODE', 'TRUE',
'-cbc_assertions_tautology_proof',
'-cbc_result_file', '../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt'], 'Test Atelier-B Disprover interface').
cli_testcase(1403, [cbc,smt,chr], [
%'../prob_examples/public_examples/SMT/QF_IDL/queens_bench/n_queen/queen3-1.smt2', % Virtual Timeout
'../prob_examples/public_examples/SMT/QF_IDL/queens_bench/n_queen/queen8-1.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/queens_bench/n_queen/queen10-1.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/queens_bench/n_queen/queen20-1.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/queens_bench/toroidal_bench/toroidal_queen2-1.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/queens_bench/toroidal_bench/toroidal_queen3-1.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/queens_bench/toroidal_bench/toroidal_queen5-1.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/queens_bench/super_queen/super_queen10-1.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/queens_bench/super_queen/super_queen20-1.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER1-1-ninc.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER1-2-ninc.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER2-1-ninc.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER2-2-ninc.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER2-3-ninc.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER3-1-ninc.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER3-2-ninc.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER3-3-ninc.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER3-4-ninc.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER4-1-ninc.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER4-2-ninc.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER5-2-ninc.smt2',
'../prob_examples/public_examples/SMT/QF_IDL/mathsat/fischer/FISCHER12-2-ninc.smt2',
'-p', 'CHR', 'TRUE', '-p', 'SMT', 'TRUE'], 'Test SMT interface and solving').
cli_testcase(1404, [ltl], ['../prob_examples/public_examples/EventBPrologPackages/ABZ_Landing_Gear/Ref4_ControllerHandle_mch.eventb', '-mc', 99999, '-cc' , 8629, 41811,
'-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))'
], 'Check LTL pattern deterministic').
cli_testcase(1405, [dot], ['../prob_examples/public_examples/B/Simple/VerySimpleDFA.mch', '-bf', '-mc', 1000, '-strict', '-dotexpr', transition_diagram, 's',
'../prob_examples/public_examples/B/Simple/VerySimpleDFA_transition_diagram.dot',
'-p', 'DOT_LOOPS', 'FALSE' % added 7/11/2023
],'Check Transition Diagram for Expression.').
cli_testcase(1406, [b_test,cbc,atelierb,disprover], ['-cbc_assertions_tautology_proof', '-p', 'DISPROVER_MODE', 'TRUE', '-p', 'ALLOW_UNTYPED_IDENTIFIERS', 'TRUE',
'-expcterr', 'cbc_assertions_enumeration_warning',
'../prob_examples/examples/B/Alstom/DisproverProject/TypingIssues/prob17066_not_provable.mch'
], 'Check ProB finds no counter example for rule and no proof').
cli_testcase(1407, [b_test,cbc,atelierb,disprover], ['-cbc_assertions_tautology_proof', '-p', 'DISPROVER_MODE', 'TRUE', '-p', 'ALLOW_UNTYPED_IDENTIFIERS', 'TRUE',
'../prob_examples/examples/B/Alstom/DisproverProject/TypingIssues/prob17066_provable.mch'
], 'Check ProB finds no counter example for rule and no proof').
cli_testcase(1408, [cbc,sigma], [
'-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
'-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)}'
], 'Check that partition propagates well (no enum warning)').
cli_testcase(1409, [cbc,disprover,private], [
'../prob_examples/public_examples/ProofObligations/GearDoor1_mch.pl',
'../prob_examples/public_examples/ProofObligations/GearsDoorsHandle3_mch.pl',
'../prob_examples/examples/ProofObligations/ABZ14_Mery/M2_mch.pl',
'../prob_examples/examples/ProofObligations/ABZ14_Mery/M20_mch.pl',
'../prob_examples/examples/ProofObligations/ABZ14_Mery/M3_mch.pl',
'../prob_examples/examples/ProofObligations/ABZ14_Mery/M30_mch.pl',
'../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel3/m1_true.pl',
'../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel3/m2_mch.pl',
'-p', 'DOUBLE_EVALUATION', 'FALSE'
%,'../prob_examples/examples/ProofObligations/ABZ14_Mery/M4_mch.pl'
],'Check Disprover can prove all POs').
cli_testcase(1410, [cbc,disprover,private], [
'../prob_examples/examples/ProofObligations/Abrial_Ch4_Brp/brp_1_true.pl',
'../prob_examples/examples/ProofObligations/Abrial_Ch4_Brp/brp_3_true.pl',
'-p', 'DOUBLE_EVALUATION', 'FALSE'
],'Check Disprover can prove all POs; this test also checks register predicate works better').
cli_testcase(1411, [cbc,disprover], [
'../prob_examples/public_examples/ProofObligations/DisproverDefSetTest2_ctx.pl',
'../prob_examples/public_examples/ProofObligations/DisproverDefSetTest3_ctx.pl',
'../prob_examples/public_examples/ProofObligations/DisproverDefSetTest4_ctx.pl',
'-check_disprover_result', 0,0,2,
'-p', 'DOUBLE_EVALUATION', 'FALSE'
],'Check Disprover cannot prove po').
cli_testcase(1412, [cbc,random,sigma], [
'-p', 'RANDOMISE_ENUMERATION_ORDER', 'TRUE',
'-evalt', 'x:1..20 --> 1..100 & SIGMA(v).(v:1..20|x(v)) = 20*50'
% 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]
% 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]
],'Check random enumeration').
cli_testcase(1413, [cbc,chr,disprover], [
'-p', 'CHR', 'TRUE',
'-evalf', 'xx>0 & xx+1 <= p & xx=p'
%'-evalf', 'xx>0 & xx+2 <= p & xx=p' % does not work yet
],'Check CHR propagation').
cli_testcase(1414, [b_test,cbc,atelierb,disprover,private], ['-cbc_assertions_tautology_proof', '-p', 'DISPROVER_MODE', 'TRUE',
'-p', 'CHR', 'TRUE', '-p', 'CSE', 'TRUE',
%'../prob_examples/examples/B/Alstom/DisproverProject/ProvableByPP/prob9313.mch', % does not work yet
'../prob_examples/examples/B/Alstom/DisproverProject/ProvableByPP/prob9313_1.mch'
], 'Check ProB finds proof').
cli_testcase(1415, [cbc,random], [
'-p', 'RANDOMISE_ENUMERATION_ORDER', 'TRUE',
'../prob_examples/public_examples/B/FeatureChecks/RandomEnumeration.mch',
'-init', '-assertions'
],'Check random enumeration').
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.').
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).').
cli_testcase(1418, [cbc,sigma,card], [
'-evalf', 'card(s)=5 & card(r)=3 & SIGMA(x).(x:r|x)=SIGMA(y).(y:s|y) & s<:0..16 & r<:s',
'-evalt', 'card(x)=10 & !y.(y:x & y<50 => y+1:x) & x<:1..50',
'-evalt', '{x|card(x)=10 & !y.(y:x & y<50 => y+1:x) & x<:1..50} = {41..50}',
'-evalt', '{x|card(x)=50 & !y.(y:x & y<50 => y+1:x) & x<:1..50} = {1..50}',
'-evalt', '{x|card(x)=150 & !y.(y:x & y<50 => y+1:x) & x<:1..50} = {}',
'-evalt', 'card(x)=10 & !(y,z).(y|->z:x & y<50 => y+1|->z:x) & x<:(1..50)*{TRUE}',
'-evalt', 'card(x)=10 & !(y).(y:x & y\'f1<50 => rec(f1:y\'f1+1):x) & x<:struct(f1:1..50)',
'-evalt', 'card(x)=10 & !(y,z).(y|->z:x & y<50 => y+1|->z:x) & x<:(1..50)*{"A","B"}'
% 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)'
% also slow: card(x)=10 & !(y).(y:x & prj1(INTEGER,BOOL)(y)<50 => (prj1(INTEGER,BOOL)(y)+1,TRUE):x) & x<:(1..50)*BOOL
% 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
% 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)
% slow : card(x)=10 & !(y,z).(z|->y:x => ( y<50 => z|->y+1:x)) & x<:BOOL*(1..50)
], 'Test this is solved quickly using new ordered_value check for card.').
cli_testcase(1419, [cbc,card], [ '-p', 'SMT', 'TRUE',
'-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)',
'-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})',
'-evalt', 'card(x)=1 & !(y).(y:x & prj1(INTEGER,BOOL)(y)<50 => (prj1(INTEGER,BOOL)(y)+1,TRUE):x) & x<:(1..50)*BOOL'
], 'Test this is solved quickly using new ordered_value check for card & avoid bug in expand all quantifeir.').
cli_testcase(1420, [tickets,sigma], [
'-evalt', 'Z={((((1|->1)|->-59843)|->-57163)),((((2|->1)|->-57163)|->-56910))} & r=SIGMA(a,b,c,d).((a,b,c,d):Z|d-c)'
], 'Test issue with Sigma/Pi for multiple variables').
cli_testcase(1421, [symbolic_model_checker], ['../prob_examples/public_examples/B/SymbolicModelChecking/Counters/InfiniteAndFiniteCounterCorrect.mch', '-symbolic_model_check', 'ic3'], 'Contains Finite and Infinite Counter').
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').
cli_testcase(1423, [symbolic_model_checker], ['../prob_examples/public_examples/B/SymbolicModelChecking/Counters/InfiniteCounter.mch', '-symbolic_model_check', 'ic3'], 'Contains Infinite Counter').
cli_testcase(1424, [symbolic_model_checker], ['../prob_examples/public_examples/B/SymbolicModelChecking/Counters/VerySimpleCounter.mch', '-symbolic_model_check', 'ic3'], 'Simple Counter').
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').
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').
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').
cli_testcase(1428, [symbolic_model_checker], ['../prob_examples/public_examples/B/SymbolicModelChecking/Bakery0.mch', '-symbolic_model_check', 'ic3'], 'Bakery Model without Invariant Violation').
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').
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').
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').
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').
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.').
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.').
cli_testcase(1435, [cbc, symmetry_test,card], ['../prob_examples/public_examples/B/CBC/GraphMining_RunningExample_Unsat.mch', '-init', '-expcterr', 'setup_constants_fails',
'-opterr', 'setup_constants_inconsistent'], 'Test odered set symmetry breaking works with card(S)>Nr constraint.').
cli_testcase(1436, [cbc,disprover,private], [
'../prob_examples/public_examples/ProofObligations/GearDoor1_mch.pl',
'../prob_examples/public_examples/ProofObligations/GearsDoorsHandle3_mch.pl',
'../prob_examples/examples/ProofObligations/ABZ14_Mery/M2_mch.pl',
'../prob_examples/examples/ProofObligations/ABZ14_Mery/M20_mch.pl',
'../prob_examples/examples/ProofObligations/ABZ14_Mery/M3_mch.pl',
'../prob_examples/examples/ProofObligations/ABZ14_Mery/M30_mch.pl',
'../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel3/m1_true.pl',
'../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel3/m2_mch.pl',
'../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel2/m0_mch.pl',
'../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel2/m1_mch.pl',
'../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel2/m2_mch.pl',
'../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel1/LPN0_mch.pl',
'../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel1/LPN1_mch.pl',
'../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel1/LPN2_mch.pl',
'-p', 'DOUBLE_EVALUATION', 'TRUE'
%,'../prob_examples/examples/ProofObligations/ABZ14_Mery/M4_mch.pl'
],'Test 1409 with double check').
cli_testcase(1437, [cbc,disprover,private], [
'../prob_examples/examples/ProofObligations/Abrial_Ch4_Brp/brp_1_true.pl',
'../prob_examples/examples/ProofObligations/Abrial_Ch4_Brp/brp_3_true.pl',
'-p', 'DOUBLE_EVALUATION', 'TRUE'
],'Test 1410 with double check').
cli_testcase(1438, [cbc,disprover], [
'../prob_examples/public_examples/ProofObligations/DisproverDefSetTest2_ctx.pl',
'../prob_examples/public_examples/ProofObligations/DisproverDefSetTest3_ctx.pl',
'../prob_examples/public_examples/ProofObligations/DisproverDefSetTest4_ctx.pl',
'-check_disprover_result', 0,0,2,
'-p', 'DOUBLE_EVALUATION', 'TRUE'
],'Test 1411 with double check').
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.').
cli_testcase(1440, [cbc,disprover], [
'../prob_examples/public_examples/ProofObligations/InconsistenHyp_ctx.pl',
'-p', 'DOUBLE_EVALUATION', 'TRUE', '-p', 'STRICT_RAISE_WARNINGS', 'TRUE',
'-expcterr', 'disprover_inconsistent_hypotheses'
],'Test 1411 with double check').
cli_testcase(1441, [disprover,s21], [
'../prob_examples/public_examples/ProofObligations/S21/train_0_mch.pl',
'-timeout', 500, % sets disprover_timeout
'-opterr', 'disprover_inconsistent_hypotheses', % with larger time_out or faster machine we can find those
'-check_disprover_result', '>10',0,'<25' % on faster machine we can get 12,0,23
% [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]
],'S21 proof obligations').
cli_testcase(1442, [disprover,s21], [
'../prob_examples/public_examples/ProofObligations/S21/train_1_mch.pl',
'-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
'-opterr', 'disprover_inconsistent_hypotheses' % with larger time_out or faster machine we can find those
],'S21 proof obligations').
cli_testcase(1443, [disprover,s21], [
'../prob_examples/public_examples/ProofObligations/S21/train_2_mch.pl',
'-timeout', 500, % sets disprover_timeout
'-opterr', 'disprover_inconsistent_hypotheses', % with larger time_out or faster machine we can find those
'-check_disprover_result', '>=0',0,'=<6'
],'S21 proof obligations').
cli_testcase(1444, [disprover,s21], [
'../prob_examples/public_examples/ProofObligations/S21/train_3_mch.pl',
'-check_disprover_result', 11,0,0,
'-expcterr', 'disprover_inconsistent_hypotheses'
],'S21 proof obligations').
cli_testcase(1445, [disprover,s21], [
'../prob_examples/public_examples/ProofObligations/S21/train_4_mch.pl',
'-check_disprover_result', 1,0,0,
'-expcterr', 'disprover_inconsistent_hypotheses'
],'S21 proof obligations').
cli_testcase(1446, [disprover,s21], [
'../prob_examples/public_examples/ProofObligations/S21/train_5_mch.pl',
'-check_disprover_result', 79,0,0,
'-expcterr', 'disprover_inconsistent_hypotheses'
],'S21 proof obligations').
cli_testcase(1447, [disprover,s21], [
'../prob_examples/public_examples/ProofObligations/S21/train_ctx0_ctx.pl',
% '-check_disprover_result', 1,10,6,
'-check_disprover_result', 5,10,2,
% proven: [axm10/WD]
% disproven: [axm2/THM,axm3/THM,axm4/THM,axm5/THM,axm6/THM,axm7/THM,axm8/THM,axm11/THM,axm10/THM,axm9/THM]
'-timeout', 2000 % timeout per PO
],'S21 proof obligations').
cli_testcase(1448, [disprover,s21], [
'../prob_examples/public_examples/ProofObligations/S21/train_ctx1_ctx.pl',
'-check_disprover_result', 1,0,2
],'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 */
cli_testcase(1449, [disprover,s21], [
'../prob_examples/public_examples/ProofObligations/S21/train_ctx2_ctx.pl',
'-check_disprover_result', 7,0,0,
'-expcterr', 'disprover_inconsistent_hypotheses'
],'S21 proof obligations').
cli_testcase(1450, [disprover,s21], [
'../prob_examples/public_examples/ProofObligations/S21/train_ctx5_ctx.pl',
'-check_disprover_result', 0,0,0
],'S21 proof obligations').
cli_testcase(1451, [cbc,atelierb,chr,unsat_core], ['../prob_examples/examples/B/Alstom/DisproverProject/TrueContradiction.mch',
'-p', 'CHR', 'TRUE', '-p', 'DISPROVER_MODE', 'TRUE',
'-cbc_assertions', '-cbc_option', contradiction_check, '-cbc_option', tautology_check , '-cbc_option', unsat_core,
'-cbc_result_file', '../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt',
'-strict', '-expcterr', contradiction_in_hypotheses], 'Test Atelier-B Disprover interface').
cli_testcase(1452, [disprover,exists], [
'../prob_examples/public_examples/ProofObligations/Mammar_Laleau_ABZ/Cylinders_mch.pl',
'-timeout', 2500, % sets disprover_timeout
'-check_disprover_result', 37,0,0
],'ABZ Mammar Laleau - requires exists expansion').
cli_testcase(1453, [disprover], [
'../prob_examples/public_examples/ProofObligations/Mammar_Laleau_ABZ/Gears_mch.pl',
%'../prob_examples/public_examples/ProofObligations/Mammar_Laleau_ABZ/Doors_mch.pl',
'../prob_examples/public_examples/ProofObligations/Mammar_Laleau_ABZ/GearsIntermediateStates_mch.pl',
'../prob_examples/public_examples/ProofObligations/Mammar_Laleau_ABZ/Failures_mch.pl' % requires good reification of partial_function test
],'ABZ Mammar Laleau POs should all be proven, test closure reification').
cli_testcase(1454, [disprover,cbc], ['-p','SMT','TRUE',
'-evalf', 'not(handler_ind : dom({FALSE |-> d,TRUE |-> c}) &{FALSE |-> a,TRUE |-> b} : BOOL +-> INTEGER) & handler_ind : BOOL & d:INTEGER', % other small test
'-evalf', 'not(handler_ind : dom({FALSE |-> d,TRUE |-> c}) &{FALSE |-> a,TRUE |-> b} : BOOL --> INTEGER) & handler_ind : BOOL & d:INTEGER', % other small test
'-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
'-evalf', 'not(f <+ {po |-> {TRUE |-> currentTime + 12,FALSE |-> 16}(po)} : BOOL +-> NATURAL) & f : BOOL +-> NATURAL & currentTime>0', % this checks not_partial_function improvement
'-evalf', 'not(BOOL * {currentTime + 4} : BOOL --> NATURAL) & currentTime >0' % this checks not_subset improvement for not_total_function
],'Check reification of x:NATURAL and choice point in not_total_function and not_partial_function').
cli_testcase(1455, [cbc,atelierb,disprover], ['-p', 'CHR', 'TRUE', '-p', 'DISPROVER_MODE', 'TRUE',
'-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))'
], 'Test splitting of existential quantifier').
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',
'-p', 'DISPROVER_MODE', 'TRUE'], 'Many explicit computations which check that all operators work as expected on various concrete data (CLPFD+DISPROVER mode).').
cli_testcase(1457, [laws,chr], ['../prob_examples/public_examples/B/Laws/BoolLaws.mch', '-mc', '100000', '-nodead', '-cs', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE',
'-p', 'DISPROVER_MODE', 'TRUE', '-p', 'CHR', 'TRUE'], 'Various laws about BOOL datatype and boolean connectives.').
cli_testcase(1458, [laws,chr], ['../prob_examples/public_examples/B/Laws/ArithmeticLaws.mch', '-mc', '100000', '-cs', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE',
'-p', 'DISPROVER_MODE', 'TRUE', '-p', 'CHR', 'TRUE'], 'Various arithmetic laws.').
cli_testcase(1459, [laws,chr], ['../prob_examples/public_examples/B/Laws/NatRangeLaws.mch', '-mc', '100000', '-cs', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE',
'-p', 'DISPROVER_MODE', 'TRUE', '-p', 'CHR', 'TRUE'], 'Laws about intervals etc.').
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',
'-p', 'DISPROVER_MODE', 'TRUE', '-p', 'CHR', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Use model checking to check a variety of laws on relations.').
cli_testcase(1461, [laws,chr], ['../prob_examples/public_examples/B/Laws/SetLaws.mch', '-mc', '500', '-cs', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'FALSE',
'-p', 'DISPROVER_MODE', 'TRUE', '-p', 'CHR', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Mathematical Laws about Sets').
cli_testcase(1462, [cbc,atelierb,disprover], ['-p', 'CHR', 'TRUE', '-p', 'DISPROVER_MODE', 'TRUE',
'-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)',
'-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} '
], 'Test improved treatment of function overwrite').
cli_testcase(1463, [disprover], [
'../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel2/m6_mch.pl',
'-timeout', 600, % sets disprover_timeout
'-check_disprover_result', '>101',0,'<2' % on a fast machine we can get 103 true and 0 unknown, otherwise 102 and 1
],'Requires function overwrite + better sharing of negated preds').
cli_testcase(1464, [cbc,cse, cse_test,sigma], [ '-p', 'CSE', 'TRUE',
'-evalf', 'x+y >100 & x+y <99',
'-evalt', '(x+y)+(x+y)=(x+y) & x:INTEGER',
'-evalt', '((x+y)+z)*(x+y)+((x+z)+y) + (x+z) = 0',
'-evalt', '!x.(x:NATURAL &x+z<10 => x+z<11) & z=2',
'-evalt', 'SIGMA(x).(x:NATURAL &x+z<4 | x+z)=5 & z=2',
'-evalt', 'PI(x).(x:NATURAL &x+z<4 | x+z)=6 & z=2',
'-evalt', '(z>1 => #x.(x:NATURAL &x+z<10 & x+z<11)) & z=2',
'-evalt', '%(x).(x:NATURAL1 &x+z<4 | x+z)=[3] & z=2',
'-evalt', '{x,r | x:NATURAL1 &x+z<4 & r= x+z}=[3] & z=2',
'-evalt', '{v|v+(x+x) : 0..10 & v:0..5 & v+(x+x) < 3}={0} & x+x : 0..4',
'-evalt', 'f:BOOL +-> 0..10 & (f/={} => f(TRUE)>5) & (FALSE:dom(f)=> f(TRUE)>5)',
'-evalt', 'f:BOOL +-> 0..10 & (f/={} => f(TRUE)>5) <=> b=TRUE & (FALSE:dom(f)=> f(TRUE)>5) <=> b=FALSE',
'-evalt', 'f:1..3+->1..3 & (x:dom(f) => #r.(r=f(x) & r>2 & r<10))<=>b=TRUE & x:3..4 & f={}',
'-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',
'-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)'
], 'Some simple CSE tests').
cli_testcase(1465,[cse, cse_test,private],['-p', 'CSE', 'TRUE', '-p', 'MAXINT', 127, '-p', 'MININT', -128,
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-MemoryLoad_SP_55.prob',
'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/qsee-TransmitMemoryDumpOk21_SP_6.prob'
% ,'-evalt_file', '../prob_examples/examples/Setlog/prob-ttf/plavis-TransData_SP_13.prob' %% does not work yet
], 'Test from 1003').
cli_testcase(1466,[cse,tickets], ['-p', 'CSE', 'TRUE',
'../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel3/m3_act0_inv2_as_b.mch',
'-init'
], 'Test WD issue does not prevent from finding solution').
cli_testcase(1467, [disprover,private], [
'../prob_examples/examples/ProofObligations/Pacemaker_1_15March2011/M0_AOO_mch.pl',
'-check_disprover_result', 27,0,1
],'Pacemaker proof obligations').
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.').
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.').
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.').
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.').
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.').
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).').
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.').
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).').
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.').
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).').
cli_testcase(1478, [cbc,cse, cse_test,sigma], [ '-p', 'CSE', 'FALSE', '-p', 'SMT', 'TRUE',
'-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)'
], 'Test new FDSET collection for function application').
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).').
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).').
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.').
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.').
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').
cli_testcase(1484, [cbc,tickets], [
'-evalt', 'res=x*x+4*x+14',
'-evalt', 'x*x+4*x+14=res'
], 'Check no CLPFD overflow').
cli_testcase(1485, [tickets], [
'-evalt', 'x = -(x) & y={x,2} & z={x,3}',
'-evalt', 'x = -v & v=2+w & w=10 & y={x,2} & z={x,3}'
], 'Check no error in predicate partitioning and equality replacement').
cli_testcase(1486, [b_test,override], ['-t', '-strict', '../prob_examples/public_examples/B/FeatureChecks/OverrideRelationAssignment.mch'], 'Check function override assignment works for relation').
cli_testcase(1487, [records,cbc], [
'-evalf', 'r:struct(f1:11..20,f2:12..20) & r\'f1+10 = r\'f2',
'-evalt', 'r:struct(f1:11..20,f2:12..30) & r\'f1+10 = r\'f2',
'-evalt', 'r:struct(f1:11..20,f2:12..30) & r\'f1+10 = r\'f2 & s:struct(f1:15..20,f2:1..100) & s=r'
], 'A few REPL tests with records').
cli_testcase(1488, [cbc], [
'-evalf', 'A /= {} & A <<: {x} & x:INTEGER', % NotSubsetoOfSingleton
'-evalf', '{(x,y)} <: R & x /: dom(R) & R : INTEGER <-> INTEGER', % SingletonNotSubsetRel
'-evalf', 'X /\\ Y = Z & X = {} & Z /= {} & X<:INTEGER', % dinters(X,Y,Z) & X = {} & Z neq {} --> false
'-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 {}
'-evalf', 'R:INTEGER<->INTEGER & R /= {} & dom(R)=D & D <<: {X}', % DomNotSubsetOfSingleton % is_rel(R) & R neq {} & dom(R,D) & ssubset(D,{X})
'-evalf', 'R:INTEGER<->INTEGER & R /= {} & dom(R)=D & A=D & A <| R=Q & R /\\ Q = {}', % DresCapEqual
'-evalf', 'R:INTEGER<->INTEGER & R /= {} & dom(R)=D & A=D & A <| R = {}', % DresEqual
'-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
% This does not work R:INTEGER<->INTEGER & dom(R)=D & X /: D & dom({(X,Y),B,B2}) = DS & D=DS & Y:INTEGER
'-p', 'CLPFD', 'TRUE'
], 'Check that ProB can handle Setlog TTF filtering rules').
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)').
cli_testcase(1490, [cbc_tests,cbc,proz,private],['../prob_examples/examples/Z/Cristia/birthdayBook/zspec.fuzz',
'-cbc_tests', 2 ,'', '', '-cbc_cover_all'],'Check that we can cover all events').
cli_testcase(1491, [eventb_test,infinite,override], ['../prob_examples/public_examples/EventBPrologPackages/FeatureTests/InfiniteChanges_mch.eventb', '-t'], 'Test that we can override infinite functions.').
cli_testcase(1492, [tickets,alstom,random,private], ['../prob_examples/examples/B/Alstom/ixl_Apr_2015/scheduler_i.mch', '-animate', 10, '-p', 'CLPFD', 'FALSE',
'-p', 'TIME_OUT', 12000, % increased time-out from 6000 for gitlab windows runner on Feb 9th 2020
'-p', 'RANDOMISE_ENUMERATION_ORDER', 'TRUE'], 'Test that random enumeration works without CLPFD.').
cli_testcase(1493, [pge_fast], ['../prob_examples/public_examples/B/Ivo/SkippingComplexGuardsEvaluation_mch_mx5000.eventb', '-mc', 1000000, '-p', 'pge', full, '-get_coverage_information', '../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.').
cli_testcase(1494, [pge_fast], ['../prob_examples/public_examples/B/Ivo/NoDisablings_mx5.eventb', '-mc', 1000000, '-p', 'pge', full, '-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.').
cli_testcase(1495, [pge_fast,enabling], ['../prob_examples/public_examples/B/Ivo/PGE_Deadlock.mch', '-mc', 1000000, '-noinv', '-p', 'pge', full, '-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).').
cli_testcase(1496, [pge_fast], ['../prob_examples/public_examples/B/Ivo/PGE_Deadlock.mch', '-mc', 1000000, '-p', 'pge', full, '-expcterr', invariant_violation, '-strict'], 'Testing whether the invariant violation is discovered.').
cli_testcase(1497, [pge_fast], ['../prob_examples/public_examples/B/Ivo/PGE_Deadlock.mch', '-ltlformulaf', 'G not deadlock', '-p', pge, full, '-strict'], 'Testing whether the deadlock state is discovered when using PGE while LTL model checking.').
cli_testcase(1498, [cbc,queens,card], [
'-evalt', '{x| x:1..3 -->> 5..7 & x(2)=6} = {{(1|->5),(2|->6),(3|->7)},{(1|->7),(2|->6),(3|->5)}}',
'-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)}}',
'-evalt', '{x| x:1..3 -->> 5..8 & x(2)>x(3)}={}',
'-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))',
'-evalt', '{x| x:1..3 +->> 5..7 & x(2)=6} = {{(1|->5),(2|->6),(3|->7)},{(1|->7),(2|->6),(3|->5)}}',
'-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)}}',
'-evalt', '{x| x:1..3 +->> 5..8 & x(2)>x(3)}={}',
'-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))',
'-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
], 'Check -->> / +->> optimization works correctly (test new treatment to treat like >-> when domain card = range card; now also >->>)').
cli_testcase(1499, [cbc,cse], ['../prob_examples/public_examples/B/Special/ConstrainedBasedChecking/mesiSet.mch',
'../prob_examples/public_examples/B/Special/ConstrainedBasedChecking/mesiSet_simplified.mch',
'-cbc', 'all', '-strict', '-expcterr', 'cbc', '-p', 'CSE', 'TRUE'], 'Test 402 with CSE enabled; nonvar types occur').
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
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').
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').
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').
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').
cli_testcase(1505, [smt_solver_integration], [
'-evalt', ':z3-double-check x = 1',
'-evalf', ':z3-double-check x = 1 & x > 2'
%'-evalt', ':cvc4 x = 1',
%'-evalf', ':cvc4 x = 1 & x > 2'
], 'some simple constraints that should be solved by cvc4 / z3').
cli_testcase(1506, [smt_solver_integration], [
'-evalt', ':z3-double-check r:struct(f1:11..20,f2:12..30) & r\'f1+10 = r\'f2',
'-evalf', ':z3-double-check r:struct(f1:11..20,f2:12..20) & r\'f1+10 = r\'f2',
'-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',
'-evalt', ':z3-double-check v1:struct(lderb:{TRUE},mspue:{FALSE},fhhxr:{TRUE})',
'-evalt', ':z3-double-check Dom = struct(f1:-1..3)',
'-evalt', ':z3-double-check Dom = struct(f1:-1..3) & SS : POW(Dom)',
'-evalf', ':z3-double-check Dom = struct(r:1..3) & ff:Dom<->BOOL & gg:Dom<->BOOL & not(ff <<: gg => #xx.(xx:gg & xx/:ff))'
%'-evalt', ':cvc4 r:struct(f1:11..20,f2:12..30) & r\'f1+10 = r\'f2',
%'-evalf', ':cvc4 r:struct(f1:11..20,f2:12..20) & r\'f1+10 = r\'f2',
%'-evalt', ':cvc4 r:struct(f1:11..20,f2:12..30) & r\'f1+10 = r\'f2 & s:struct(f1:15..20,f2:1..100) & s=r',
%'-evalt', ':cvc4 v1:struct(lderb:{TRUE},mspue:{FALSE},fhhxr:{TRUE})'
], 'records support by smt solvers').
cli_testcase(1508, [smt_solver_integration], [
'-evalf', ':z3-double-check x>0 & x+1 <= p & x=p',
'-evalf', ':z3-double-check x>0 & x+2 <= p & x=p',
'-evalf', ':z3 not(Pace_Int - sp >= 0) & (sp > 0 & sp < Pace_Int)' % taken from pacemaker disprover testcase; requires CHR probably to double check
%'-evalf', ':cvc x>0 & x+1 <= p & x=p',
%'-evalf', ':cvc x>0 & x+2 <= p & x=p',
%'-evalf', ':cvc not(Pace_Int - sp >= 0) & (sp > 0 & sp < Pace_Int)' % taken from pacemaker disprover testcase
], 'check that smt solvers would be able to replace the chr code in some cases').
cli_testcase(1509, [smt_solver_integration], [
'-evalt', ':z3-double-check {x} <: {999}',
'-evalt', ':z3-double-check {x} <: {999,1000} & x > 999',
'-evalt', ':z3-double-check x = {1,2} /\\ {3,4}',
'-evalt', ':z3-double-check x={(1,2),(3,4),(4,5),(6,7),(8,9)} & y|->v : x & y|->w : x'
%'-evalt', ':cvc4 {x} <: {999}',
%'-evalt', ':cvc4 {x} <: {999,1000} & x > 999',
%'-evalt', ':cvc4 x={(1,2),(3,4),(4,5),(6,7),(8,9)} & y|->v : x & y|->w : x'
], 'simple set constraints for smt solvers').
cli_testcase(1510, [smt_solver_integration], [
'-evalt', ':z3-double-check x : {1,2} --> NAT',
'-evalf', ':z3-double-check x : {1,2} --> NAT & x = {(1,1)}',
'-evalt', ':z3-double-check x : {1,2} --> NAT & x = {(1,1),(2,1)}'
], 'functions for z3 (in theory supported by cvc4, but often unknown)').
cli_testcase(1511, [smt_solver_integration], [
'-evalf', ':z3-double-check s = min({1}) & s=2',
'-evalf', ':z3-double-check s = min({1,2}) & s>2'
%'-evalf', ':cvc s = min({1}) & s=2',
%'-evalf', ':cvc s = min({1,2}) & s>2'
], 'check that smt solvers can falsify min / max').
cli_testcase(1512, [cse, ltl], ['../prob_examples/public_examples/B/LTL/Fairness/TestingFairness.mch',
'-p', 'CSE', 'TRUE', '-p', 'CSE_SUBST', 'TRUE',
'-ltlformulat', true, '-ltlformulat', 'G{1=1}',
'-ctlformulat', 'AG{1=1}', '-ctlformulaf', 'EF{1=2}',
%'-ltlformulaf', false, % does not work !
'-ltlformulaf', 'G{1=2}', '-strict'], 'Test 1244 with CSE_SUBST, checks top-level PRE detected inside lazy_let_subst.').
cli_testcase(1513, [smt_solver_integration], [
'-evalt', ':z3-double-check x=dom({(1,2)})',
'-evalt', ':z3-double-check x=ran({(1,2)})'
], 'domain and range computation using z3').
cli_testcase(1514, [cse,case],['../prob_examples/examples/B/Satpathy/Teletext104/Teletext104_deterministic.mch', '-t',
'-p', 'CSE', 'TRUE', '-p', 'CSE_SUBST', 'TRUE'
],'Test 1292 with CSE_SUBST: Check this relatively large machine works.').
cli_testcase(1515, [cse], [
'-p', 'CSE', 'TRUE', '-p', 'CSE_SUBST', 'TRUE',
'-evalt', '(x>1 => 10/x>2) & #v.(v:10..20 & (x>2 => 10/x=v))'
], 'check that no pending co-routines or wd problem').
cli_testcase(1516, [smt_solver_integration], [
'-evalf', ':z3-double-check x = {(1,5),(2,6),(3,7)} & i = x[{1,2}] & 7:i',
'-evalt', ':z3-double-check x = {(1,5),(2,6),(3,7)} & i = x[{1,2}]'
], 'check that smt solvers can falsify image (at least z3 can)').
cli_testcase(1517, [smt_solver_integration], [
'-evalf', ':z3-double-check x = 1 .. 4 & z = x /\\ 5 ..3 & z /= {}',
%'-evalf', ':cvc x = 1 .. 4 & z = x /\\ 5 ..3 & z /= {}',
'-evalt', ':z3-double-check x = 1 .. 4 & z = x /\\ 5 .. 3'
%'-evalt', ':cvc x = 1 .. 4 & z = x /\\ 5 .. 3' removed for now
], 'intervals for smt solvers').
cli_testcase(1518, [cbc], [
'-evalt', 'x = %i.(i:1..10|i+i) & x[{j}]={8}',
'-evalt', 'ran({x,j|x = {1|->2,2|->4, 4|->8, 5|->8} & x[{j}]={8}})=4..5',
'-evalt', 'ran({x,j|x = {1|->2,23|->4, 44|->8, 55|->8} & x[{j}]={8}})={44,55}',
'-evalt', 'x = %i.(i:1001..1100|i+i) & x[{j}]={2100}',
'-evalt', 'x = %i.(i:1..10|i+i) & x[{5,j}]={16,10}',
'-evalf', 'x = %i.(i:1..10|i+i) & x[{5,j}]={16,11}'
], 'check that we propagate/instantiate for image').
cli_testcase(1519, [b_test,external,records,strings], ['../prob_examples/public_examples/B/ExternalFunctions/LibraryStrings.mch',
'-evalt', '{rec(sa:"1.101"),rec(sa:"1.102")} =x & x<: (struct(sa : {s| s : STRING & size(STRING_SPLIT(s,"."))=2}))',
'-evalf', '{rec(sa:"1.101"),rec(sa:"1.102.3")} =x & x<: (struct(sa : {s| s : STRING & size(STRING_SPLIT(s,"."))=2}))'
], 'Check that no infinite expansion occurs here.').
cli_testcase(1520, [b_test,unicode,atelierb],
['../prob_examples/public_examples/B/Tickets/UnicodeSupport/t1_2_atelierb.mch', '-t'
],'Test Atelier-B unicode support.').
cli_testcase(1521, [b_test,external,records,infinite],
['../prob_examples/public_examples/B/Tickets/SymbolicSubArgs/SymbolicSubArg.mch',
'-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', % test also passes without this
'-assertions'
], 'Check that no infinite expansion occurs here.').
cli_testcase(1522, [b_test,external,records,infinite],
['../prob_examples/public_examples/B/Tickets/SymbolicSubArgs/SymbolicSubArg.mch',
'../prob_examples/public_examples/B/Tickets/SymbolicSubArgs/NonSymbolicSubArg.mch',
'../prob_examples/public_examples/B/Tickets/SymbolicSubArgs/NonSymbolicSubArgDEF.mch',
'-assertions'
], 'Like test 1521, but a few virtual time outs occur for NonSymbolic files.').
cli_testcase(1523, [smt_solver_integration], [
'-eval', ':z3-version',
'-evalt', ':z3-double-check x = %i.(i:1..10|i+i) & x[{j}]={8}',
'-evalt', ':z3-double-check x = %i.(i:1..10|i+i) & x[{5,j}]={16,10}',
'-evalf', ':z3-double-check x = %i.(i:1..10|i+i) & x[{5,j}]={16,11}'
], 'parts of test 1518 using smt solvers').
cli_testcase(1524, [tickets,records], [
'../prob_examples/public_examples/B/Tickets/PROB-381/DuplicateFieldInRecord.mch',
'../prob_examples/public_examples/B/Tickets/PROB-381/DuplicateFieldInRecordType.mch', '-init',
'-expcterr', 'type_error', '-expcterr', 'load_main_file'], 'Check multiple use of record field detected. (Ticket PROB-381)').
cli_testcase(1525, [cbc], [
'-evalf', 'x:S & y:S & y/:T & S<:NATURAL & T=S'
], 'ensure above is detected FALSE wo enum warning; requires better reification for FD equality').
cli_testcase(1526, [cbc], [
'-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 /= {}',
'-evalt', 'f = %x.(x:1..9|x+1) \\/ {10|->8} & x = f[x] & x /= {}',
'-evalt', 'f = %x.(x:1..n|x+1) \\/ {n+1|->8} & x = f[x] & x /= {} & n=10'
], 'ensure above solved without enum warning (better propagation for image)').
cli_testcase(1527, [smt_solver_integration], [
'-evalt', ':z3-double-check x:1..400 & y:1..400 & f: 280..290 --> 290..299 & x|->y :f & y|->x :f'
], 'check that a model with a complicated representation can be translated back from z3 to prob').
cli_testcase(1528, [cbc], [
'-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)',
'-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)',
'-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)',
'-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').
cli_testcase(1529, [csp_test], ['../prob_examples/public_examples/CSP/simple/verysimple.csp',
'-csp_assertion', 'MAIN |= LTL: \"G ([b.blue.blue] => X [c.blue.blue])\"',
'-csp_assertion', 'MAIN |= LTL: \"G ([i.2] => X [j.3])\"',
'-csp_assertion', 'MAIN |= LTL: \"G ([a.red] => X e(b.red._))\"',
'-csp_assertion', 'MAIN |= CTL: \"EGAF e(a.red)\"' , '-strict'
], 'Check LTL and CTL assertions (all are satisfied by the MAIN process).').
cli_testcase(1530, [csp_test], ['../prob_examples/public_examples/CSP/simple/verysimple.csp',
'-csp_assertion', 'MAIN |= LTL: \"G ([i.2] => X [j.4])\"', '-expcterr', model_check_fails, '-strict'
], 'Check LTL assertion (check should fail).').
cli_testcase(1531, [csp_test], ['../prob_examples/public_examples/CSP/simple/verysimple.csp',
'-csp_assertion', 'MAIN |= CTL: \"AGAF e(a.red)\"', '-strict'
], 'Check CTL assertion (check should not fail).').
cli_testcase(1532, [cbc,hash], ['../prob_examples/public_examples/B/Tickets/FiveWayTraffic/FiveWay_new_mch.eventb',
'-mc', 1000, '-strict','-cc', '29', '65',
'--hash64', 1088314065090582434 % used to be 591402958158885188 % used to be 971801032035978952
], 'Check no time-out for setup-constants (relational image for singleton set).').
cli_testcase(1533, [cbc,disprover], [
'../prob_examples/public_examples/B/Tickets/FiveWayTraffic/TwoWay_mch.pl',
'../prob_examples/public_examples/B/Tickets/FiveWayTraffic/Traffic_Context2_prob_ctx.pl'
%, '../prob_examples/public_examples/B/Tickets/FiveWayTraffic/FiveWay_new_prob_mch.pl' % requires higher-timeout
],'Check Disprover can prove all POs').
cli_testcase(1534, [cbc,union,card], [
'-evalt', 'card({x,y| { x \\/ y } <: {{1} \\/ {2}}}) = 9' % { x \/ y } <: {{1} \/ {2}} from Grieskamp Zeta paper
], 'check set comprehenion can be computed without enum warning (union constraint propagation)').
cli_testcase(1535, [cbc,card], [
'-evalt', '{x,y| x = {1,2} & x \\/ y = {1,2,3} & 1:y } = {({1,2}|->{1,3}),({1,2}|->{1,2,3})}'
,'-evalt', 'card({x,y| x<:1..3 & y<:1..3 & ( x \\/ y) = (1..3) }) = 27'
,'-evalt', 'card({x,y| { x \\/ y } <: {{1} \\/ {2} \\/ {3}} }) = 27'
,'-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})}'
,'-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})}'
,'-evalt', 'card({x,y| x \\/ y = 1..5 }) = 243'
], 'Check kernel bug in add_element and copy_list_skeleton fixed').
cli_testcase(1536, [cbc], [
'-evalt', 'sqr = %x.(x>=0|x*x) & (sqr)[{xx}] = {2500}'
, '-evalt', 'sqr = %x.(x>=0&x<52|x*x) & (sqr)[{xx}] = {2500}'
, '-evalt', 'sqr = %x.(x>=0|x*x) & (sqr)[{xx,vv}] = {2500}'
], 'check no enum warning (image propagation)').
cli_testcase(1537, [tickets,laws], [
'-evalf', 'x:0..5 & (-2) ** x = (8)'
, '-evalt', 'x:0..5 & (-2) ** x = -8'
, '-evalt', '{x|x>0 & (-2) ** x = -8} = {3}'
, '-evalf', 'x:0..3 & (-1) ** x = (-46)'
, '-evalf', 'x:-18..-11 & -1 ** x = -46'
, '-evalt', '{x|x:0..5 & (-1) ** x = -1} = {1,3,5}'
, '-evalt', '{x|x:0..5 & (-1) ** x = 1} = {0,2,4}'
, '-evalt', '{x|x:0..5 & (1) ** x = 1} = 0..5'
% , '-evalf', 'x=2 & x**y <1 & y>0' % check propagation
, '-evalf', 'x:INTEGER & x**1 /= x' % check propagation
, '-evalf', 'x:INTEGER & x**0 /= 1' % check propagation
, '-evalf', '1**x /= 1 & x>0' % check propagation
], 'check no instantiation error when base is 1 or -1').
cli_testcase(1538, [kodkod], [ '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
'-evalt', ':kodkod 2+3=x' % check no warning because nothing for kodkod to solve
,'-evalt', ':kodkod 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
], 'check no warning and :kodkod works').
cli_testcase(1539, [laws,tla],['../prob_examples/public_examples/TLC/Laws/NegDivision.tla', '-mc', 1000, '-strict'], 'Test that the division semantics of TLA preserved.').
cli_testcase(1540, [laws,proz,sequences],['../prob_examples/public_examples/Z/ZLive/IntegerTests.fuzz',
'../prob_examples/public_examples/Z/ZLive/SetTests.fuzz',
'../prob_examples/public_examples/Z/ZLive/SequenceTests.fuzz',
'../prob_examples/public_examples/Z/ZLive/RelationTests.fuzz',
'../prob_examples/public_examples/Z/ZLive/FreeTypeTests.fuzz',
'../prob_examples/public_examples/Z/ZLive/MiscTests.fuzz',
'../prob_examples/public_examples/Z/ZLive/LetTests.fuzz',
'-mc', 1000, '-nodead', '-strict'], 'Test Integer Z laws and that the division semantics of Z is preserved.').
cli_testcase(1541, [cbc], [
'-evalt', '2 : ran({y|y : INTEGER * INTEGER & #(x).(y = x |-> x + 2 & x : NATURAL)})',
'-evalt', '-2 /: ran({y|y : INTEGER * INTEGER & #(x).(y = x |-> x + 2 & x : NATURAL)})',
'-evalt', '1 /: ran({y|y : INTEGER * INTEGER & #(x).(y = x |-> x + 2 & x : NATURAL)})',
'-evalt', '-10..1 /\\ ran({y|y : INTEGER * INTEGER & #(x).(y = x |-> x + 2 & x : NATURAL)}) = {}',
'-evalt', '-10..10 /\\ ran({y|y : INTEGER * INTEGER & #(x).(y = x |-> x + 2 & x : NATURAL)}) = 2..10',
'-evalf', '-2 : ran({y|y : INTEGER * INTEGER & #(x).(y = x |-> x + 2 & x : NATURAL)})',
'-evalt', '2:ran({x|x:BOOL*BOOL*INTEGER & #(b,z).( x = (b,b,z) & z>1 & z<10)})',
'-evalt', '22:ran({x|x:BOOL*BOOL*INTEGER & #(b,z).( x = (b,b,z) & z>1)})',
'-evalt', '1/:ran({x|x:BOOL*BOOL*INTEGER & #(b,z).( x = (b,b,z) & z>1 )})',
'-evalt', '1 : dom({y|y : INTEGER * INTEGER & #(x).(y = x |-> x + 2 & x : NATURAL)})',
'-evalt', '(TRUE,TRUE):dom({x|x:BOOL*BOOL*INTEGER & #(b,z).( x = (b,b,z) & z>1 )})',
'-evalf', '(TRUE,FALSE):dom({x|x:BOOL*BOOL*INTEGER & #(b,z).( x = (b,b,z) & z>1 )})'
],'ensure proper symbolic treatment for domain/range').
cli_testcase(1542, [cbc], [
'-evalf', '{x|x>100 & x mod 102 = 2} = {}',
'-evalf', '%x.(x>100 & x mod 102 = 2|x*x) = {}',
'-evalt', '{x|x>100 & x mod 102 = 2} /\\ {x| x<100 & x mod 102 =2} = {}',
'-evalt', '%x.(x>100 & x mod 102 = 2|x*x) /= {}',
'-evalt', '{x|x>100 & x mod 102 = 2} /= {}',
'-evalt', '{x|x*x < i & x>2} ={} & i>2',
'-evalt', '{x|x*x < i & x>2} /= {} & i>9',
'-evalt', '{x|x<20} /= {}',
'-evalf', '{x|x<20} = {}'
], 'symbolic treatment of closure emptiness').
cli_testcase(1543, [b_test,tickets],
['../prob_examples/public_examples/B/Tickets/Beauger2/bug_not_labels_corrected.mch', '-aa', 0,3,0,
'-ppf', '../prob_examples/public_examples/B/Tickets/Beauger2/bug_not_labels_corrected_ppf.mch'
], 'Check that labels correctly assigned.').
cli_testcase(1544, [b_test,trees],['../prob_examples/public_examples/B/Tester/TreeExample.mch',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-assertions', '-init', '-strict'], 'Test that the Atelier-B tree operators supported.').
cli_testcase(1545, [laws], ['../prob_examples/public_examples/B/Laws/ArithmeticLaws.mch',
'../prob_examples/public_examples/B/Laws/ArithmeticExpLaws.mch',
'-mc', '100000', '-cs', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE',
'-p', 'NORMALIZE_AST', 'TRUE'], 'Various arithmetic laws with AST Normalization.').
cli_testcase(1546, [cbc,trees,sequences], [
'-evalt', '{si|si : dom((%u.(u : seq(INTEGER)|[1] ^ u) ; {[1] |-> 33,[1,2] |-> 55})) & si/=[]} = {[2]}',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'arity({[]|->22,[1]|->33,[1,1]|->44,[1,2]|->55},[1])=2'
], 'ensure proper constraint solving/propagation for sequence concatenation').
cli_testcase(1547, [laws,trees,sequences], ['../prob_examples/public_examples/B/Laws/TreeLaws.mch',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-mc', '100', '-nogoal', '-nodead', '-strict', '-p', 'CLPFD', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Laws about trees').
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.').
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'], '').
cli_testcase(1550, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'not((y > 0 & y * y > 20) <=> (y * y > 25 & y > 0))',
'-evalf', 'not((y > 0 & y * y > 20) <=> (y * y > 21 & y > 0))'
], 'test constraint solving for <=>').
cli_testcase(1551, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '{b|[a,b,c](2)=333} =res & a : res & b:res'
], 'test constraint solving and compilation of closures (apply sequence extension)').
cli_testcase(1552, [cbc,trees], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'a = {(1, {([]|->2)} ), (2, const(1, [a(1)]))}',
'-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})}',
'-evalt', 'a : 1..2 --> tree({1,2}) & a = {(2, bin(2)), (1, const(1, [a(2)]))}'
], 'test constraint solving and compilation of closures (function application)').
cli_testcase(1553, [csp_test], [
'../prob_examples/public_examples/CSP/Tickets/Ivo/RenamedSymbol.csp', '-assertions', '-strict'],
'').
cli_testcase(1554, [tickets,while],['../prob_examples/public_examples/B/Tickets/Hansen18_While/Loop.mch',
'../prob_examples/public_examples/B/Tickets/Hansen18_While/LoopBy2.mch',
'../prob_examples/public_examples/B/Tickets/Hansen18_While/LoopByDouble.mch',
'../prob_examples/public_examples/B/Tickets/Hansen18_While/LoopByTwiceSeqComp.mch',
'../prob_examples/public_examples/B/Tickets/Hansen18_While/LoopByClash.mch',
'-t', '-mc', 100, '-strict'],
'Check compilation of operation calls inside while loop.').
cli_testcase(1555, [tickets,cbc,slot,trees],[
'../prob_examples/public_examples/B/Tickets/Schneider2_Trees/NewSolver_v2.mch',
'../prob_examples/public_examples/B/Tickets/Schneider2_Trees/NewSolver_v3.mch',
'-evalt', 'CHOOSE_MODULES("bk-phi-H-2013", solution)'], 'Test constraint solving with trees').
cli_testcase(1556, [cbc],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Laws/Mengen_Gesetze_PowBool_ctx.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Laws/Mengen_Gesetze_FiniteInt_ctx.eventb',
'-cbc_assertion', 'Gesetze:assoc1', '-cbc_assertion', 'Gesetze:assoc2',
'-cbc_assertion', 'Gesetze:comm1', '-cbc_assertion', 'Gesetze:comm2',
'-cbc_assertion', 'Gesetze:DeMorgan1', '-cbc_assertion', 'Gesetze:DeMorgan2',
'-p', 'PROOF_INFO', 'FALSE'], 'Test cbc assertion with label works').
cli_testcase(1557, [laws],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Laws/Mengen_Gesetze_Bool_ctx.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Laws/KuratowskiPairDefinition_Enum_ctx.eventb',
%'../prob_examples/public_examples/EventBPrologPackages/Laws/KuratowskiPairDefinition_Int_ctx.eventb',
%'../prob_examples/public_examples/EventBPrologPackages/Laws/Mengen_Gesetze_PowBool_ctx.eventb', % tales 24 seconds
'-cbc_assertions', '-p', 'PROOF_INFO', 'FALSE'], 'Test laws over sets using cbc').
cli_testcase(1558, [cbc,card],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'f: 1..40 --> BOOL & card({x|x|->TRUE:((1..40)*BOOL) & x|->TRUE :f}) : 10..11', % did not work before
'-evalt', 'f: 1..40 --> BOOL & card({x|x:1..40 & x|->TRUE :f}) : 10..11'
], 'Test reification of closure for cardinality').
cli_testcase(1559, [cbc,tickets,card],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Tickets/EinsteinPuzzle/UnsatCore_einstein_ctx_v2.mch', '-init',
'-evalt', 't: Menschen >-> Getraenke & Daene |-> Tee : t',
'-evalt', 't: Menschen -->> Getraenke & Daene |-> Tee : t',
'-evalt', 't: Menschen --> Getraenke & Daene |-> Tee : t',
'-evalt', 't: Menschen >->> Getraenke & Daene |-> Tee : t'
], 'Test reification of closure for cardinality').
cli_testcase(1560, [cbc,card], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalf', 'n>=0 & n1>0 & {n1} \\/ {n} = r & r={n} & not(n1=n)',
'-evalf', '{n} /<: {n,n1} & n:INTEGER',
'-evalf', '0..B <: 1..B & B:1..1000000',
'-evalf', '0..x <: 1..1000 & x>0',
'-evalt', '{x|x>0} <: NATURAL1',
'-evalf', 'x:seq1(0..1) & x:seq1(2..3)',
'-evalt', 'a..b = {x} & x:100..1002',
'-evalt', 'x <: (1..100000000 \\/ {-1}) & x={}',
'-evalt', 'card(iseq1(1 .. 3) \\/ {{}}) = 16',
'-evalt', 'bool(!x.(x<:1..10 => card(x) <11))',
'-evalt', 'r:INTEGER<->INTEGER & dom(r)=1..4',
'-evalt', 'r:INTEGER<->INTEGER & ran(r)=2..20 & dom(r) = 1..10',
'-evalf', '{x|x>20} = {1,y,5,x,4}',
'-evalf', '{x|x>20} = y & 1:y',
'-evalt', '{x|x>20} = y & 21:y',
'-evalf', '2..b = {1,y,5,x,4}',
'-evalt', '{X| X /\\ {1} = {} & X \\/ {1} = 1..20} = {2..20}',
'-evalt', 'a..b = {x} & x:100..1002',
'-eval', '{x|[1,2,3,4,5,6] |>> {x} = [1,2,3,4,5]}',
'-eval', '{x|[33] |>> {x} = []}',
'-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'
], 'test a few constraints from the ProB-TO-DO-List').
cli_testcase(1561, [cbc], [
'-evalf', 'not(#x.(x>100))',
'-evalt', '1..b = {1,y,5,x,4}',
'-evalt', 'a..b = {1,y,5,x,4}'
], 'test a few constraints from the ProB-TO-DO-List (with enum warning)').
cli_testcase(1562, [slot,trees,parser,card],[
'../prob_examples/public_examples/B/Tickets/Schneider5_Trees/Solver.mch',
'-p', 'TIME_OUT', 35000,
'-evalt', '%(x).(x : dom(course_module_combinations) & card(course_module_combinations(x)) > 0|1)={("bk-phi-H-2013"|->1)}',
'-evalt', '%(x).(x : dom(course_module_combinations) & course_module_combinations(x) /= {} |1)={("bk-phi-H-2013"|->1)}'
% '-evalt', '%(x).(x : dom(course_module_combinations) & card(course_module_combinations(x)) > 1|1)={("bk-phi-H-2013"|->1)}' % still causes problem
], 'Test no complicated set-unification with backtracking').
cli_testcase(1563, [parser,tickets], [
'../prob_examples/public_examples/B/Tickets/CommentsOneLine/OneLineComments.mch', '-t'
], 'Test parser can deal with one line comments').
cli_testcase(1564, [kodkod], [ '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
'-evalf', 'x:0..3 & y:0..3 & (x*y)+7<0',
'-evalf', ':kodkod x:0..3 & y:0..3 & (x*y)+7<0'
], 'Test Kodkod bug fixed').
cli_testcase(1565, [fairness], [
'../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.').
cli_testcase(1566, [fairness], [
'../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.').
cli_testcase(1567, [fairness], [
'../prob_examples/public_examples/B/LTL/Fairness/RecursiveSCCs2.mch', '-ltlformula', 'SEF => F {addr = 4 or addr = 5}', '-strict'], 'Testing the fairness algorithm.').
cli_testcase(1568, [fairness], [
'../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.').
cli_testcase(1569, [fairness], [
'../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.').
cli_testcase(1570, [fairness], [
'../prob_examples/public_examples/B/LTL/Fairness/RecursiveSCCs3.mch', '-ltlformula', 'WEF => F { addr = 8}', '-expcterr', 'ltl', '-strict'], 'Test finding the right fairness loop.').
cli_testcase(1571, [fairness], [
'../prob_examples/public_examples/B/LTL/Fairness/RecursiveSCCs3.mch', '-ltlformula', 'SEF => F { addr = 8}', '-strict'], 'Testing the fairness checking algorithm.').
cli_testcase(1572, [fairness], [
'../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.').
cli_testcase(1573, [fairness], [
'../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.').
cli_testcase(1574, [chr,card], ['-p', 'CHR', 'TRUE', '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-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)}',
'-evalt', '{x,y|x..y <: 11..18 & card(x..y)=5 & x<y} = {(11|->15),(12|->16),(13|->17),(14|->18)}'
], 'Test CHR interval propagation').
cli_testcase(1575, [external, b_test], [
'../prob_examples/public_examples/B/ExternalFunctions/CSV_Reader.mch',
'../prob_examples/public_examples/B/ExternalFunctions/CSV/ChemicalElements.mch', '-t'], 'test CSV reader.').
cli_testcase(1576, [chr], ['-p', 'CHR', 'TRUE',
'-evalt', 'x+y=100 & x>y',
'-evalt', 'x=100-y & x>y'
], 'Test stronger CHR IDL propagation').
cli_testcase(1577, [cbc,union,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'x = NATURAL1 \\/ -3..-1 & 11:x & -3:x & 0 /: x',
'-evalt', '-3..-1 \\/ NATURAL1 = x & 11:x & -3:x & 0 /: x',
'-evalt', 'x = NATURAL1 \\/ {-1} & 11:x & -1:x & 0 /: x',
'-evalt', 'x = NATURAL1 \\/ {-1,-3} & 11:x & -1:x & -3:x & 0 /: x',
'-evalt', 'x = {-1,-33} \\/ NATURAL1 & 11:x & -1:x & -33:x & 0 /: x'
], 'Test better symbolic treatment of union').
cli_testcase(1578, [cbc,bmc], ['../prob_examples/public_examples/B/CBC/BinarySearchEvents_Overflow_v2.mch', '-bmc', 5,
'-expcterr', 'invariant_violation'], 'Check error found using bmc').
cli_testcase(1579, [cbc,bmc,clpfd_tables], ['../prob_examples/public_examples/B/CBC/BinarySearchEvents_Overflow_v3.mch', '-bmc', 10,
'-expcterr', 'invariant_violation', '-p', 'TIME_OUT', 3500], 'Check error found using bmc'). % increased time-out for windows runner from default 2500, Feb 17th 2020
cli_testcase(1580, [symbolic_model_checker], [
'../prob_examples/public_examples/B/CBC/BinarySearchEvents_Overflow_v1.mch',
%'../prob_examples/public_examples/B/CBC/BinarySearchEvents_Overflow_v2.mch', % fails with SICStus 4.5; fd_degree behaves differently
'-symbolic_model_check', 'bmc',
'-p', 'TRACE_INFO', 'TRUE',
'-expcterr', 'invariant_violation'], 'Check error found using BMC').
cli_testcase(1582, [symbolic_model_checker], ['../prob_examples/public_examples/B/CBC/BinarySearchEvents_Overflow_v2.mch', '-symbolic_model_check', 'ic3',
'-expcterr', 'invariant_violation'], 'Check error found using IC3').
cli_testcase(1583, [symbolic_model_checker], ['../prob_examples/public_examples/B/CBC/BinarySearchEvents_Overflow_v2.mch', '-symbolic_model_check', 'ctigar',
'-expcterr', 'invariant_violation'], 'Check error found using CTIGAR').
cli_testcase(1584, [symbolic_model_checker], [
'../prob_examples/public_examples/B/CBC/BinarySearchEvents_Overflow_v1.mch',
% '../prob_examples/public_examples/B/CBC/BinarySearchEvents_Overflow_v2.mch', % fails with SICStus 4.5; see test 1580
'-symbolic_model_check', 'bmc',
'-expcterr', 'invariant_violation'], 'Check error found using BMC').
cli_testcase(1585, [symbolic_model_checker], ['../prob_examples/public_examples/B/CBC/BinarySearchEvents_Overflow_v2.mch', '-symbolic_model_check', 'kinduction',
'-expcterr', 'invariant_violation'], 'Check error found using k-Induction').
cli_testcase(1586, [cbc,wd,error_checks,union], ['-p', 'TRY_FIND_ABORT', 'TRUE',
'-evalnwd', 'r = {1|->2, 2|-> 1/0}(1)',
'-expcterr', 'well_definedness_error'
], 'Test better symbolic treatment of union').
cli_testcase(1587, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'x:0..127 & y:0..127 & x2=x & y2=y+1 & not(x2:0..127 & y2:0..127)',
'-evalt', 'f: 1..100 --> 10..20 & x:10..20 & f2=f & x2=x+1 & not(f2:1..100 --> 10..20 & x2:11..20)',
'-evalf', 'f: 1..100 --> 10..20 & x:10..20 & f2=f & x2=x+1 & not(f2:1..100 --> 10..20 & x2:11..21)'
], 'Test inlining of id1=id2 equalities and subsequent detection of identical predicates').
cli_testcase(1588, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'CLPFD', 'FALSE',
'-evalt', 'x:0..127 & y:0..127 & x2=x & y2=y+1 & not(x2:0..127 & y2:0..127)',
'-evalt', 'f: 1..100 --> 10..20 & x:10..20 & f2=f & x2=x+1 & not(f2:1..100 --> 10..20 & x2:11..20)'
% '-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
], 'Test 1587 without CLPFD').
cli_testcase(1589, [cbc,forall], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tickets/ForallDomainExpansion/UnsatCore.mch',
'-init'
],'Test that forall with domain is expanded').
cli_testcase(1590, [cbc,bmc,forall], [
'../prob_examples/public_examples/B/Tickets/ForallDomainExpansion/binarySearchFail_impl_prob_mch.eventb',
'-bmc', 10, '-expcterr', 'invariant_violation'
],'Test that forall with domain is expanded and BMC finds problem').
cli_testcase(1591, [tla,tlc],['../prob_examples/public_examples/B/SymmetryReduction/Peterson.mch', '-mc_with_tlc'], 'TLC regression test').
cli_testcase(1592, [tla,tlc],['../prob_examples/public_examples/B/SymmetryReduction/Peterson_err.mch', '-mc_with_tlc'
%, '-expcterr', 'invariant_violation' % currently there is no feedback to probcli about invariant violations found
], 'TLC regression test').
cli_testcase(1593, [puzzles_test],['../prob_examples/public_examples/B/Puzzles/Bridges.mch', '-init'
], 'Bridges Puzzle').
cli_testcase(1594, [cbc,sigma,card], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'SIGMA(x).(x:M|30) = 3000 & M<:1..100',
'-evalt', '{M|SIGMA(x).(x:M|30) = 300 & M<:1..10} = {1..10}',
'-evalt', '{M|SIGMA(x).(x:M|30) = 270 & M<:1..10}=res & card(res)=10',
% this is slow: {M|SIGMA(x).(x:M|30) = 570 & M<:1..20}=res & card(res)=20; 17 seconds
% this does not work: {M|SIGMA(x).(x:M|30) = 3000 & M<:1..100}
'-evalt', 'SIGMA(x).(x:M|cp(x)) = 3000 & M=1..100 & cp:M --> {0,15,30}',
'-evalt', 'M=1..20 & {cp|SIGMA(x).(x:M|cp(x)) = 570 & cp:M --> {0,30}}=res & card(res)=20',
'-evalt', 'M=1..100 & {cp|SIGMA(x).(x:M|cp(x)) = 3000 & cp:M --> {0,15,30}}=res & card(res)=1',
'-evalt', 'PI(x).(x:{-1} \\/ 1..20|x) = -2432902008176640000',
'-evalt', 'PI(x).(x:M|20) = 400 & M<:1..10',
'-evalf', 'SIGMA(x).(x:M|20) = 50 & M<:1..10',
'-evalf', 'PI(x).(x:M|20) = 500 & M<:1..10'
], 'Test SIGMA and PI').
cli_testcase(1595, [tickets,eventb_test],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Tickets/TheoremInGuards/TestM1_mch.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Tickets/TheoremInGuards/VM_1_mch.eventb',
'-t', '-mc', 100 ], 'Test theorem in guards can use dropped abstract variables').
cli_testcase(1596, [tickets,eventb_test],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Tickets/TheoremInGuards/TestM1_error_mch.eventb',
'-mc', 100, '-expcterr', 'event_error:teste:invalid_theorem_in_guard'
], 'Test theorem in guards can use dropped abstract variables and error found').
cli_testcase(1597, [tickets,tla,exists],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tickets/ExistsEnumeration/MC_AlternatingBit_Internal.mch',
'-t', '-mc', 500 , '-expcterr', 'model_check_incomplete'], 'Test no problem with LoseAck action and existential quantifier').
cli_testcase(1598, [tickets,tla,hash],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/TLA/TLA_Distribution/FIFO/MCInnerFIFO.mch', '-scope', 'card(q)<=qLen',
'-p', 'MAX_INITIALISATIONS', 40,
'-mc', 6000, '-cc', 5810, 9661 ,
'--hash64', 1092224097070366805 % 413665275772098592 %1134041423096647838 % changed after packing rec/1, used to be 66366088829346955 and 523977694511884201
], 'Test SCOPE works correctly').
cli_testcase(1599, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-expcterr', 'bmachine_static_checks',
'../prob_examples/public_examples/B/Tester/ExistentialGlobalSetIDTest.mch', '-mc', '1000',
'-evalt', '#(ID).( cc /: ID & dom({x,y|x=1 & y:ID}) = {})'
], 'Check that local identifier ID does not confuse optimiser').
cli_testcase(1600, [tickets,private,quantified,union], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/Tickets/MemoryError_bugly.mch', '-init', '-assertions'
], 'Check that UNION and dom(dom()) memory consumption issue solved').
cli_testcase(1601, [b_test, imp, refinement,private], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/ClearSy/turbomeca/pld_i.imp',
'../prob_examples/examples/B/ClearSy/control/M1_i.imp',
'../prob_examples/examples/B/ClearSy/JCRE/opcodes_i.imp', '-t'
], 'Check implementation machines').
cli_testcase(1602, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SchneiderBook/Chapter17/Array.mch','-t'
], 'Check Schneider example').
cli_testcase(1603, [private,alstom,data_validation], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/Alstom/exemple7.mch',
'../prob_examples/examples/B/Alstom/exemple7_occuper_zone.mch',
'-t'
], 'Check Alstom machines').
cli_testcase(1604, [eventb_test,private], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/RodinModels/PaulSimon/ca_m01_mch.eventb',
'-p', 'MAX_INITIALISATIONS', '30', '-p', 'MAX_OPERATIONS', '30',
'-p', 'DEFAULT_SETSIZE', '3',
'-t'
], 'Check Paul Simon complicated EventB machine').
cli_testcase(1605, [cbc, infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'f = %x.(x:INTEGER|0) & f : INTEGER --> {0}',
'-evalt', 'f = %x.(x:INTEGER|0) & f : INTEGER +-> {0}',
'-evalt', 'f = %x.(x:INTEGER|0) & f : INTEGER +-> {u}',
'-evalt', 'f = %x.(x:INTEGER|0) & {u|f : INTEGER +-> {u}} = {0}',
'-evalt', 'f = %x.(x:INTEGER|0) & {u|f : INTEGER --> {u}} = {0}',
'-evalt', 'f = %x.(x:INTEGER|0) & f : INTEGER +-> NATURAL',
'-evalt', 'f = %x.(x:INTEGER|0) & f : INTEGER --> NATURAL',
'-evalt', 'f = %x.(x:INTEGER|0) & f : INTEGER +-> 0..2',
'-evalf', 'f = %x.(x:INTEGER|0) & f : INTEGER +-> 1..2',
'-evalf', 'f = %x.(x:INTEGER|0) & f : INTEGER --> 1..2',
'-evalt', 'f = %x.(x:INTEGER|1000) & f : INTEGER +-> 999..1002',
'-evalt', 'f = %x.(x:INTEGER|1000) & f : INTEGER --> 999..1002',
'-evalt', 'f = INTEGER*{1000} & f : INTEGER --> 999..1002',
'-evalt', 'f = %x.(x:INTEGER|1000) & f = INTEGER*{1000}',
'-evalf', 'f = %x.(x:INTEGER|1000) & f = INTEGER*{1001}',
'-evalf', 'f = %x.(x:INTEGER|0) & f : INTEGER +-> NATURAL1',
'-evalt', 'f = %x.(x:INTEGER|0) & f : INTEGER -->> {0}',
'-evalf', 'f = %x.(x:INTEGER|0) & f : INTEGER -->> {0,1}',
'-evalt', 'f = %x.(x/=0|1000/x) & f : INTEGER +-> INTEGER & f(500)=2',
'-evalf', 'f = %x.(x/=0|1000/x) & f : INTEGER --> INTEGER',
'-evalt', '{x|x/=0} = INTEGER \\ {0}',
'-evalf', '{x|x/=0} = INTEGER \\ {1}',
'-evalf', '{x|x/=0} /= INTEGER \\ {0}',
'-evalt', '{x|x/=0} /= INTEGER \\ {1}',
'-evalf', '{x|x/=0} = INTEGER',
'-evalt', '{x|x/=0} /= INTEGER',
'-evalf', 'INTEGER={x|x/=0}',
'-evalt', 'INTEGER/={x|x/=0}',
'-evalt', '{b|INTEGER={x|x/=0} <=> b=TRUE}={FALSE}',
'-evalt', 'NATURAL/={x|x/=0}',
'-evalt', 'NATURAL1/={x|x/=0}',
'-evalt', '{x|x/=0} /= NATURAL1',
'-evalf', '{x|x/=0} = NATURAL',
'-evalt', '{x,y,z|x <: BOOL & y = x*x & y:{z}-->{z}} = {({FALSE}|->{(FALSE|->FALSE)}|->FALSE),({TRUE}|->{(TRUE|->TRUE)}|->TRUE)}',
'-evalt', 'card({x,y,z|x <: BOOL & y = x*x & y/:{z}-->{z}})=6',
'-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}|->{})}'
], 'Check that %x.(x:P|E) is detected as cartesian product closure for dom_range_for_specific_closure').
cli_testcase(1606, [cbc,card], [
'-evalt', 'n=10000000 & x : (1..n) \\ {5000000}',
'-evalt', 'x:(1000..a) \\ {b}',
'-evalt', 'x: 1000..b /\\ 1500..c',
'-evalt', 'x:1000..2000 & x /: b..2000',
'-evalt', 'x:(1000..2000) \\ (b..2000)',
'-evalt', 'x:(1000..a) \\ (b..a)',
'-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)}',
'-evalt', 'card({x,y| x:200..295 & y : 101..190 & x /: y..y+100})=4455'
], 'Test symbolic treatment of set-difference membership').
cli_testcase(1607, [tickets,forall], ['../prob_examples/public_examples/B/Tester/TestAnyChoice.mch',
'-t', '-strict'], 'Test that definition can be used at top-level of forall quantifier').
cli_testcase(1608, [symmetry_test,proz,card], ['../prob_examples/public_examples/Z/Daniel/Derrick_ICFEM06.fuzz', '-strict',
'-mc', '10000', '-cc', '29', '149' ], 'Test min card inference works.').
cli_testcase(1609, [cbc,tickets], [ '-p', 'MAXINT', 2147483648,
'-evalt', 'x : NAT1 +-> {1,2,3} & (n:NAT & 1..n = dom(x)) & x /= {}'
], 'Test that pf does not expand NAT1').
cli_testcase(1610, [cbc,card], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'f=[{1},{3},{6,2,4,8},{1,2,3}] & x:1..4 & y=f(x) & card(y)>3',
'-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})}'
], 'Test cardinality restriction').
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'
%, '-expcterr', eval_string_enum_warning
], 'Ensure proper enumeration of sequences (CLPFD=TRUE).'). % variation of test 1187
cli_testcase(1612, [eventb_test, theories], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-assertions',
'../prob_examples/public_examples/EventBPrologPackages/Theory/Sequences/TestConcat_ctx.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Theory/Sequences/TestMySequences_ctx_ok.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Theory/Sequences/TestMySequences_ctx_ok2.eventb'], 'Check Sequence Theory Mapping.').
cli_testcase(1613, [eventb_test, theories], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-assertions', '-expecterr', 'check_assertions',
'../prob_examples/public_examples/EventBPrologPackages/Theory/Sequences/TestMySequences_ctx_err.eventb'],
'Check Sequence Theory Mapping leads to error (due to wrong mapping).').
cli_testcase(1614, [eventb_test, theories], [ '-assertions',
'../prob_examples/public_examples/EventBPrologPackages/Theory/Sequences/MySequences_ctx.eventb'], 'Check Sequence Theory in context.').
cli_testcase(1615, [cbc, cbc_tests,bmc], ['../prob_examples/public_examples/B/SymbolicModelChecking/Counters/CounterArticle.mch', '-bmc', 4,
'-expcterr', 'invariant_violation'], 'Check BMC works').
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').
cli_testcase(1617, [bmc,tickets], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Tickets/bmc_unsat_axioms/f_m0.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Tickets/bmc_unsat_axioms/f_m1.eventb',
'-bmc', 10], 'Check no counter example reported').
cli_testcase(1618, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Mathematical/ArgumentationAsSets.mch',
'../prob_examples/public_examples/EventBPrologPackages/Mathematical/Arguments_Example_ctx.eventb',
'-assertions'], 'Check Argumentation Theory example').
cli_testcase(1619, [b_test, infinite,total_function], ['-evalt', 'x mod 100000 >= 99999',
'-evalt', 'x : NATURAL --> {1,2,3}',
'-evalt', 'x : NATURAL --> {1,2,3} & x(7) = 3',
'-evalf', 'x : NATURAL --> {1,2,3} & x(7) = 3 & x(7) = 2',
'-evalt', 'not(x : INTEGER --> {1,2})',
'-evalf', 'y/=x & {x,y} = {x|x > 2}'
], 'Ensure symbolic treatment of (infinite) total functions.').
cli_testcase(1620, [b_test,external,choose], ['../prob_examples/public_examples/B/ExternalFunctions/ChooseExternal.mch', '-assertions'], 'Test choose and MU operator.').
cli_testcase(1621, [b_test,let], [
'../prob_examples/public_examples/B/Tester/LetTest_IllegalCyclic.mch',
'../prob_examples/public_examples/B/Tester/LetTest_IllegalNondet.mch',
'../prob_examples/public_examples/B/Tester/LetTest_IllegalNotAllDefined.mch',
'../prob_examples/public_examples/B/Tester/LetTest_IllegalNotVarLHS.mch',
'../prob_examples/public_examples/B/Tester/LetTest_IllegalVar.mch',
'-expcterr','type_error', '-expcterr', 'load_main_file'], 'Check illegal LETs detected.').
cli_testcase(1622, [b_test,recursion,infinite,let], ['../prob_examples/public_examples/B/FunctionalProgramming/Factorial_NewSyntax.mch',
'../prob_examples/public_examples/B/FunctionalProgramming/SeqNaturalFoldr_NewSyntax.mch',
'../prob_examples/public_examples/B/RecursiveFunctions/SortSet_NewSyntax.mch',
'-t', '-strict'], 'Test new IF-THEN-ELSE / LET Syntax for expressions.').
cli_testcase(1623, [b_test], [
'-evalf', 'z < first([z]) & 0<z',
'-evalf', 'z < first([z]) & z:INTEGER',
'-evalf', 'z < last([z]) & 0<z',
%'-evalf', 'z < first([z,z]) & 0
%'-evalf', 'z < first(v) & v=[z] & 0
'-evalf', 'z > first([z]) & z>0'
], 'Ensure ast_cleanup removes first/last.').
cli_testcase(1624, [cbc,card], [
'-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',
'-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',
'-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',
'-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',
'-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',
% 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
'-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',
% '-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
'-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
'-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 !!
'-evalt', 's=1..n & x<:s & card(x):15..26 & n/2/:x & n/4/:x & n=40' % another test; not requiring reification
], 'Test cardinality reification propagates through check_finite_card.').
cli_testcase(1625, [cbc,card], [
'-evalt', 'i=2..x & card(i):10..9122110 & x > 9121000'], 'Check card of interval propagates').
cli_testcase(1626, [cbc,records,card], [
'-evalt', '{v|v:0..5 & card({x,y|x|->y:{(2,2),(2,4)} & x+y>v}):2..3}=0..3',
'-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)}'
], 'A few card tests; test reification involving records').
cli_testcase(1627, [cbc,card], [
'-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
'-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',
'-evalt', 's=1..20 & x: s-->BOOL & card({t|t|->TRUE:x}):18..19',
'-evalt', 's=1..20 & x: s-->BOOL & card({t|t|->FALSE:x}):18..19',
'-evalt', 's=1..130 & x: s-->BOOL & card({t|t|->TRUE:x}):128..129',
'-evalt', 's=1..258 & x: s-->BOOL & card({t|t|->FALSE:x})=card({t|t|->TRUE:x})',
'-evalt', 's:1..n --> 1..n & card({x|x|->x:s})=n & n=50',
'-evalt', 'card({s,n|s:1..n --> 1..n & card({x|x|->x:s})=n & n=50})=1', % non-linear pattern
'-evalt', 's: 1..20 --> (BOOL*(1..20)) & card({x|x|->(TRUE|->x):s})=10 & card({x|x|->(FALSE|->x):s})=10',
'-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
'-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
], 'Check card propagates without need for t:1..20 constraint').
cli_testcase(1628, [cbc,tickets,card], [
'-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',
% {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)))) }
'-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)})'
], 'A variation of test 34; computing all solutions').
cli_testcase(1629, [cbc,queens,card],
['../prob_examples/public_examples/B/Tickets/CardReify1/MaxQueensNoCheck_v5.mch',
'-t', '-mc', 10], 'Check reification of card works with dom of total function').
cli_testcase(1630, [cbc,card], [
'-evalt', 'f:1..20 >->> 1..20 & card({i|i:1..20 & f~(i)=i})=4', %this also worked before
'-evalt', 'f:1..20 >->> 1..20 & card({i|i:ran(f) & f~(i)=i})=4'
], 'Check reification of card with range').
cli_testcase(1631, [cbc,card], ['../prob_examples/public_examples/B/Puzzles/Queens/NBishopsSets.mch',
'-p', 'TIME_OUT', 25000, % got slower between 1.9.0 and 1.9.1 (commit 943d37585be8eeac46c93705d51c2392fde0fda3)
% got slower again with e1c23513051449cc13b0767394959b4c485e306f ,but _v2 of model is faster
'-init'], 'See that ProB can solve this puzzle').
cli_testcase(1632, [cbc,while], ['../prob_examples/public_examples/B/Tickets/Hansen23_WhilePerformance/WhileSlow_CartProduct.mch', '-t',
'-p', 'TIME_OUT', 15000 ], % increased time-out for jenkins
'See that performance of while loop with IF with existential quantifier is ok').
cli_testcase(1633, [kodkod], [ '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
'-evalf', ':kodkod args<:{1,2,3,4} & x:args & x<2 & x/=1',
'-evalf', ':kodkod 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),
'-evalt', ':kodkod 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)
% '-evalf', ':kodkod args={1,2,3} & atts : args <-> args & dom(atts) = args & x = card(atts)&x < 2' %% TO DO: fix KODKOD
], 'check kodkod integer ranges are correctly computed, prevent regression').
cli_testcase(1634, [b_test,external], [
'../prob_examples/public_examples/B/ExternalFunctions/MAXIMIZE_Test.mch',
'../prob_examples/public_examples/B/Puzzles/Queens/MaxQueensNoCheck_MAXIMIZE.mch',
'../prob_examples/public_examples/B/Mathematical/Argumentation/Example3_MAXIMIZE.mch',
'-assertions'],
'Check MAXIMIZE external function').
cli_testcase(1635, [private,tickets,codespeed,data_validation], ['../prob_examples/examples/B/Alstom/DataValidationProject/Tickets/Burdy3/Rule_DB_General_0006.mch', '-t',
%'-p','SHOW_EVENTB_ANY_VALUES','TRUE', '-p', 'MAX_OPERATIONS', 1000,
'-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647, '-p', 'TIME_OUT', 5000, '-p','CLPFD', 'TRUE'
],
'Codespeed test; test that cartesian product / concat_sequence performance issue fixed'). % AlstomBurdy_Rule6_CLP
cli_testcase(1636, [b_test,tickets,wd,private,data_validation], [
'../prob_examples/examples/B/ClearSy/GeneralElectric_DV/Ticket_Coudour1/rule.mch',
'-expcterr', well_definedness_error,
'-mc', 10, '-nodead'],
'Check WD error found').
cli_testcase(1637, [b_test,tickets,private,data_validation], [
'../prob_examples/examples/B/ClearSy/GeneralElectric_DV/Ticket_Coudour2/fonction_totale.mch',
'-t', '-expcterr', setup_constants_inconsistent,
'-properties', '-expcterr', check_properties],
'Check partial setup constants possible despite inconsistency').
cli_testcase(1638, [b_test,tickets,private,data_validation], [
'../prob_examples/examples/B/ClearSy/GeneralElectric_DV/Ticket_Coudour2/fonction_totale_v2.mch',
'-animate_all', '-expcterr', setup_constants_fails,
'-opterr', 'setup_constants_inconsistent'], % we now also generate this msg when not all csts are found deterministically
'Check inconsistent properties detected by animate_all').
cli_testcase(1639, [b_test], ['-check_java_version'], 'Check check_java_version works').
cli_testcase(1640, [tickets], ['-evalt', '{}/:STRING --> BOOL',
'-evalt', '{"ab"|->TRUE }/:STRING --> BOOL',
'-evalt', '{"ab"|->TRUE,"ab"|->FALSE }/:STRING --> BOOL',
'-evalt', 'not({TRUE|->"STRING2"} : BOOL >+>> STRING)',
'-evalt', 'not({TRUE|->"STRING2"} : BOOL +->> STRING)'
], 'Check bug in not_total_function fixed').
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.').
cli_testcase(1642, [private,tickets,operation_reuse,data_validation], [
'../prob_examples/examples/B/ClearSy/GeneralElectric_DV/Ticket_Coudour3/rule1.mch',
'-t', '-p', 'OPERATION_REUSE', 'TRUE',
'-expcterr', invariant_violation],
'Check operation reuse problem fixed').
cli_testcase(1643, [b_test,operation_reuse], ['../prob_examples/public_examples/B/Benchmarks/CSM.mch', '-mc', '1000', '-strict',
'-p', 'OPERATION_REUSE', 'TRUE','-check_complete', '-cc', '341', '1229'], 'Test 13 with operation reuse').
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',
'-p', 'OPERATION_REUSE', 'TRUE', '-p', 'DEFAULT_SETSIZE', '3', '-p', 'SYMMETRY_MODE', 'off', '-strict'], 'Test 73 with operation reuse').
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').
cli_testcase(1646, [cbc,operation_reuse,hash], ['../prob_examples/public_examples/B/Tickets/FiveWayTraffic/FiveWay_new_mch.eventb',
'-mc', 1000, '-strict','-p', 'OPERATION_REUSE', 'TRUE','-cc', '29', '65',
'--hash64', 1088314065090582434 % used to be 591402958158885188 % used to be 971801032035978952 until 9 Sep 2021 after changes to state_packing
], 'Test 1532 with operation reuse.').
cli_testcase(1647, [b_test,csp_test,pge,cspb],['../prob_examples/public_examples/CSPB/Williams/ME.mch', '-csp-guide', '../prob_examples/public_examples/CSPB/Williams/ME.csp', '-mc', 10000, '-p', 'pge', disabled, '-strict'],'Testing PGE optimisation for (ME.mch||ME.csp).').
cli_testcase(1648, [b_test,csp_test,pge,cspb],['../prob_examples/public_examples/CSPB/Ivo/verysimple.mch', '-csp-guide', '../prob_examples/public_examples/CSPB/Ivo/verysimple.csp', '-mc', 10000, '-bf', '-p', 'pge', disabled, '-expcterr', deadlock, '-strict'],'Finding the deadlock because of the impossibility to execute the b operation (verysimple.mch||verysimple.csp).').
cli_testcase(1649, [cbc,card], [
'-evalf', 'occupies : Pigeons >-> Holes & Pigeons=1..100 & Holes=1..99',
'-evalt', 'occupies : Pigeons >-> Holes & Pigeons=2..100 & Holes=1..99',
'-evalt', 'id(NATURAL) : NATURAL >-> NATURAL', % also check infinite functions work
'-evalt', 'id(NATURAL1) : NATURAL1 >-> NATURAL1', % also check infinite functions work
'-evalt', 'id(NATURAL1) : NATURAL1 >-> NATURAL',
'-evalf', 'id(NATURAL1) : NATURAL >-> NATURAL',
'-evalf', 'id(NATURAL) : NATURAL1 >-> NATURAL',
'-evalf', 'id(NATURAL) : NATURAL >-> NATURAL1',
'-evalt', 'id(NATURAL1) /: NATURAL >-> NATURAL'
], 'Ensure card. check for total_injection works').
cli_testcase(1650, [parser,tickets], [
'../prob_examples/public_examples/B/Tester/SyntaxErrors/MissingSemicolon.mch',
'-expcterrpos', parse_error, 13, 2, '-expcterr', 'load_main_file'],
'Check parser correctly reports syntax error and position').
cli_testcase(1651, [b_test,execute], ['../prob_examples/public_examples/B/Simple/UpCounter.mch', '-init','-execute_all',
'-animate_stats', '-strict', '-goal', 'c=20', '-p', 'MAXINT', '20'], 'Check -execute_all.').
cli_testcase(1652, [parser,tickets], [
'-eval', '2>1 & & 3>2',
'-expcterrpos', parse_machine_predicate_error, 1, 6 ],
'Check parser correctly reports syntax error and position for eval').
cli_testcase(1653, [b_test,tickets,hash], [
'../prob_examples/public_examples/B/Tester/SelectMultipleTrueCases.mch',
'-t', '-mc', 100, '-nogoal', '-cc', 4, 10, '--hash64', 357695998652715541 ],
'Select with multiple true branches dealt with').
cli_testcase(1654, [parser,tickets], [
'../prob_examples/public_examples/B/Tickets/PARSERLIB-44/BinPacking_UnicodeMinus.mch',
'-init' ],
'Check parser correctly parses unicode minus used for --> (PARSERLIB-44)').
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.').
cli_testcase(1656, [tickets,records,private], ['../prob_examples/examples/B/Tickets/record_projection_bugly.mch', '-assertions'], 'Check performance.').
cli_testcase(1657, [eventb_test,tickets,private], [
'../prob_examples/examples/EventBPrologPackages/Advance_WP2/v5_Aug2014/ex_mch.eventb',
'-t' ],
'Check COMMS__ComputeLeastCostRoutes efficient (avoiding re-calculation of same assignment; see PROB-351)').
cli_testcase(1658, [parser,tickets], [
'../prob_examples/public_examples/B/Tickets/Hansen25_OpNamingWarning/Naming_VAR.mch',
'-expcterrpos', type_error, 5, 6
],
'Check type checker reports id clash in VAR').
cli_testcase(1659, [parser,tickets], [
'-eval', ' 2 = TRUE',
'-expcterrpos', type_expression_error, 1, 7 ],
'Check type checker correctly reports error and position in eval').
cli_testcase(1660, [parser,tickets], [
'../prob_examples/public_examples/B/Tickets/Hansen25_OpNamingWarning/ReadingUninitialisedVar.mch', '-animate', 10,
'-expcterrpos', reading_undefined_variable, 6, 12 , '-nodead' ],
'Check interpreter reports unitialised var and that -nodead works for -animate').
cli_testcase(1661, [eventb_test,tickets,private], [
'../prob_examples/examples/EventBPrologPackages/Advance_WP2/v5_Aug2014/ex_mch.eventb',
'-mc', 10 , '-opterr', 'time_out_for_assertions', % not raised anymore 26.2.2021, see test 2087
'-expcterr', 'model_check_incomplete'],
'Check that virtual-time_out in assertion checking caught (or not raised)').
cli_testcase(1662, [b_test,csp_test,cspb], ['../prob_examples/public_examples/CSPB/FeatureTests/AssertionViolation.mch',
'-csp-guide', '../prob_examples/public_examples/CSPB/FeatureTests/AssertionViolation.csp',
'-mc', '1000', '-expcterr', assertion_violation, '-nodead'], 'Test that static assertion violation found').
cli_testcase(1663, [b_test,csp_test,cspb], ['../prob_examples/public_examples/CSPB/FeatureTests/AssertionViolationDynamic.mch',
'-csp-guide', '../prob_examples/public_examples/CSPB/FeatureTests/AssertionViolationDynamic.csp',
'-mc', '1000', '-expcterr', assertion_violation], 'Test that dynamic assertion violation found').
cli_testcase(1664, [b_test,csp_test,cspb], ['../prob_examples/public_examples/CSPB/FeatureTests/AssertionViolationDynamic.mch',
'-csp-guide', '../prob_examples/public_examples/CSPB/FeatureTests/AssertionViolationDynamicShort.csp',
'-mc', '1000', '-nodead'], 'Test that no dynamic assertion violation found').
cli_testcase(1666, [kodkod,tickets,random], [
'../prob_examples/public_examples/B/Tickets/BendispostoTutoren/tuts_cando_only.mch', '-init', '-assertions',
'-p', 'RANDOMISE_ENUMERATION_ORDER', 'TRUE', '-p', 'SOLVER_FOR_PROPERTIES', 'kodkod', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE' ],
'Check that Randomise Enumeration order and Kodkod work together').
cli_testcase(1667, [cbc,tickets,kodkod,random], [
'../prob_examples/public_examples/B/Tickets/BendispostoTutoren/tuts_working.mch', '-init', '-assertions',
'-p', 'RANDOMISE_ENUMERATION_ORDER', 'TRUE', '-p', 'SOLVER_FOR_PROPERTIES', 'kodkod', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE' ],
'Check that Randomise Enumeration order and Kodkod work together').
cli_testcase(1668, [cbc,random], [
'../prob_examples/public_examples/B/Tickets/BendispostoTutoren/tuts_working.mch', '-init', '-assertions',
'-p', 'RANDOMISE_ENUMERATION_ORDER', 'TRUE', '-p', 'KODKOD', 'FALSE' ],
'Check that Randomise Enumeration order and Kodkod work together').
cli_testcase(1669, [tickets,cbc,card], ['-p', 'MAXINT', 3,
'-evalt', 'card(perm(NAT))=24',
'-evalt', 'perm(NAT) /= {}',
'-evalf', 'perm(NAT) = {}',
'-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]}',
'-evalt', 'perm(NAT) = perm(0..MAXINT)',
'-evalt', 'perm(NAT1) = perm(1..MAXINT)',
'-evalt', 'card(perm(INT))=120',
'-evalt', 'card(iseq(NAT)) = 65'
],
'Check that perm(NAT)={} bug fixed').
cli_testcase(1670, [b_test], ['-t', '-expcterr', trace_checking_fails,
'../prob_examples/public_examples/B/FeatureChecks/DEFINITIONS/SETPREF.mch', '-p', 'MAXINT', '22', '-card', 'ID', '2'], 'check trace checking fails').
cli_testcase(1671, [tickets, parser], ['-t', '--model-check',
'../prob_examples/public_examples/B/FeatureChecks/DollarSymbol/ValidMachines/AssignByPredicateWithDEFTransitive.mch',
'../prob_examples/public_examples/B/FeatureChecks/DollarSymbol/ValidMachines/AssignByPredicateWithDEF.mch'],
'check $0 can be used within definitions (PARSERLIB-47)').
cli_testcase(1672, [tickets, parser], [
'../prob_examples/public_examples/B/FeatureChecks/DollarSymbol/ErrorMachines/DollarInInvariant.mch',
'-expcterrpos', type_error, 2, 21, '-expcterr', load_main_file],
'check $0 cannot be used in invariant (PARSERLIB-47)').
cli_testcase(1673, [tickets, parser], [
'../prob_examples/public_examples/B/ErrorMachines/IllegalSeesIncludes/CyclicM1.mch',
'-expcterr', parse_error, '-expcterr', load_main_file],
'check cyclic sees detected and does not lead to parser exception').
cli_testcase(1674, [pragmas, parser], ['-init',
'../prob_examples/public_examples/B/Pragmas/FilePragma.mch',
'../prob_examples/public_examples/B/Pragmas/Files2/FilePragma2.mch'],
'check @file "Path" pragma works').
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').
cli_testcase(1676, [b_test,mcm_tests,private], ['../prob_examples/examples/EventBPrologPackages/Soton/MCM_Tests/FENCEM7_mch.eventb',
'-mcm_tests', '10', '4000', '1=1',
'../prob_examples/examples/EventBPrologPackages/Soton/MCM_Tests/tests.xml',
'-mcm_cover', 'IssueLoad IssueStore ObserveLoadAfterStore',
'-p', 'INTERNAL_ARGUMENT_PREFIX', 'p',
'-strict'],'State based test generation with internal operation arguments').
cli_testcase(1677, [tickets,while], [
'../prob_examples/public_examples/B/Tickets/PROB-412/WhileVariantNotDecreased.mch', '-animate', 10,
'-expcterr', animate, '-expcterrpos', while_variant_error, 24, 16 ],
'Check variant not decreasing error found and position ok (PROB-412)').
cli_testcase(1678, [while,tickets], [
'../prob_examples/public_examples/B/Tickets/Hansen24_WhileSeesBug/While.mch',
'../prob_examples/public_examples/B/Tickets/Hansen24_WhileSeesBug/Runner.mch',
'-t', '-mc', 1000 ],
'Check bug with while loop compilation because of incorrect read/modifies info (not renamed) fixed').
cli_testcase(1679, [b_test], [
'../prob_examples/public_examples/B/Tester/ParityFunction.mch',
'../prob_examples/public_examples/B/Mathematical/Sieve_WithMin.mch',
'../prob_examples/public_examples/B/Benchmarks/Chapter13/Booksrr.ref',
'../prob_examples/public_examples/B/Benchmarks/Chapter_10/Safes.mch',
'-t'],
'A few trace tests from the Tcl/Tk Regression Test suite').
cli_testcase(1680, [b_test,private], [
'../prob_examples/examples/B/Siemens/TestString.mch',
'-expcterr', 'virtual_time_out',
'-t'],
'A few trace tests from the Tcl/Tk Regression Test suite').
cli_testcase(1681, [b_test,private,exists], [
'../prob_examples/examples/B/ClearSy/control/M1.ref',
%'../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".
'-t'],
'Check no exists body warning').
cli_testcase(1682, [tickets,private,data_validation], [
'../prob_examples/examples/B/Alstom/ssp/tms_ssp_0004.mch',
'-t'],
'Check no time-out').
cli_testcase(1683, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '(A=TRUE) <=> (X:Y..Z) & Y:1..10 & Z:0..2 & X >12 & (A=FALSE => X:15..16)'
], 'check interval reification').
cli_testcase(1684, [cbc], [ '-p', 'CLPFD', 'FALSE', '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '(A=TRUE) <=> (X:Y..Z) & Y:1..10 & Z:0..2 & X >12 & (A=FALSE => X:15..16)'
], 'check interval reification').
cli_testcase(1685, [cbc], [
'-evalt', 'NATURAL1 : x & (x = { {22}, {33}} or x={ NATURAL1 })',
'-evalf', 'NATURAL1 : x & x = { {22}, {33}}',
'-evalt', '{x|x>30 & x mod 3 =0} /\\ {x|x<50 & x mod 2 =0} = {36,42,48}'
], 'a few checks').
cli_testcase(1686, [cbc,laws,finite], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'x:FIN(x) & x=POW(POW(1..9))',
'-evalf', 'x/:FIN(x) & x=POW(POW(1..9))',
'-evalt', 'x:FIN(x) & x=FIN(POW(1..10))',
'-evalt', 'x:FIN(x) & x=POW(POW(1..10))',
'-evalf', 'x/:FIN(x) & x=POW(POW(1..10))',
'-evalt', 'x:FIN(x) & x=POW(POW(POW(1..10)))',
'-evalf', 'x:FIN(x) & x=POW(POW(POW(NATURAL1)))',
'-evalt', 'x/:FIN(x) & x=POW(POW(POW(NATURAL1)))',
'-evalf', 'x:FIN(x) & x=FIN(POW(POW(NATURAL1)))',
'-evalt', 'x/:FIN(x) & x=FIN(POW(POW(NATURAL1)))',
'-evalf', 'x:FIN(x) & x=FIN(INTEGER)',
'-evalt', 'x/:FIN(x) & x=FIN(INTEGER)',
'-evalt', 'x/:FIN(x) & x=POW(INTEGER)',
'-evalf', 'x:FIN(x) & x = %x.(x:NATURAL1|1)',
'-evalt', 'x:FIN(x) & x = %x.(x:POW(POW(1..11))|1)',
% '-evalt', 'x/:FIN(x) & x = %x.(x:POW(POW(1..11))|1)', % computes x, time-out
'-evalt', 'x:FIN(x) & x = (3..2)*INTEGER',
'-evalt', 'x:FIN(x) & x = INTEGER*(3..2)',
'-evalf', 'x:FIN(x) & x = INTEGER*(2..3)',
'-evalt', 'x:FIN(x) & x = POW(POW(1..10))*(2..3)',
'-evalt', 'x:FIN(x) & x = POW(POW(1..11))*(2..3)',
'-evalt', 'x:FIN(x) & x = POW(POW(1..11))*{2,4}',
'-evalt', 'x:FIN(x) & x = POW(POW(1..11))*(4..3)',
'-evalt', 'x:FIN(x) & x = NATURAL1*(4..3)',
'-evalf', 'x:FIN(x) & x = NATURAL1*{2,4}',
'-evalf', 'x:FIN(x) & x = (1..2)*NATURAL1',
'-evalf', 'x:FIN(x) & x = INTEGER*NATURAL1',
'-evalt', 'x:FIN(x) & x=iseq(1..10)',
'-evalf', 'x:FIN(x) & x=iseq(NATURAL)',
'-evalt', 'x:FIN(x) & x=perm(POW(1..9))',
'-evalf', 'x:FIN(x) & x= {x|x : INTEGER & x < 3}',
'-evalt', 'x:FIN(x) & x=iseq(POW(POW(1..11)))',
'-evalt', 'x:FIN(x) & x=iseq1(POW(POW(1..11)))',
'-evalf', 'x:FIN(x) & x=seq(POW(POW(1..11)))',
'-evalf', 'x:FIN(x) & x=seq1(POW(POW(1..11)))',
'-evalt', 'x:FIN(x) & x=seq(4..3)',
'-evalt', 'x:FIN(x) & x=seq1(4..3)',
'-evalt', 'x:FIN(x) & x=id(POW(POW(1..11)))',
'-evalf', 'x:FIN(x) & x=perm(NATURAL)',
'-evalt', 'x:FIN(x) & x=perm(POW(POW(1..11)))',
'-evalf', 'x/:FIN(x) & x=perm(POW(POW(1..11)))',
'-evalt', '{z|z:seq(BOOL) & size(z)<=0} = {[]}'
], 'a few checks about finite').
cli_testcase(1687, [tickets,parser], [
'../prob_examples/public_examples/B/Tickets/Hansen27_NestedMchErr/M1.mch',
'-expcterr', load_main_file, '-expcterrpos', parse_error, 2, 5 ],
'Check error found and position ok').
cli_testcase(1688, [cbc,laws,finite], [ '-p', 'DISPROVER_MODE', 'TRUE',
'-evalf', 'x/:FIN(x) & x=(POW(1..11) +-> POW(1..9))',
'-evalt', 'x:FIN(x) & x=(POW(1..11) +-> POW(1..9))',
'-evalt', 'x:FIN(x) & x=perm(POW(1..9))',
'-evalt', '{b|x:FIN(x) <=> b=TRUE}=bb & x = %x.(x:POW(POW(1..200)*POW(1..300))|card(x)) & bb={TRUE}',
'-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}',
'-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}'
% '-expcterr', 'eval_string_enum_warning'
], 'a few checks about finite').
cli_testcase(1689, [tickets,kodkod], [
'-evalf', ':kodkod args={1,2,3} & atts : args <-> args & dom(atts) = args & x = card(atts)&x < 2',
'-opterr', 'kodkod_fail'
], 'check card interval analysis bug fixed (PROB-411)').
cli_testcase(1690, [tickets], [
'../prob_examples/public_examples/B/Tickets/Hansen21_Sees/AllGroups.mch',
'-t', '-mc', 100, '-bf',
'-expcterr', 'invariant_violation'
], 'check sees bug remains fixed').
cli_testcase(1691, [tickets,records], [
'../prob_examples/public_examples/B/Tickets/RecordPartiallyTyped/Knowledge_loop.mch',
'-init',
'-expcterrpos', 'type_expression_error', 17, 45
], 'check that record type bug fixed, no type generated: record([field(a,b)|any])').
cli_testcase(1692, [tickets,quantified,union], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'UNION(i).(i:1..2|{i|->i}) ^ UNION(j).(j:1..3|{j|->j}) = [1,2,1,2,3]',
'-evalt', 'UNION(i).(i:1..2|{i|->i}) ^ {} = [1,2]',
'-evalf', 'UNION(i).(i:1..2|{i|->i}) ^ UNION(j).(j:1..3|{j|->j}) = [1,2,3,4,5]'
], 'ensure both UNIONs are translated').
cli_testcase(1693, [tickets,let], [
'-eval', 'i = 20 & (LET i BE i= i+1 IN i END) =res',
'-expcterr', type_expression_error
], 'ensure error in nested LET expression detected').
cli_testcase(1694, [tickets,error_checks,let], [
'-eval', '(LET i,j BE i=i+10 & j=i+20 IN i+j END)',
'-expcterr', type_expression_error,
'-expcterr', eval_string
], 'ensure error in nested LET expression detected').
cli_testcase(1695, [tickets,error_checks,let], [
'-eval', '(LET i,j BE j=i+20 & i=10 IN i+j END)',
'-expcterr', type_expression_error,
'-expcterr', eval_string
], 'ensure error in nested LET expression detected').
cli_testcase(1696, [tickets,let], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'i=1 & r=LET i BE i=10 IN LET j BE j=i+20 IN i+j END END & r=40',
% '-evalt', 'k = 1..n & n:2..3 & (LET i,j BE i={10}\\/k & j= i \\/ i IN res=i \\/ j END)',
% '-evalt', '(LET i,j BE i=10 & j=i+20 IN i+j END) =40',
'-evalt', 'i = 100 & (LET i,j BE i={10} & j= 20 IN (LET j BE j=i \\/ i IN i \\/ j END) END) = {10}',
'-evalt', 'x=1 & y=2 & #(x,y).(x=30 & y=x+x & res=y+x) & res=90'
], 'ensure nested LET predicate and expression work').
cli_testcase(1697, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '{y,n|{x|x:1..n} = {y}} = {1|->1}',
'-evalt', 'x:{y|y>0 & y mod 100 = 0} & x:{z|z<1000 & z mod 500 = 0}',
'-evalt', '{x|x:1..n} = {y}'
], 'check improved set comprehension propagation').
cli_testcase(1698, [cbc], [
'-evalt', 'x:c1 & c1={y|y>0 & y mod 100 = 0} & x:c2 & c2= {z|z<1000 & z mod 500 = 0}',
% these now did not work before:
'-evalt', 'p = {x|x>100 & x<n & x mod 2 =0} & p = {102,104}',
'-evalt', 'p = {x|x>100 & x<n & x mod 2 =0} & p = {102,104,106,108}',
'-evalt', 'p = {x|x>100 & x<n & x mod 2 =0} & p = {102,104,106,108} & n=110',
'-evalf', 'p = {x|x>100 & x<n & x mod 2 =0} & p = {102,104,106,108,113}'
% '-evalf', 'p = {x|x>100 & x
% '-evalt', 'p = {x|x>100 & x
], 'check improved set comprehension propagation').
cli_testcase(1699, [private,csp_test,cspb,hash], ['../prob_examples/examples/CSPB/Treharne/CSPB-SwanseaPlanModel/Interlocking.mch',
'-csp-guide', '../prob_examples/examples/CSPB/Treharne/CSPB-SwanseaPlanModel/Ctrl.csp',
'-mc', '40', '-bf', '-cc', 148, 687,
'--hash64', 418094361645960853, % 197635050763058334, % used to be 537894344680006343, % used to be 838177507379154842 until Sep 9th 2021
'-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
cli_testcase(1700, [private,csp_test,hash], ['../prob_examples/public_examples/B/Ivo/BenchmarksFairness/ProB/DPhil/dphil_ltl6.csp',
'-mc', '3000', '-bf', '-cc', 1764, 7125, '--hash64', 419761536083491376], 'Test Dining Philosophers state space (CSP normalisation)').
cli_testcase(1701, [csp_test,cspb,hash], ['../prob_examples/public_examples/CSPB/Counter.mch',
'-csp-guide', '../prob_examples/public_examples/CSPB/Counter.csp',
'-mc', '40', '-bf', '-cc', 15, 15, '--hash64', 987057609118852348], 'Test CSP||B model').
cli_testcase(1702,[cbc,enabling],[
'-enabling_analysis_csv','../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_enabling_analysis.csv',
'../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch',
'-p', 'TIME_OUT', 5000
], 'Check CSV output of Cruise Control').
cli_testcase(1703,[cbc,enabling],[
'-enabling_analysis_csv','../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.eventb',
'-p', 'TIME_OUT', 5000,
'-expcterr', well_definedness_error % added 28/5/2018, T2ReleaseBus -> Update, was previously not detected
], 'Check CSV output of CAN Bus Control').
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').
cli_testcase(1705, [tla,tlc], ['../prob_examples/public_examples/EventBPrologPackages/Tickets/ExportClassicalB/TestLeftAsVar_mch.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Tickets/Tester/UseBKeywords.eventb', '-mc_with_tlc'], 'check TLC for Event-B model with classical B keywords').
cli_testcase(1706, [b_test, infinite,total_function], [
'-evalt', 'f : NATURAL --> STRING',
'-evalt', 'f : NATURAL --> POW(INTEGER)',
'-evalt', 'f : STRING --> {11,22,33} & f("abc")>22 & f("xyz") < 22',
'-evalt', 'f : STRING --> STRING & f("abc")="ABC" & f("xyz") = "XYZ"'
], 'Ensure symbolic treatment of (infinite) total functions with complicated range types.').
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,
'-p', 'OPERATION_REUSE', 'TRUE',
'-check_op_cache_stats', 663, 296, 26, 25], 'Complete Model Check of Cruise Controller'). % 17.9.2021: adapted hash from 203058745203935766 for sorted order of variable
cli_testcase(1708, [private,tickets,operation_reuse,operation_reuse_full,data_validation], [
'../prob_examples/examples/B/ClearSy/GeneralElectric_DV/Ticket_Coudour3/rule1.mch',
'-t', '-p', 'OPERATION_REUSE', 'full',
'-p', 'TIME_OUT', '9000', % try and fix performance issue on Gitlab windows runner
'-expcterr', invariant_violation],
'Check operation reuse problem fixed').
cli_testcase(1709, [b_test,operation_reuse,operation_reuse_full], ['../prob_examples/public_examples/B/Benchmarks/CSM.mch', '-mc', '1000', '-strict',
'-p', 'OPERATION_REUSE', 'full','-check_complete', '-cc', '341', '1229'], 'Test 13 with operation reuse').
cli_testcase(1710, [cbc], [
'-evalt', 'x = {1|->2, 2|->3, 3|->4} & r={y|(y,3):x} & r={2}',
'-evalt', 'x = {1|->2, 2|->3, 3|->4, 22|->3} & r={y|(y,3):x} & r={2,22}',
'-evalt', 'x = {1|->2, 2|->3, 3|->4} & r={y|(y,5):x} & r={}'
], 'Test new compilation of set membership.').
cli_testcase(1711, [tickets], ['../prob_examples/public_examples/B/ErrorMachines/ParseErrors/DefinitionInQuantifier2.mch',
'-expcterrpos', type_error, 16, 18,
'-expcterrpos', bmachine_construction, 12, 1, '-expcterr', 'load_main_file'
], 'Check illegal DEFINITION args detected').
cli_testcase(1712, [b_test], ['../prob_examples/public_examples/B/Tester/DefGoal.mch',
'-execute_all', '-nogoal', '-check_goal'
], 'Check -check_goal works with -execute_all').
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.').
cli_testcase(1714, [cbc, clpfd_tables], [
'-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
'-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
'-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)}'
], 'Test new clpfd_table module.'). % tests also pass with prior version of ProB
cli_testcase(1715, [tickets,codespeed,data_validation], [
'../prob_examples/examples/B/Alstom/Boucles_Jul11/essai2_boucle1.mch',
'-t', '-strict',
'-expcterr', 'invariant_violation',
'-p', 'MAXINT', 10000000, '-p', 'MININT', -10000000, '-p', 'TIME_OUT', 14000], % increased from 8000 for windows jenkins jobs
'Test performance (codespeed test Alstom_essai2_boucle1) + tests watched-literal function application').
cli_testcase(1716, [tickets,slot,clpfd_tables], ['../prob_examples/public_examples/B/Tickets/SLOT-PERFORMANCE6_no_print/Solver_v2.mch',
'-p', 'TIME_OUT', 75000, % increased time-out for Gitlab Windows runner from 25000 on Feb 9th 2020
'-init', % '-v', % generates non-ground closure warnings
'-evalt', 'CHECK({"BK-GER-H-2013"}, cmcc, choiceUnits, choiceGroups)', % this worked before
'-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
'-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
% '-evalt', 'CHECK({"BK-GES-H-2013"}, cmcc, choiceUnits, choiceGroups)' % does not yet work
], 'Ensure no time-out and that new element/3 constraint for function application and table constraint work').
cli_testcase(1717, [cbc,clpfd_tables], [
'-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',
'-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',
'-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',
'-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',
'-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'
], 'Exercise new element/3 function application treatment').
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').
cli_testcase(1719, [smt_solver_integration], [
'-p','SMT_SUPPORTED_INTERPRETER','TRUE',
'-evalt', 'x = 1',
'-evalf', 'x = 1 & x > 2',
'-evalf', 'x:INTEGER & x>y & y>x',
'-evalt', 'r:struct(f1:11..20,f2:12..30) & r\'f1+10 = r\'f2',
'-evalf', 'r:struct(f1:11..20,f2:12..20) & r\'f1+10 = r\'f2',
'-evalt', 'r:struct(f1:11..20,f2:12..30) & r\'f1+10 = r\'f2 & s:struct(f1:15..20,f2:1..100) & s=r',
'-evalt', 'v1:struct(lderb:{TRUE},mspue:{FALSE},fhhxr:{TRUE})',
'-evalf', 'x>0 & x+2 <= p & x=p',
% '-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
'-evalt', '{x} <: {999}',
'-evalt', '{x} <: {999,1000} & x > 999',
'-evalt', 'x = {1,2} /\\ {3,4}',
'-evalt', 'x = {(1,2),(3,4),(4,5),(6,7),(8,9)} & y|->v : x & y|->w : x',
'-evalt', 'x : {1,2} --> NAT',
'-evalf', 'x : {1,2} --> NAT & x = {(1,1)}',
'-evalt', 'x : {1,2} --> NAT & x = {(1,1),(2,1)}',
'-evalf', 's = min({1}) & s=2',
'-evalf', 's = min({1,2}) & s>2',
'-evalt', 'x = %i.(i:1..10|i+i) & x[{j}]={8}',
'-evalt', 'x = %i.(i:1..10|i+i) & x[{5,j}]={16,10}',
'-evalf', 'x = %i.(i:1..10|i+i) & x[{5,j}]={16,11}',
'-evalt', 'x:1..10 & #y.(y:1..10 & y>x) & #y.(y:1..10 & y<x)'
], 'some constraints that should be solved by the integrated ProB / SMT solver').
cli_testcase(1720, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '{x|x:1..n} = {y,y+1}',
'-evalt', '1..n = {y,y+1}',
'-evalt', '1..n = r & r={y,y+1}',
'-evalt', '{n,y|#r.(1001..n = r & r={y,y+1})} = {(1002,1001)}',
'-evalf', '1001..n = r & r={y,y+2}',
'-evalt', '1001..n = {y,y+2,y+1} & n<20000' % TO DO: get rid of necessity for n<20000
], 'test improved constraint propagation for in_interval and frozen_dif').
cli_testcase(1721, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalf', 'X:INTEGER & X*Y /= X*Y2 & Y2=Y',
'-evalf', 'X:INTEGER & X+Y /= Y2+X & Y2=Y'
], 'test improved clpfd_neq_expr').
cli_testcase(1722, [cbc,cse], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'CSE', 'TRUE',
'-evalf', 'not(#(x,y,z).((x+1)*y = 1000 & (x+1)*z=y & z=(x+1) ))', % already worked before
'-evalt', 'not(#(x,y,z).((x+1)*y = 1001 & (x+1)*z=y & z=(x+1) ))', % already worked before
'-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))',
'-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)))',
'-evalf', '#(X,Y,Z).(X:INTEGER & #(Z1,Z2,Z3,Z4).(X*Y=Z1 & Z1*Z = Z2 & Z*X = Z3 & Z3*Y = Z4 & Z2 /= Z4))'
], 'test single usage identifier inlining').
cli_testcase(1723, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalf', 'X:INTEGER & Y*X /= X*Y2 & Y2=Y',
'-evalf', 'X:INTEGER & X*Y*(Z+V) /= (V+Z)*X*Y',
'-evalf', 'X:INTEGER & X+Y+(Z*V) /= (V*Z)+X+Y',
'-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))',
'-evalf', 'x:INTEGER & (x-(x+a*b)) /= (y-(b*a+x)) & y=x', % added later
'-evalf', 'x:INTEGER & (-(x+a*b)) /= (-(b*a+y)) & y=x' % added later
], 'test improved commutativity detection in clpfd_neq_expr').
cli_testcase(1724, [tickets], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-execute_all', '-check_goal',
'../prob_examples/public_examples/B/Tester/CheckGoal.mch'],'test check_goal with executed_all').
cli_testcase(1725, [tickets, b_test], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-assertions', '-init',
'../prob_examples/public_examples/B/Tester/Visibility/M2_xx.mch'],'test visibility in assertions clause').
cli_testcase(1726, [b_test,external,xml], ['../prob_examples/public_examples/B/ExternalFunctions/XML_Reader.mch', '-t', '-assertions',
'-evalt', 'READ_XML_FROM_STRING("hallo
") = [rec(attributes:{},element:"h3",meta:{("xmlLineNumber"|->"1")},pId:0,recId:1), rec(attributes:{("text"|->"hallo")},element:"CText",meta:{("xmlLineNumber"|-> "1")},pId:1,recId:2)]',
'-strict'], 'Check that external function to read XML works.').
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.').
cli_testcase(1728, [error_checks], [ '-strict',
'-expcterrpos', 'bmachine_static_checks', 10, 15,
'../prob_examples/public_examples/B/Tester/InitialisationChecks/IllegalOrderOfInits.mch'],'test detection of illegal initialisations').
cli_testcase(1729, [error_checks], [ '-strict',
'-expcterrpos', 'bmachine_static_checks', 10, 25,
'../prob_examples/public_examples/B/Tester/InitialisationChecks/IllegalParallelInit.mch'],'test detection of illegal initialisations').
cli_testcase(1730, [error_checks], [ '-strict',
'-expcterrpos', 'bmachine_static_checks', 14, 2,
'../prob_examples/public_examples/B/Tester/InitialisationChecks/IllegalChoiceOrderInit.mch'],'test detection of illegal initialisations').
cli_testcase(1731, [cbc,infinite], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE',
'-evalt', 'f=%x.(x:iseq(struct(a:STRING))|x) & f([rec(a:"a")])=[rec(a:"a")]',
'-evalt', 'f=%x.(x:iseq(struct(a:STRING,b:BOOL))|x) & f([rec(a:"a",b:TRUE)])=[rec(a:"a",b:xx)] & xx=TRUE',
'-evalt', 'f=%x.(x:iseq(struct(a:NATURAL,b:BOOL))|x) & f([rec(a:222,b:TRUE)])=[rec(a:222,b:xx)] & xx=TRUE',
'-evalt', 'f=%x.(x:iseq1(struct(a:NATURAL,b:BOOL))|x) & f([rec(a:222,b:TRUE)])=[rec(a:222,b:xx)] & xx=TRUE',
'-evalt', 'f=%x.(x:seq1(struct(a:NATURAL,b:BOOL))|x) & f([rec(a:222,b:TRUE)])=[rec(a:222,b:xx)] & xx=TRUE',
'-evalt', 'f=%x.(x:seq(struct(a:NATURAL,b:BOOL))|x) & f([rec(a:222,b:TRUE)])=[rec(a:222,b:xx)] & xx=TRUE',
'-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',
'-evalf', 'f=%x.(x:iseq(struct(a:STRING))|x) & f([rec(a:"a")])=[rec(a:"b")]'],
'test detection of infinite function without virtual time-outs').
cli_testcase(1732, [tickets], [
'../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.').
cli_testcase(1733, [tickets,execute], [ % '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tickets/Hansen31_VirtualTimeout/VirtualTimeout.mch', '-execute', 1000,
'-animate_stats',
'-expcterr','virtual_time_out_execute'], 'Check that we detect that execute incomplete.').
cli_testcase(1734, [tickets,animate], [ % '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tickets/Hansen31_VirtualTimeout/VirtualTimeout.mch', '-animate', 5,
'-animate_stats',
'-expcterr','virtual_time_out'], 'Check that we detect that execute incomplete.').
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').
cli_testcase(1736, [error_checks,b_test], ['../prob_examples/public_examples/B/Tester/InitialisationChecks/InitIF_Fails.mch', '-init',
%'-expcterrpos', initialisation_fails, 13,17,
'-expcterr', 'initialisation_fails', % we now store the error as a state error with more precise pos 14,23 and
% and the error is also raised in probcli in perform_random_init_after_setup_constants without position info
'-strict'], 'Check INITIALISATION error inside IF located').
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').
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').
cli_testcase(1739, [cbc,private], ['../prob_examples/examples/B/Alloy/req2_v3_not_conj_check.mch',
'../prob_examples/examples/B/Alloy/req2_v3_not_conj_check2.mch', % version with larger CONTEXT set, more difficult
'-t', '-p', 'TIME_OUT', '9500'], 'test not conjunction treatment of kernel').
cli_testcase(1740, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE',
'-evalt', '#x.(x:1..10000 & x mod 22 = 11) or b=TRUE',
'-evalt', '(#x.(x:1..10000 & x mod 22 = 11) or b=TRUE) => b=FALSE',
'-evalt', '(#x.(x:1..10000 & x mod 22 = 22) or b=TRUE) => b=FALSE',
'-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))'
],
'test reification of RHS of disjunction (or)').
cli_testcase(1741, [ctl], ['../prob_examples/public_examples/B/Ivo/CTLIssue.mch', '-ctlformulat', 'AF {x=4}'], 'Testing bug-fix caused by an unnecessary cut.').
cli_testcase(1742, [csp_test], ['../prob_examples/public_examples/CSP/simple/verysimple.csp',
'-ltlformulat', 'GF e(a.red)', '-strict'
], 'Test check should show that verysimple fulfills the LTL formula, which is equivalent to the CTL formula AGAF e(a.red).').
cli_testcase(1743, [cbc,infinite,union], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '{3} <| %x.(x:NATURAL|x+1) = {3|->4}',
'-evalf', '{3} <| %x.(x:NATURAL|x+1) = {a,b} & a/=b',
'-evalt', '2..4 = ran((1..3) <| %x.(x:NATURAL|x+1))',
'-evalt', '1..3 = dom(%x.(x:NATURAL|x+1)|>(2..4))',
'-evalt', '(1..9) <| pred = %x.(x:1..9|x-1)',
'-evalt', '(1..9) <| succ = %x.(x:1..9|x+1)',
'-evalt', '{n} <| succ = {15|->x} & n<20'
], 'Test better symbolic treatment of union').
cli_testcase(1744, [cbc,infinite,union], [
'-evalt', '4|->b : {3} <<| %x.(x:NATURAL|x+1)',
'-evalf', '4|->b : (%x.(x:NATURAL|x+1) |>> (1..9))',
'-evalt', '14|->b : (%x.(x:NATURAL|x+1) |>> (1..9))',
'-evalt', '{b|14|->b : (%x.(x:NATURAL|x+1) |>> (1..9))} = {15}',
'-evalt', 'x = {-1,-33} \\/ NATURAL1 & 11:x & -1:x & -33:x & 0 /: x'
], 'Test better symbolic treatment of union').
cli_testcase(1745, [tickets,codespeed], [
'../prob_examples/public_examples/B/Puzzles/EulerWay.mch',
%'../prob_examples/public_examples/B/Puzzles/EulerWayDisjunction.mch', % this does not work yet; disjoin_true change makes this version too slow
'-init', '-p', 'TIME_OUT', 9500
],
'EulerWay Codespeed Test').
cli_testcase(1746, [cbc], [
'../prob_examples/public_examples/B/CBC/Feasibility_baloadR07.mch',
'-init'
],
'Check reification of existential quantifier with 27 cases not problematic').
cli_testcase(1747, [codespeed], [
'../prob_examples/public_examples/B/Demo/SortByPermutation_v2.mch',
'-t', '-p', 'TIME_OUT', 9500, '-p', 'CLPFD', 'FALSE'],
'SortByPermutation_v2 Codespeed Test 55 wo CLPFD').
cli_testcase(1748, [codespeed], [
'../prob_examples/public_examples/B/PerformanceTests/ModelChecking/CountToMAXINT.mch',
'-mc', 500002, '-p', 'MAXINT', 500000, '-nodead'],
'MC_CountToMAXINT_50000 Codespeed Test').
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').
cli_testcase(1750, [private,alstom,codespeed,data_validation], [
'../prob_examples/examples/B/Alstom/axl3/axl3.mch',
'-t', '-p', 'CLPFD', 'TRUE'],
'axl3 Codespeed Test').
cli_testcase(1751, [private,alstom,codespeed,data_validation], [
'../prob_examples/examples/B/Alstom/cbtc/actions_cbtc.mch',
'-t', '-p', 'CLPFD', 'TRUE'],
'actions_cbtc Codespeed Test').
cli_testcase(1752, [private,codespeed,private,data_validation], [
'../prob_examples/examples/B/Alstom/DataValidationProject/Rule_TMS_Route_0006.mch',
'-p', 'MAXINT', 10000000, '-p', 'MININT', -10000000, '-p', 'TIME_OUT', '60000',
'-p', 'SHOW_EVENTB_ANY_VALUES', 'true',
'-mc', 1000, '-df', '-nodead', '-expcterr', 'invariant_violation',
'-p', 'CLPFD', 'FALSE'],
'ClearSy_RuleTMS_R0006 Codespeed Test').
cli_testcase(1753, [codespeed,private,data_validation,clpfd_tables], [
'../prob_examples/examples/B/Alstom/DataValidationProject/Rule_TMS_Route_0006.mch',
'-p', 'MAXINT', 10000000, '-p', 'MININT', -10000000,
'-p', 'TIME_OUT', '80000', % sometimes breaks on windows test runner; requires 31 seconds on MacBookPro
% has become slower when switching to table/3 using method(aux) option
'-p', 'SHOW_EVENTB_ANY_VALUES', 'true',
'-mc', 1000, '-df', '-nodead', '-expcterr', 'invariant_violation',
'-p', 'CLPFD', 'TRUE'],
'ClearSy_RuleTMS_R0006_CLPFD Codespeed Test').
cli_testcase(1754, [cbc,sigma], [
'../prob_examples/public_examples/B/CBC/Tests/TestSIGMA.mch',
'-init', '-assertions'
],
'Check reification of IF-THEN-ELSE in SIGMA + WD detection of total avl function').
cli_testcase(1755, [tickets,quantified,union], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'UNION(x).(x:1..4|{x+y}) = 12..15',
'-evalf', 'UNION(x).(x:1..4|{x+y}) = 12..16',
'-evalt', '{y|UNION(x).(x:1..4|{x+y}) = 12..15} = {11}',
'-evalt', '{n|UNION(x).(x:1..10|{x}) = 1..n} = {10}',
'-evalt', 'UNION(x).(x:1..n|{x}) = 1..10', % used to generate warning
'-evalf', '{n|UNION(x).(x:1..n|{x}) = 1..0} = {0}', % used to generate virtual time-out
'-evalt', '{n|n:NATURAL & UNION(x).(x:1..n|{x}) = 1..0} = {0}',
'-evalt', '{n|n:-1..3 & UNION(x).(x:1..n|{x}) = 1..0} = {-1,0}'
], 'ensure new UNION treatment with better propagation').
cli_testcase(1756, [tickets,card], [
'../prob_examples/public_examples/B/Tester/SetSetupTests/CardDefSetConstraint.mch',
'-init', '-assertions'
],
'Check deferred set size inference improved').
cli_testcase(1757, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '{x,y|IF x:0..3 THEN y=2 ELSE 1=0 END} = {(0|->2),(1|->2),(2|->2),(3|->2)}',
'-evalt', '{x,y|IF x/:0..3 THEN 1=0 ELSE y=2 END} = {(0|->2),(1|->2),(2|->2),(3|->2)}'
], 'exercise => FALSE AST simplification').
cli_testcase(1758, [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.').
cli_testcase(1759, [b_test,ltl,safety], [
'../prob_examples/public_examples/B/LTL/SafetyMC/BeverageVendingMachine.mch',
'-ltlformulaf', 'G not ({nsoda = 0} => X [sget])',
'-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.').
cli_testcase(1760, [b_test,ltl,safety], [
'../prob_examples/public_examples/B/LTL/SafetyMC/BeverageVendingMachine.mch',
'-ltlformulaf', '{paid=FALSE} or ({nbeer=1} & {nsoda =1}) & (({nbeer = 0}) R (X [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.').
cli_testcase(1761, [b_test,ltl,safety], [
'../prob_examples/public_examples/B/LTL/SafetyMC/BeverageVendingMachine.mch',
'-ltlassertions', '-p', 'use_safety_ltl_model_checker', true, '-strict'
],'Checking that the safety LTL model checker succeeds on each assertions.').
cli_testcase(1762, [b_test,ltl,safety], [
'../prob_examples/public_examples/B/LTL/SafetyMC/BeverageVendingMachine.mch',
'-ltlformulaf', 'F [ret_coin] => {paid=TRUE}', '-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.').
cli_testcase(1763, [cbc,slot,tickets,wd, unsat_core,let], ['../prob_examples/public_examples/B/Tickets/SLOT-WD-ISSUE/Solver.mch',
'-assertions',
'-expcterrpos', definition_variable_capture, 270, 12,
'-evalt', 'UNSAT_CORE_SESSIONS({group3, group4}) = {session3,session4}'
], 'Check that wd issue with let predicates solved (expressions not guarded)').
cli_testcase(1764, [laws], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Laws/BoolLaws.mch',
'../prob_examples/public_examples/B/Laws/ArithmeticLaws.mch',
'../prob_examples/public_examples/B/Laws/ArithmeticExpLaws.mch',
'../prob_examples/public_examples/B/Laws/SetLaws.mch',
'../prob_examples/public_examples/B/Laws/SetLawsNat.mch',
'-mc', '500', '-cs', '-nogoal', '-nodead', '-strict', '-p', 'OPTIMIZE_AST', 'FALSE', '-opterr', 'model_check_incomplete'], 'Mathematical Laws with AST optimization disabled').
cli_testcase(1765, [cbc,private], ['../prob_examples/examples/B/AWE_JASP/v7/JavaBC0.mch',
'-t', '-mc', '200',
'-nogoal', '-noass'
], 'Check Java Bytecode interpreter').
cli_testcase(1766, [private,case,forall], ['../prob_examples/public_examples/B/Tester/ForAllExpansionEnumWarning.mch',
'-init', '-aa', 0,0,1
], 'Check forall not expanded').
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').
cli_testcase(1768, [b_test,case], ['../prob_examples/public_examples/B/Tester/CaseStmt_Illegal1.mch', '-init',
'-expcterrpos', type_error, 24, 10, '-expcterr', load_main_file,
'-strict'],'Check case statement with else').
cli_testcase(1769, [tickets,kodkod,card], [ '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
'-evalt', ':kodkod card({a,b|a:BOOL & b:1..k})=4 & k:0..2',
'-evalf', ':kodkod card({a,b|a:BOOL & b:1..k})=3 & k:0..10',
'-evalt', ':kodkod card({a,b,c})=1 & {a,b,c}<:BOOL',
'-evalt', ':kodkod card({a,b,c})=2 & {a,b,c}<:1..10 & a+b+c=20'
], 'check card interval analysis succeeds (PROB-411)').
cli_testcase(1770,[cbc,enabling],[
'-enabling_analysis_csv','../prob_examples/public_examples/B/CBC/Enabling/ChoiceByPredicate_enabling_analysis.csv',
'../prob_examples/public_examples/B/CBC/Enabling/ChoiceByPredicate.mch',
'-p', 'TIME_OUT', 1000
], 'Check CSV enabling output for becomes_such').
cli_testcase(1771,[cbc,enabling,case],[
'-enabling_analysis_csv','../prob_examples/public_examples/B/CBC/Enabling/OpParameterTests_enabling_analysis.csv',
'../prob_examples/public_examples/B/CBC/Enabling/OpParameterTests.mch',
'-p', 'TIME_OUT', 6500 % enabling analysis takes 0.1 this
], 'Check CSV enabling output for variety of substitutions').
cli_testcase(1772, [por,ltl], ['../prob_examples/public_examples/B/Ivo/Threads51.mch', '-ltlformulat', 'GF {v1=n}',
'-p', por, ample_sets], 'Check LTL property with partial order reduction.').
cli_testcase(1773, [por,ltl], ['../prob_examples/public_examples/B/Ivo/Threads51.mch', '-ltlformulat', 'G not {v1>n+1}',
'-p', use_safety_ltl_model_checker, true, '-p', por, ample_sets], 'Check LTL property with partial order reduction.').
cli_testcase(1774, [por,ltl], ['../prob_examples/public_examples/B/Benchmarks/CAN_BUS_tlc.mch',
'-ltlformulat', 'G not deadlock', '-p', por, ample_sets, '-p', pge, full
], 'Check LTL property with partial order reduction.').
cli_testcase(1775, [por,ltl], ['../prob_examples/public_examples/B/Benchmarks/CAN_BUS_tlc.mch',
'-ltlformulat', 'G not deadlock', '-p', por, ample_sets, '-p', pge, full,
'-p', use_safety_ltl_model_checker, true
], 'Check LTL property with partial order reduction.').
cli_testcase(1776, [tickets,while], [
'../prob_examples/public_examples/B/Tickets/Hansen32_CompileBug/M1.mch',
'../prob_examples/public_examples/B/Tickets/Hansen32_CompileBug/M1_Internal.mch',
'../prob_examples/public_examples/B/Tickets/Hansen32_CompileBug/M1_Internal_v2.mch',
'../prob_examples/public_examples/B/Tickets/Hansen32_CompileBug/M1_Internal_v3.mch',
'-t'
],
'Check compilation of while with op call and inner while works').
cli_testcase(1777, [por], ['../prob_examples/public_examples/B/Ivo/PORTest_WriteDependencies.mch', '-model_check', '-noinv', '-p', por, ample_sets,
'-expcterr', deadlock], 'Check that no incorrect reduction is performed on the model.').
cli_testcase(1778, [laws,random], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Laws/BoolLaws.mch',
'../prob_examples/public_examples/B/Laws/ArithmeticLaws.mch',
'../prob_examples/public_examples/B/Laws/ArithmeticExpLaws.mch',
'../prob_examples/public_examples/B/Laws/SetLaws.mch',
'../prob_examples/public_examples/B/Laws/SetLawsNat.mch',
'-mc', '500', '-cs', '-nogoal', '-nodead', '-strict', '-p', 'RANDOMISE_ENUMERATION_ORDER', 'TRUE', '-opterr', 'model_check_incomplete'], 'Mathematical Laws with random enumeration').
cli_testcase(1779, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tester/Constants6.mch',
'../prob_examples/public_examples/B/Tester/Constants7.mch',
'-property', 'minnr = 7 & mxnr =9 & pid(p1) = a & pid(p2)=b & pid(p3)=c & pnr(p1)=minnr & pnr(p3)=mxnr & root=a',
'-t'
],
'Check -property command works').
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').
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').
cli_testcase(1782, [b_test,preferences], ['../prob_examples/public_examples/B/FeatureChecks/LocalOperationCall.mch',
'../prob_examples/public_examples/B/FeatureChecks/LocalOperationCall2.mch',
'-t'], 'test calling local operations').
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').
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').
cli_testcase(1785, [b_test,execute], ['../prob_examples/public_examples/B/FeatureChecks/ExecuteNonDetCsts.mch', '-execute_all', '-check_goal'], 'test execute + check goal').
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').
cli_testcase(1787, [b_test], ['../prob_examples/public_examples/B/Tester/OpCalls/UseCopy.mch', '-t'
], 'test output parameters can be read').
cli_testcase(1788, [b_test], ['../prob_examples/public_examples/B/Implementations/Values/Sensor0_i.imp',
'../prob_examples/public_examples/B/Implementations/Values/DefSetsImp.imp',
'-t'
], 'test VALUES clause').
cli_testcase(1789, [b_test,external,records,strings], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/ExternalFunctions/LibraryStrings.mch',
'-evalt', '{rec(sa:"1.101"),rec(sa:"1.102")} =x & x<: (struct(sa : /*@symbolic*/ {s| s : STRING & size(STRING_SPLIT(s,"."))=2}))',
'-evalf', '{rec(sa:"1.101"),rec(sa:"1.102.3")} =x & x<: (struct(sa : /*@symbolic*/ {s| s : STRING & size(STRING_SPLIT(s,"."))=2}))'
], 'Check that no infinite expansion occurs here.').
cli_testcase(1790, [b_test,external,hash], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/ExternalFunctions/TestLibraryHash.mch', '-assertions'], 'Check HASH and SHA_HASH').
cli_testcase(1791, [b_test,external,rulesdsl], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/Rules/CSV/Runner_CSV.rmch', '-execute_all',
'-goal', '(RULE_AW1="FAIL" & card(RULE_AW1_Counterexamples) = 6)',
'-check_goal'], 'Check Rules DSL example with CSV reading').
cli_testcase(1792, [cbc,exists], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'y:7..30000000000 & not(#x.(x:1..10 & x:8..y))',
'-evalf', 'y:20..30000000000 & not(#x.(x:1..10 & x:8..y))',
'-evalf', 'y:7..30000000000 & not(#x.(x /: 1..y))',
'-evalf', 'y:7..30000000000 & not(#x.(not(x : 1..y)))',
'-evalt', 'x<:BOOL & x/={} & #y.(y /: x)'
], 'check translation of exists into not equal empty_set').
cli_testcase(1793,[cbc,enabling,private],['-enabling_analysis_csv','../prob_examples/examples/B/Amira_Genisys/ConferenceReviewSystem/Functional_Simplified_v2_enabling.csv',
'../prob_examples/examples/B/Amira_Genisys/ConferenceReviewSystem/Functional_Simplified_v2.mch'], 'Check CSV output of a simple enabling analysis (Ticket PROB-215).').
cli_testcase(1794,[cbc,exists],['-t', '-cc', 5, 4,
'../prob_examples/public_examples/B/CBC/Constraint_with_exists.mch',
'../prob_examples/public_examples/B/CBC/Constraint_with_exists_v2.mch'], 'Check improved treatment of in_domain_subtraction and restriction.').
cli_testcase(1795, [cbc,forall], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalf', 'yy:1..5 & !x.(x<:POW(INTEGER) => {yy}:x)',
'-evalt', '!x.(x:INTEGER => x<0 or x>y) & y:-1..10',
'-evalf', '!x.(x:INTEGER => x<0 or x>y) & y:1..10',
'-evalf', 'yy:1..5 & !x.(x<:POW(NATURAL) => {yy}:x)',
'-evalt', 'yy:-1..5 & !x.(x<:POW(NATURAL) => {yy}/:x)',
'-evalf', 'yy:1..5 & !x.(x<:POW(1..10) => {yy}:x)',
'-evalf', '!x.(x:NATURAL => x>y) & y:1..10',
'-evalt', '!x.(x:NATURAL => x>y) & y:-1..10',
'-evalf', '!x.(x:INTEGER => (x:NATURAL => x>y)) & y:1..10',
'-evalt', '!x.(x:INTEGER => (x:NATURAL => x>y)) & y:-1..10'
], 'check improved treatment of forall').
cli_testcase(1796,[eventb_test,wd],['-t', '-mc', 100, '-bf',
'../prob_examples/public_examples/EventBPrologPackages/Tickets/VariantWDError2_mch.eventb',
'-expcterr', well_definedness_error,
'-expcterr', 'event_error:inc:event_wd_error' ], 'Check detection of WD errors for variants.').
cli_testcase(1797,[enabling,eventb_test,read_write],[
'../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Concurrent_Program_Development/conc_4_mch_finite.eventb',
'-t',
'-read_write_matrix_csv', '../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Concurrent_Program_Development/conc_4_rw_matrix.csv'
], 'Check read-write-matrix with witnesses correctly computed.').
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',
'-p', 'TRY-FIND-ABORT', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Test 458 with TRY_FIND_ABORT (and test using - instead of _).').
cli_testcase(1799,[tickets,cbc,clpfd_tables],[
'-evalf', 'deadline : BOOL --> 0..1 & (%d.(d : BOOL & deadline(d) > 0|deadline(d) - 1) /: BOOL <-> NATURAL)',
'-evalf', 'deadline : BOOL --> 0..2 & (%d.(d : BOOL & deadline(d) > 0|deadline(d) - 1) /: BOOL +-> NATURAL)',
'-evalt', 'deadline : BOOL --> 0..10 & (%d.(d : BOOL & deadline(d) >= 0|deadline(d) - 1) /: BOOL +-> NATURAL)',
'-evalf', 'deadline : BOOL --> 1..2 & (%d.(d : BOOL & deadline(d) > 1|deadline(d) - 2) /: BOOL <-> NATURAL)'
], 'Check element/3 SICStus bug solved.').
cli_testcase(1800,[tickets,disprover,cbc,clpfd_tables],[
'../prob_examples/public_examples/EventBPrologPackages/Disprover/Tickets/LOCKR1_mch.pl',
'-expecterr', disprover_unsound,
%'-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
%'-check_disprover_result', 3,1,7 % when using the new WD prover we can prove 3 POs
%'-check_disprover_result', 5,1,5, % and now 4,5 POs
'-check_disprover_result', 8,1,2, % and now 8 POs
'-timeout', 800 % for Windows
], 'Check element/3 SICStus bug solved.'). % we still have issue with CHR and element/3
cli_testcase(1801, [tickets,eventb_test,records], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Tickets/InitialisationByPredicate/TestBecomeSuch.mch',
'../prob_examples/public_examples/EventBPrologPackages/Tickets/InitialisationByPredicate/TestBecomeSuch_mch.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Tickets/InitialisationByPredicate/M0_v4_mch.eventb', % record detection
'-t'
], 'Check that Event-B becomes_such works correctly, in particular with record detection.').
cli_testcase(1802,[eventb_test,witnesses],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Tests/Witnesses/NonDetAssign1_mch.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Tests/Witnesses/NonDetAssign1_finite_unproven_mch.eventb',
'-t', '-mc', 500, '-opterr', model_check_incomplete
], 'Check witness for removed abstract variable.').
cli_testcase(1803,[eventb_test,witnesses,cbc],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Tests/Witnesses/NonDetAssign1_finite_unproven_mch.eventb',
'-cbc', 'all'
], 'Check cbc invariant with witnesses.').
cli_testcase(1804,[eventb_test,witnesses],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Tests/Witnesses/NonDetAssign1_error_mch.eventb',
'-mc', 500,
'-expcterr', 'event_error:inc:action_not_executable'
], 'Check witness error found.').
cli_testcase(1805,[eventb_test,witnesses],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Tests/Witnesses/Guard0_simerror_mch.eventb',
'-mc', 500, '-nodead',
'-expcterr', 'event_error:even_dec:simulation_error'
], 'Check witness error found.').
cli_testcase(1806,[eventb_test],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Tests/Witnesses/VariantNegative_mch.eventb',
'-mc', 500, '-nodead',
'-expcterr', 'event_error:dec:variant_negative'
], 'Check variant error found.').
cli_testcase(1807,[eventb_test],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Tests/Witnesses/VariantError_mch.eventb',
'-mc', 500, '-nodead',
'-expcterr', 'event_error:dec:invalid_variant'
], 'Check variant error found.').
cli_testcase(1808,[eventb_test],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Tests/Witnesses/TheoremInGuardError_mch.eventb',
'-mc', 500, '-nodead',
'-expcterr', 'event_error:dec:invalid_theorem_in_guard'
], 'Check variant error found.').
cli_testcase(1809, [tickets,kodkod], [ '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tickets/Kodkod7_QueensBug/Queen_BoardVersion.mch',
'../prob_examples/public_examples/B/Tickets/Kodkod7_QueensBug/Queen_BoardVersion_v2.mch',
'../prob_examples/public_examples/B/Tickets/Kodkod7_QueensBug/Queen_BoardVersion_v3.mch',
'-init'
], 'check Kodkod bug fixed').
cli_testcase(1810, [b_test,unicode,atelierb],
['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tickets/UnicodeSupport/TestUmlauteInString.mch', '-assertions',
'-pp', '../prob_examples/public_examples/B/Tickets/UnicodeSupport/TestUmlauteInString_Internal.mch'
],'Test unicode support.').
cli_testcase(1811, [tickets,eventb_test,records], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/FeatureChecks/SheBang.mch', '-t'
], 'Test parser accepts she-bang line starting with #!.').
cli_testcase(1812, [smt_solver_integration,private], [
'../prob_examples/public_examples/ProofObligations/GearDoor1_mch.pl',
'../prob_examples/public_examples/ProofObligations/GearsDoorsHandle3_mch.pl',
'../prob_examples/examples/ProofObligations/ABZ14_Mery/M2_mch.pl',
'../prob_examples/examples/ProofObligations/ABZ14_Mery/M20_mch.pl',
'../prob_examples/examples/ProofObligations/ABZ14_Mery/M3_mch.pl',
'../prob_examples/examples/ProofObligations/ABZ14_Mery/M30_mch.pl',
%'../prob_examples/public_examples/ProofObligations/Abrial_ABZ_Devel3/m1_true.pl',
'-p', 'DOUBLE_EVALUATION', 'FALSE', '-p','SMT_SUPPORTED_INTERPRETER','TRUE'
%,'../prob_examples/examples/ProofObligations/ABZ14_Mery/M4_mch.pl'
],'Check Disprover can prove all POs (subset of 1409,1436 for z3)').
cli_testcase(1813, [smt_solver_integration,private], [
'../prob_examples/examples/ProofObligations/Abrial_Ch4_Brp/brp_1_true.pl',
'-p', 'DOUBLE_EVALUATION', 'FALSE', '-p','SMT_SUPPORTED_INTERPRETER','TRUE',
'-check_disprover_result', 7,0,0
],'Check Disprover can prove all POs; this test also checks register predicate works better').
cli_testcase(1814, [smt_solver_integration,private], [
'../prob_examples/examples/ProofObligations/Abrial_Ch4_Brp/brp_3_true.pl',
'-p', 'DOUBLE_EVALUATION', 'FALSE', '-p','SMT_SUPPORTED_INTERPRETER','TRUE',
'-check_disprover_result', 60,0,0
],'Check Disprover can prove all POs; this test also checks register predicate works better').
cli_testcase(1815, [smt_solver_integration], [
'../prob_examples/public_examples/ProofObligations/DisproverDefSetTest2_ctx.pl',
'../prob_examples/public_examples/ProofObligations/DisproverDefSetTest3_ctx.pl',
'../prob_examples/public_examples/ProofObligations/DisproverDefSetTest4_ctx.pl',
'-p', 'DOUBLE_EVALUATION', 'FALSE', '-p','SMT_SUPPORTED_INTERPRETER','TRUE',
'-check_disprover_result', 0,0,2
],'Check Disprover cannot prove po').
cli_testcase(1816, [b_test,external,strings], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/ExternalFunctions/SubStringFunctions.mch', '-assertions',
'-evalt', 'INT_TO_DEC_STRING(101,2)="1.01"',
'-evalt', 'INT_TO_DEC_STRING(101,-2)="10100"',
'-evalt', 'INT_TO_DEC_STRING(-1001,2)="-10.01"',
'-evalt', 'INT_TO_DEC_STRING(-101,-2)="-10100"',
'-evalt', 'INT_TO_DEC_STRING(-101,3)="-0.101"',
'-evalt', 'STRING_CONTAINS_STRING("aabb","ab")',
'-evalt', 'STRING_CONTAINS_STRING("aabb","")',
'-evalf', 'STRING_CONTAINS_STRING("aabbab","bbb")'
], 'Check substring and decimal string conversion external functions.').
cli_testcase(1817, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'CLPFD', 'FALSE',
'-evalt', '{x|x>10 & x<20 & x mod 5=0} = {15}',
'-evalt', 'x>10 & x<20',
'-evalt', 'x>18 & y<1024 & x<20 & y>1020' % does not work yet
%'-evalt', 'x>18 & (y<1024 & (x<20 & y>1020))' % no longer works
], 'Test detection of intervals when CLPFD disabled').
cli_testcase(1818, [cbc,union], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'CLPFD', 'FALSE',
'-evalt', 'UNION(x).(x:1..RANGE_LAMBDA|{x+1})=res & RANGE_LAMBDA:{10,11} & res = 2..11',
'-evalt', 'UNION(x).(x:1..12|{x+1})={2,3,4,5,6,7,8,9,10,11,12,13}',
'-evalt', 'UNION(x).(x:1..2|{x+y}) = 12..13',
'-evalt', '{y|UNION(x).(x:1..2|{x+y}) = 12..13} = {11}'
], 'Test UNION translation for singleton set').
cli_testcase(1819, [b_test,strings], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', ' "ab c " = \'\'\'ab c \'\'\' ', % "ab c " = '''ab c '''
'-evalf', ' "ab c" = \'\'\'abc\'\'\' ',
'-evalf', ' "abc" = " abc" ',
'-evalt', ' "ab\'c" = "ab\\\'c" ', % a \' inside "..." is now one character
'-evalt', ' "ab\\\'c" /= "ab\\\\\'c" ', % "ab\'c" /= "ab\\'c"
'-evalf', ' "ab\'c" = "ab\\\\\'c" ',
'-evalt', ' "ab\\x" = "ab\\\\x" ',
'-evalt', ' "ab\\\"c" = \'\'\'ab"c\'\'\' ', % "ab\"c" = '''ab"c'''
'-evalt', ' "ab\'c" = \'\'\'ab\'c\'\'\' ' % "ab'c" = '''ab'c'''
], 'Test alternate STRING literal form with three apostrophes').
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.').
cli_testcase(1821, [cbc], ['../prob_examples/public_examples/B/TestCaseGeneration/BMC/CounterWrongInit.mch', '-cbc', 'INITIALISATION', '-strict', '-expcterr', 'cbc'], 'Check INITIALISATION counter-example found').
cli_testcase(1822, [cbc], ['../prob_examples/public_examples/B/TestCaseGeneration/BMC/CounterWrongInit.mch', '-cbc', 'all', '-strict', '-expcterr', 'cbc'], 'Check INITIALISATION counter-example found').
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').
cli_testcase(1824, [cbc], [
'-evalt', '(not((3 = soda) <=> (soda > coins / coins & coins = coins)) & (coins : NATURAL & soda : NATURAL)) & coins /= 0 ',
'-evalt', '{x,y| y = x/x & x = y+y}= {(2,1)}',
'-evalt', '{x,y| y = x/x & x = y+y+100}= {(102,1)}'
], 'Check propagation of division x/x').
cli_testcase(1825, [cbc,wd], [
'-evalnwd', 'r = x/x & r<10 & x<1 & x>-1',
'-expcterr', 'well_definedness_error'
], 'Check propagation of division x/x does not prevent WD error detection').
cli_testcase(1826, [rulesdsl], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/Rules_Machines/SimpleRulesMachine.rmch',
'-execute_all', '-execute_expect_steps', 2,
'-evalt', 'test="SUCCESS"',
'-evalt', 'test_Counterexamples={}'
], 'Check simple Rules machine').
cli_testcase(1827, [cbc,wd,sequences], ['-p', 'STRING_AS_SEQUENCE', 'TRUE',
'-evalt', '"a" ^ x = "ab" ^ y & x^x = "bb"',
'-evalt', '{x,y|"a" ^ x = "ab" ^ y & x^x = "bb"} = {("b","")}',
'-evalt', '"a"^"b"^"c" = "abc"'
], 'Check concat operator works on strings').
cli_testcase(1828, [cbc,tickets,union,card], [
'-evalt', '{x,s|union(s) = {} & x<:INTEGER & x:s} = { ({},{{}}) }',
'-evalt', 'union(s) = {} & x<:INTEGER & x:s',
'-evalt', 'union(s) = {} & x<:INTEGER & x:s & card(s)=1',
'-evalf', 'union(s) = {} & x<:INTEGER & x:s & card(s)=2',
'-evalf', 'union(s) = {} & x<:INTEGER & x:s & card(s)=3',
'-evalf', 'union(s) = {} & x<:INTEGER & x:s & card(s)>1',
'-evalf', 'union(s) = {} & s<:POW(1..2) & card(s)>1',
'-evalt', 'union(s) = {1} & s<:POW(1..2) & card(s)>1',
'-evalf', 'union(s) = {1} & s<:POW(1..2) & card(s)>2',
'-evalf', 'union(s) = {1} & s<:POW(1..2) & card(s)=3',
'-evalf', 'union(s) = {TRUE} & s<:POW(BOOL) & card(s)>2',
'-evalf', 'union(s) = {TRUE} & s<:POW(BOOL) & card(s)=3',
'-evalt', 'union(s) = {TRUE} & s<:POW(BOOL) & card(s)=2',
'-evalt', 'union(s) = {TRUE} & s<:POW(BOOL) & card(s)>1',
'-evalt', ' {s,x|x<:{2,3} & x:s & card(s)=2 & {2,3}:s & 2/: x} = {({{},{2,3}}|->{}),({{2,3},{3}}|->{3})}',
'-evalf', 'x<:{2,3} & s = {x} \\/ s2 & card(s)=3 & s2 = {{2,3},{2}} & 2:x'
], 'Check card operator does not generate solutions with repeated entries').
cli_testcase(1829, [cbc,forall], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'DEFAULT_SETSIZE', 5,
'../prob_examples/public_examples/EventBPrologPackages/GraphColouring/Coloring_40_wo_axm9.eventb',
'-p', 'TIME_OUT', '8000', % has gotten slower with SICStus 4.6; especially COLORING1 step
'-t'
], 'Check forall improvements').
cli_testcase(1830, [cbc,forall], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '!y.(y>3 => !x.(x>2 => TRUE=TRUE))',
'-evalt', '!y.(y>3 => !x.(x>2 => 2>1))',
'-evalt', 'y:4..5 & !y.(y>3 => !x.(x>2 => 2>1))',
'-evalt', '{y|y:3..5 & !y.(y>3 => !x.(x>2 => 1<11))} = 3..5'
], 'Check forall useless detection improvement').
cli_testcase(1831, [tickets,while,rulesdsl], ['../prob_examples/public_examples/B/Tickets/Hansen34_compile2/FunctionWithWhileLoop.rmch', '-t' ], % increased time-out for jenkins
'Check that compile issue solved when expanding Operation Calls with return parameters').
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.').
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.').
cli_testcase(1834, [performance_tests,b_test,codespeed], ['../prob_examples/public_examples/B/PerformanceTests/EnumeratedSetDetection.mch',
'-t', '-strict', '-p', 'CLPFD', 'TRUE', '-p', 'TIME_OUT', '1000'],
'Test enumerated set detection').
cli_testcase(1835, [tickets], ['../prob_examples/public_examples/B/Tester/NameClashes/scheduler0.mch',
'-p', 'STRICT_CLASH_CHECKING', 'TRUE',
'-init', '-expcterr', 'bmachine_static_checks'],
'Test enumerated set detection (PROB-60)').
cli_testcase(1836, [tickets], [
'../prob_examples/public_examples/B/Tickets/DefinitionCapture/DefCaptureAtelierB.mch',
'../prob_examples/public_examples/B/Tickets/DefinitionCapture/DefCapture.mch',
'-opterr', 'bmachine_static_checks', % forall rhs does not use ids due to capture
'-init', '-expcterr', 'definition_variable_capture'],
'Test detection of variable capture (PROB-71)').
cli_testcase(1837, [tickets,enabling], [
'../prob_examples/public_examples/B/CBC/Enabling/OpCallSelect.mch',
'-feasibility_analysis_csv', 1000, '../prob_examples/public_examples/B/CBC/Enabling/OpCallSelect_feasibility.csv'],
'Test that operation call treated in enabling condition (PROB-379)').
cli_testcase(1838, [cbc,card], [
'-evalt', 'x \\/ y \\/ z = 1..10 & x/\\ y = {} & x /\\ z = {} & y /\\ z = {} & x=1..8 & y={10}',
'-evalt', 'union({x,y,z}) = 1..10 & x/\\ y = {} & x /\\ z = {} & y /\\ z = {} & z=1..7 & y={8,10}',
'-evalt', 'x \\/ y \\/ z = BOOL & x/\\ y = {} & x /\\ z = {} & y /\\ z = {} & x={TRUE} & y={FALSE}',
'-evalt', 'x \\/ y \\/ z = {"a","b","c"} & x/\\ y = {} & x /\\ z = {} & y /\\ z = {} & x={"a"} & y={"b"}',
'-evalt', 'x \\/ y \\/ z = {"a","b","c"} & x/\\ y = {} & x /\\ z = {} & y /\\ z = {} & x={"a"} & y={"b"} & z=s',
'-evalf', 'x \\/ y \\/ z = {"a","b","c"} & x/\\ y = {} & x /\\ z = {} & y /\\ z = {} & x={"a"} & y={"b"} & card(z)=2',
'-evalt', 'x \\/ y \\/ z = {{"a","b"},{"c"},{"d"}} & x/\\ y = {} & x /\\ z = {} & y /\\ z = {} & x={{"c"}} & z={{"d"}}'
], 'Testing partition propagation (all_but_one_set_known).').
cli_testcase(1839, [cbc], [
'-evalt', '{r,t|{x| bool(x>2)=t & x<5}=r & t=TRUE} = {({3,4}|->TRUE)}',
'-evalt', '{r,t|{x| bool(x<=2)=t & x<5}=r & t=FALSE} = {({3,4}|->FALSE)}'
], 'Testing bool simplification in b_compiler.').
cli_testcase(1840, [latex, b_test], [
'../prob_examples/public_examples/Latex/tests/ProBLatex.mch', '-init', '-animate', 5,
'-latex', '../prob_examples/public_examples/Latex/tests/prob_latex_doc_raw.tex',
'../prob_examples/public_examples/Latex/tests/prob_latex_doc.tex'
], 'Testing Latex mode.').
cli_testcase(1841, [cbc], [
'../prob_examples/public_examples/B/Benchmarks/scheduler.mch',
'../prob_examples/public_examples/B/Benchmarks/phonebook7.mch',
'-cbc_redundant_invariants', 0, '-strict'], 'Test searching for redundant invariants').
cli_testcase(1842, [cbc], [
'../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch',
'-expcterr', cbc_redundant_invariants,
'-cbc_redundant_invariants', 0, '-strict'], 'Test searching for redundant invariants').
cli_testcase(1843, [cbc], [
'../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch',
'-cbc_redundant_invariants', 6, '-strict'], 'Test searching for redundant invariants').
cli_testcase(1844, [b_test], ['../prob_examples/public_examples/B/FeatureChecks/SetOperators/TestPartition.mch',
'../prob_examples/public_examples/B/FeatureChecks/SetOperators/TestPartition3.mch',
'../prob_examples/public_examples/B/FeatureChecks/SetOperators/TestPartition2.mch',
'../prob_examples/public_examples/B/Mathematical/LeaderElectionRing.mch',
'-t', '-strict'], 'Test B partition and other tests from Tcl/Tk regression tests').
cli_testcase(1845, [b_test,cruise], ['../prob_examples/examples/B/ClearSy/spec_Cruise/Cruise1.ref',
'-t', '-mc', 100, '-expcterr', 'model_check_incomplete',
'-strict'], 'Test Cruise refinement machine').
cli_testcase(1846, [csp_test], ['../prob_examples/public_examples/CSP/other/Kleine/coz-example.csp',
'-cc', 12886, 38955, '-mc', 20000, '-strict'], 'Test OZ CSP translation and possible CSP process detection').
cli_testcase(1847, [execute,b_test,wd], ['../prob_examples/public_examples/B/Tester/Execute/execute_wd_error.mch',
'-execute', 20, '-expcterr', 'execute', '-expcterr', 'well_definedness_error',
'-nodead', '-nogoal', '-strict', '-goal', 'i=10', '-check_goal'], 'Test WD error caught').
cli_testcase(1848, [cbc,records,card], [
'-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)})',
'-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)})',
'-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})})',
'-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})})',
'-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})})',
'-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})})',
'-evalt', 'card({r|r\'a : 1..1000 & r\'b : 1..1000 & r:struct(a:INTEGER,b:INTEGER,c:BOOL)}) = 2000000',
'-evalt', 'card({r|r\'a : 1..1000 & r\'b : 1..1000 & r:struct(a:INTEGER,b:NATURAL,c:BOOL)}) = 2000000'
], 'Testing struct comprehension set detection in ast cleanup.').
cli_testcase(1849, [proz,records], [
'../prob_examples/public_examples/Z/Ledru/RoZ_simple/model.fuzz',
'../prob_examples/public_examples/Z/Ledru/RoZ_simple/model_internal_simplified.mch', '-p', 'ALLOW_COMPLEX_LETS', 'TRUE',
'-t', '-mc', 10, '-strict', '-expcterr', 'model_check_incomplete'], 'Test Z models with complex records,... work').
cli_testcase(1850, [proz,b_test], [
'../prob_examples/public_examples/Z/Ledru/RoZ_simple/model.tex',
'../prob_examples/public_examples/Z/Testcases/comsets.tex',
'../prob_examples/public_examples/Z/Testcases/distributed_concatenation.tex',
'../prob_examples/public_examples/Z/Testcases/compaction.tex',
'../prob_examples/public_examples/Z/Testcases/zrm_refcard_ops.tex',
'-t', '-mc', 10, '-nodead', '-strict', '-opterr', 'model_check_incomplete'], 'Test loading .tex file works').
cli_testcase(1851, [cbc], [
'-evalt_file', '../prob_examples/public_examples/Eval/synthesis/synthesis_constraint_restricted_domains_smaller_library.eval'
], 'Test solving a complicated synthesis constraint').
cli_testcase(1852, [b_test,refinement], [
'-p', 'STRICT_RAISE_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/RefinementChecking/Simple/Spec1_with_new_op_err.ref',
'-init','-expcterr', 'type_error',
'-opterr', 'load_main_file', % prob now emits a warning rather than an error, and can thus load the file
'-strict'], 'Test ALLOW_NEW_OPERATIONS_IN_REFINEMENT preference').
cli_testcase(1853, [b_test,refinement], [
'../prob_examples/public_examples/B/RefinementChecking/Simple/Spec1_with_new_op.ref',
'-t', '-mc', 10, '-strict'], 'Test ALLOW_NEW_OPERATIONS_IN_REFINEMENT preference').
cli_testcase(1854, [cbc,records], [
'-evalt', 'union(ran(f)) <: 2..3 & f = %x.(x:n..(n+1)|{x}) & n:1..1500000',
'-evalt', 'union(ran(f)) : POW(2..3) & f = %x.(x:n..(n+1)|{x}) & n:1..1500000'
], 'Testing ast cleanup improvement.').
cli_testcase(1855, [slot,tickets,private,xml, unsat_core], [
'../prob_examples/examples/B/SlotTool/Ticket_11092017/Solver.mch',
'-init',
'-expcterrpos', definition_variable_capture, 279, 12,
'-eval', 'UNSAT_CORE_SESSIONS({group3, group4})',
'-evalt', 'UNSAT_CORE_SESSIONS({group3, group4})={session3,session4}', '-strict'],
'Test instantiate to any issue solved').
cli_testcase(1856, [b_test,external,closure1], [
'../prob_examples/public_examples/B/ExternalFunctions/UGraphsFunctions.mch',
'-init', '-assertions'], 'Test CLOSURE1 and SCCS external functions').
cli_testcase(1857, [tickets,b_test], [
'../prob_examples/public_examples/B/Tickets/PROB-403/CONTEXT_JUST_SETS.mch',
'../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)
'-t' ],
'Check constants, sets, ... can be included multiple times without prefix (PROB-403)').
cli_testcase(1858, [proz,records], [
'../prob_examples/public_examples/Z/Ledru/RoZ_constraint/model.zed',
%'../prob_examples/public_examples/Z/Ledru/RoZ/model.tex',
'-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').
cli_testcase(1859, [b_test,external,strings,wd], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/ExternalFunctions/SubStringFunctions.mch',
'-evalnwd', 'STRING_TO_INT("1.1")',
'-expcterr', well_definedness_error
], 'Check that error raised when converting float to int.').
cli_testcase(1860, [b_test,card], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/PerformanceTests/CardPropagation/DeferredSetSurjectionTest.mch',
'-init'
], 'Check that cardinality of deferred set adjusted for surjections.').
cli_testcase(1861, [b_test,wd], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalnwd', '[11,22,33] /|\\ 4',
'-expcterr', well_definedness_error
], 'Check wd error for prefix sequence.').
cli_testcase(1862, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '{x,y|x:INTEGER & y=x+1} = r & r2 = r~ & res = r2[{22,23}] & SIGMA(xx).(xx:res|xx)=43',
'-evalt', '{x,y|x:INTEGER & y=x+1} = r & r2 = r~ & res = r2[{x}] & SIGMA(x).(x:res|x)=x-1 & x:{50,51}'
], 'Check that relational inverse works on infinite set').
cli_testcase(1863, [b_test,wd], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TRY_FIND_ABORT', 'TRUE',
'-evalnwd', 'f : 1..2 +-> 3..4 & f(3) = 3',
'-expcterr', well_definedness_error
], 'Check wd error for function application outside of domain.').
cli_testcase(1864, [b_test,wd], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TRY_FIND_ABORT', 'TRUE',
'-evalnwd', 'f : 1..2 --> 3..4 & f(3) = 3', % total function; hits another area of ProB source code
'-expcterr', well_definedness_error
], 'Check wd error for function application outside of domain.').
cli_testcase(1865, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'idc = {x,y|x:INTEGER & y:INTEGER & y=x} & res = idc[{550}] & res = {550}',
'-evalt', 'idc = {x,y|x:INTEGER & y:NATURAL & y=x} & res = idc[{550}] & res = {550}',
%'-evalt', 'idc = {x,y|x:NATURAL & y:NATURAL & y=x} & res = idc[{550}] & res = {550}',
'-evalt', 'idc = {x,y|x:INTEGER & y:NATURAL & y=x} & res = idc[{-550}] & res={}',
'-evalt', 'idc = {x,y|x:INTEGER & y:INTEGER & y=x} & dom(idc)=INTEGER'
], 'Check that id closures can be manipulated').
cli_testcase(1866, [b_test,wd], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalnwd', '22 mod -3',
'-expcterr', well_definedness_error
], 'Check wd error for modulo negative number.').
cli_testcase(1867, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'REMOVE_IMPLIED_CONSTRAINTS', 'TRUE',
'-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'
], 'Exercise REMOVE_IMPLIED_CONSTRAINTS').
cli_testcase(1868, [while,private,xml], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/Thales/Ticket_closure_body_enum/ENV_Model.prob',
%'../prob_examples/examples/B/Thales/Ticket_closure_body_enum/src/test/environment/ENV_Model.mch',
'-t'
], 'Check that closure body enumeration in while issue fixed.').
cli_testcase(1869, [b_test],
[%'../prob_examples/public_examples/B/Benchmarks/scheduler.mch', % does not work with non-det
'../prob_examples/public_examples/B/Benchmarks/phonebook7.mch',
'-strict','-t',
'-p', 'MAX_OPERATIONS', 0], 'Check that trace replay works with MAX_OPERATIONS == 0').
cli_testcase(1870, [b_test,while],
['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TYPE_CHECK_DEFINITIONS', 'TRUE',
'../prob_examples/public_examples/B/Tester/OpCalls/GetTrain2.mch',
'../prob_examples/public_examples/B/Tester/OpCalls/SwitchParameters2.mch',
'../prob_examples/public_examples/B/Tester/OpCalls/GetTrain_v2/GetTrain2.mch',
'../prob_examples/public_examples/B/Tester/OpCalls/GetTrain_v2/GetTrain2_LargeVariant.mch',
'../prob_examples/public_examples/B/Tester/OpCalls/GetTrain_v2/GetTrain3.mch',
'../prob_examples/public_examples/B/Tester/OpCalls/ReadOutput/OpCallR.ref',
'-strict','-t'], 'Check that OpCalls can be used to assign output with same result variable name').
cli_testcase(1871, [b_test],
['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tester/OpCalls/ReadOutput/OpCallErrR.ref', '-mc', 10, '-nodead',
'-strict', '-expcterr', 'precondition_error'
], 'Check that precondition_error on output variable previous value detected').
cli_testcase(1872, [b_test,external,strings], [
'../prob_examples/public_examples/B/ExternalFunctions/TestLibraryStrings.mch',
'-p', 'TYPE_CHECK_DEFINITIONS', 'TRUE',
'-evalt', 'STRINGIFY("abc\\nef") = "\\"abc\\\\nef\\""',
'-init', '-assertions'], 'Test STRING_TO_ENUM and STRINGIFY external functions and escaping').
cli_testcase(1873, [b_test,external,rulesdsl], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TYPE_CHECK_DEFINITIONS', 'TRUE',
'../prob_examples/public_examples/Rules/CSV/RulesChemistry.rmch',
'-execute_all', '-execute_expect_steps', 5,
'-evalt', 'check_atomic_number="SUCCESS"', '-evalt', 'check_atomic_number_Counterexamples={}',
'-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")}',
'-evalt', 'compute_atomic_weights="EXECUTED"',
'-evalt', 'import_data="EXECUTED"'
],
'Check Rules DSL example with CSV reading').
cli_testcase(1874, [b_test,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '%x.(x:NATURAL|x) : NATURAL --> NATURAL',
'-evalf', '%x.(x:NATURAL|x) : INTEGER --> NATURAL',
'-evalf', '%x.(x:NATURAL|x) : NATURAL1 --> NATURAL',
'-evalf', '%x.(x:NATURAL1|x) : NATURAL --> NATURAL',
'-evalt', '%x.(x:NATURAL|x+1) : NATURAL --> NATURAL',
'-evalt', '%x.(x:NATURAL|x+1) : NATURAL --> NATURAL1',
'-evalf', '%x.(x:NATURAL|x-1) : NATURAL --> NATURAL',
'-evalt', '%(x,y).(x:NATURAL&y:NATURAL|x+y) : NATURAL*NATURAL --> NATURAL',
'-evalf', '%(x,y).(x:NATURAL&y:NATURAL|x+y) : NATURAL*NATURAL --> NATURAL1',
'-evalt', '%(x,y).(x:1..100 & y:1..100|x+y) : (1..100)*(1..100) --> (2..200)',
'-evalt', '%(x,y).(x:1..100 & y:1..100|x+y) : (1..100)*(1..100) --> (1..10000)',
'-evalf', '%(x,y).(x:1..100 & y:1..100|x+y) : (1..100)*(1..100) --> (3..200)',
'-evalt', '%(x,y).(x:1..100 & y:1..100|x*y) : (1..100)*(1..100) --> (1..10000)',
'-evalf', '%(x,y).(x:1..100 & y:1..100|x*y) : (1..100)*(1..100) --> (2..10000)',
'-evalf', '%(x,y).(x:1..100 & y:1..101|x*y) : (1..100)*(1..101) --> (1..10000)',
% '-evalt', '%(x,y).(x:0..999 & y:0..999|(x*y) mod 1000) : (0..999)*(0..999) --> (0..999)', % slow due to expansion
'-evalt', '%(x,y).(x:0..9999 & y:0..9999|(x*y) mod 10000) : (0..9999)*(0..9999) --> (0..9999)',
% TO DO:
% {x|x:NATURAL*NATURAL & prj1(INTEGER,INTEGER)(x)=prj2(INTEGER,INTEGER)(x)} : NATURAL --> NATURAL % not detected as lambda,
'-evalt', '%(aa).(aa : INTEGER | [aa]) : INTEGER --> seq(INTEGER)',
%'-evalf', '%(aa).(aa : INTEGER | [aa]) : INTEGER --> seq(NATURAL)', % succeeds but has non-critical enum warning
'-evalt', '%(aa).(aa : NATURAL1 | [aa]) : NATURAL1 --> seq(NATURAL1)',
'-evalt', 'n=16 & cc = /*@symbolic*/ %ui.(ui:0..((2**n)-1) | ui/(2**8)) & cc:(0..((2**n)-1))--> 0..255',
'-evalf', 'n=16 & cc = /*@symbolic*/ %ui.(ui:0..((2**n)-1) | ui/(2**8)) & cc:(0..((2**n)-1))--> 0..254'
], 'Check new symbolic total function range detection').
cli_testcase(1875, [b_test,external], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/ExternalFunctions/TestBitLibrary.mch',
'-p', 'TYPE_CHECK_DEFINITIONS', 'TRUE',
'-init', '-assertions'
], 'Check new bitwise external functions BAND, BOR, BXOR,...').
cli_testcase(1876, [error_checks,b_test], ['../prob_examples/public_examples/B/ErrorMachines/TypeErrorUnusedDefinition.mch',
'-p', 'TYPE_CHECK_DEFINITIONS', 'TRUE',
'-expcterrpos', definition_type_error, 9, 21,
'-expcterrpos', definition_type_error, 10, 35,
'-expcterrpos', definition_type_error, 10, 39
], 'Check type error in unused DEFINITION detected').
cli_testcase(1877, [b_test,external,random], [
'../prob_examples/public_examples/B/ExternalFunctions/TestLibraryRandom.mch',
'-mc', 100, '-assertions'], 'Test random_subset, random_permutation').
cli_testcase(1878, [tickets,private], [
'../prob_examples/examples/B/Alstom/Ticket_Nov28_2017/scheduler_pb.mch', '-t',
'-p', 'SYMBOLIC', 'TRUE',
'-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647, '-check_goal',
'-evalt', 'x:in_cmd_signals',
'-evalt', 'in_cmd_signals : t_signal --> t_color', '-p', 'TIME_OUT', '7000'
], 'Test symbolic override works as expected').
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
'-expcterr', 'setup_constants_fails',
'-opterr', 'setup_constants_inconsistent' % we now also generate this msg when not all csts are found deterministically
], 'Check closure now infinite').
cli_testcase(1880, [b_test,closure1], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '22|->22 : closure({})',
'-evalf', '22|->21 : closure({})',
'-evalt', '22|->22 : iterate({},0)',
'-evalt', '11|->66 : closure({11|->22,22|->33,22|->44,33|->55,33|->66})',
'-evalt', '{100|->100,11|->66} <: closure({11|->22,22|->33,22|->44,33|->55,33|->66})',
'-evalt', 'closure1({11|->22,22|->33,22|->44,33|->55,33|->66}) <: closure({11|->22,22|->33,22|->44,33|->55,33|->66})',
'-evalf', '33|->22 : closure({11|->22,22|->33,22|->44,33|->55,33|->66})'
], 'Check some reflexive closure predicates').
cli_testcase(1881, [cbc,symmetry_test], ['../prob_examples/public_examples/B/SymmetryReduction/StaticSymmetryReduction/DefSetTest1.mch', '-mc', '15',
'-nodead',
'-cc', '7', '6', '-strict' ], 'Check that static symmetry reduction works as expected').
cli_testcase(1882, [b_test,closure1,forall], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '!(x,y).(x:S & y:S => (x>y => x=y+2)) & S = {0,x} & x>0',
'-evalf', '!(x,y).(x:S & y:S => (x>y => x=y+2)) & S = {0,x,y} & x>y & y>0',
'-evalf', '!(x,y).(x:y & y<:1..2 => x>2)'
], 'Test forall splitting').
cli_testcase(1883, [b_test,closure1], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalf', 'x: 1..n --> 1..n & closure1(x)[{1}] = {} & n=25',
'-evalt', 'x: 1..n --> 1..n & closure1(x)[{1}] = 3..n & n=7'
], 'Check image for closure1 improvements').
cli_testcase(1884, [b_test,card], ['../prob_examples/public_examples/B/FeatureChecks/DeferredSetAndConstants2.mch', '-mc', '5',
'-nodead',
'-cc', '3', '2', '-strict'], 'Check that enumerated set / partition detection works').
cli_testcase(1885, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TRY_FIND_ABORT', 'FALSE',
'-evalf', 'f = %x.(x:1..90|100+x) & f(v)+f(w)+f(y)+f(z) < 400',
'-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',
'-evalt', 'v={1|->rec(a:11,b:22), 2|->rec(a:22,b:33)}& r={x|v(x)\'b = x}'
], 'Test improved propagation for function application, also in combination with record field reduction in b_compiler').
cli_testcase(1886,[private, data_validation,alstom,codespeed],[
'../prob_examples/examples/B/Alstom/sgd_Jun11/vital_gradient_v3/vital_gradient_optimized.mch',
'-p', 'DATA_VALIDATION', 'TRUE', % data_validation_mode preference
'-p', 'CLPFD', 'TRUE', '-p', 'MAXINT', '2147483647', '-p', 'MININT', '-2147483648', '-p', 'TIME_OUT', '35000', '-t'],
'test 1105 in DATA_VALIDATION mode').
cli_testcase(1887, [b_test,symmetry_test], [
'../prob_examples/public_examples/B/SymmetryReduction/StaticSymmetryReduction/DefSetPartTest1.mch',
'../prob_examples/public_examples/B/SymmetryReduction/StaticSymmetryReduction/DefSetPartTest2.mch',
'../prob_examples/public_examples/B/SymmetryReduction/StaticSymmetryReduction/DefSetPartTest3.mch',
'../prob_examples/public_examples/B/SymmetryReduction/StaticSymmetryReduction/DefSetPartTest4.mch',
'../prob_examples/public_examples/B/SymmetryReduction/StaticSymmetryReduction/DefSetPartTest5.mch',
'-mc', '1000', '-nodead', '-nogoal', '-assertions', '-strict'], 'Check that partition symmetry reduction works').
cli_testcase(1888, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TRY_FIND_ABORT', 'FALSE',
'-evalnwd', 'v = %x.(x:1..20|x+x) & y<4 & z=v(y) & (y:{-1,2}) & y /= 2',
'-expcterr', well_definedness_error
], 'Test improved propagation for function application does not prevent finding WD problem').
cli_testcase(1889, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TRY_FIND_ABORT', 'FALSE',
'-evalnwd', 'v = %x.(x:1..20|x+x) & {y,z|y<4 & z=v(y) & (y:{-1,2})} =res',
'-expcterr', well_definedness_error
], 'Test improved propagation for function application does not prevent finding WD problem').
cli_testcase(1890, [private,data_validation], ['../prob_examples/examples/B/Systerel/C578/2013/machines_24092013/07_001.mch',
'-init' ,'-assertions', '-p', 'SYMBOLIC', 'TRUE', '-p', 'MEMO', 'TRUE', '-p', 'TIME_OUT', 39500,
'-p', 'DETECT_LAMBDAS', 'TRUE',
'-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', 0 ], 'Test 1161 with lambda detection').
cli_testcase(1891, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/CBC/Tests/TestSequenceVariable.mch',
'-cbc', 'all', '-expcterr', cbc
], 'Test cbc finds error with sequence type').
cli_testcase(1892, [cbc,symmetry_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/CBC/Tests/TestPartitionStaticSymReduction.mch',
'-cbc', 'all'
], 'Test static symmetry reduction works with cbc').
cli_testcase(1893, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalf', '{1,2}*(1..1000) = {}',
'-evalt', '{1,2}*(1..1000) /= {}',
'-evalf', '{1,2}*x = {} & x<:INTEGER & 22:x',
'-evalt', '{1,2}*x /= {} & x<:INTEGER & 22:x',
'-evalf', 'x*x = {} & x<:INTEGER & 22:x',
'-evalt', 'x*x /= {} & x<:INTEGER & 22:x'
], 'Test improved detection of empty cartesian product closures').
cli_testcase(1894, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/CBC/RiverCrossing_BMC.mch',
'-init', '-assertions', '-model-check', '-nogoal', '-nodead'
], 'Test constraints solved quickly').
cli_testcase(1895, [b_test,let], [
'-evalt', '40 = LET i,j BE i=10 & j=i+20 IN i+j END'
], 'ensure error in nested LET expression detected').
cli_testcase(1896, [proz,let], [ '../prob_examples/public_examples/Z/Daniel/tests/let.tex', '-t',
'-mc', 2000, '-cc', 1839, 4195
], 'ensure Zed LETs treated correctly').
cli_testcase(1897, [cbc,card], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'card(%(x,y).(x:(1..10) --> BOOL&y:iseq(1..2)|1)) = 5120',
'-evalt', 'card(%(x,y).(x:(1..10) --> BOOL&y:(1..10) --> BOOL|1))>100',
'-evalt', 'card(%(x,y).(x:(1..10) --> BOOL&y:(1..10) +-> BOOL|1))>100',
'-evalt', 'card(%(x,y).(x:(1..10) -->> BOOL&y:(1..10) +->> BOOL|1))>100',
'-evalt', 'card(%(x,y).(x:(1..10) <-> BOOL&y:(1..10) >->> (2..11)|1))>100'
], 'Test improved detection of cartesian product closures').
cli_testcase(1898, [tickets,strings], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'x = "a\\\\" & y="bcd"',
'-evalf', 'x = "a\\\\" & x="a"'
], 'Test \\ at end of string (no pushback overflow)').
cli_testcase(1899, [tickets,proz,private], [ '-p', 'MAX_OPERATIONS', 900, % TO DO: try and reduce the need for this high value
'../prob_examples/examples/Z/Patterns/forProB/ReturnHome ProZ v1.tex',
'-t', '-model-check'],
'Ensure no timeouts').
cli_testcase(1900, [tickets,proz,private], [ '-p', 'MAX_OPERATIONS', 1800,
'../prob_examples/examples/Z/Patterns/forProB/ReturnHome ProZ v2.tex',
'-t', '-model-check'],
'Ensure no timeouts').
cli_testcase(1901, [tickets, let], [
'../prob_examples/public_examples/B/ErrorMachines/LET_Illegal.mch',
'-expcterrpos', type_error, 14, 35, '-expcterrpos', type_error, 14, 53, '-expcterr', load_main_file],
'check illegal LET detected').
cli_testcase(1902, [tickets,private,data_validation,let], [
'../prob_examples/examples/B/Alstom/Ticket_LET_Mar26_2018/essai.mch',
'-expcterrpos', type_error, 25, 5, '-expcterr', load_main_file],
'check illegal LET detected and no infinite loop in typechecker').
cli_testcase(1903, [b_test,infinite,total_function], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'f = NATURAL1 * {22} & f: NATURAL1 --> NATURAL',
'-evalt', 'f = %x.(x:NATURAL1|x+1) & f: NATURAL1 --> NATURAL',
'-evalf', 'f = %x.(x:NATURAL|x+1) & f: NATURAL1 --> NATURAL',
'-evalt', 'f = /*@symbolic*/ {x|x:NATURAL1*INTEGER & prj2(INTEGER,INTEGER)(x)=prj1(INTEGER,INTEGER)(x)+1} & r = f(2)',
% '-evalt', 'f = /*@symbolic*/ {x|x:NATURAL1*INTEGER & prj2(INTEGER,INTEGER)(x)=prj1(INTEGER,INTEGER)(x)+1} & f: NATURAL1 --> NATURAL' % TODO
%'-evalf', 'f = NATURAL1 * {22,33} & f: NATURAL1 --> NATURAL' %% TO DO
'-evalt', ' %(x,z).(x:NATURAL & z:NATURAL|x+z) : (NATURAL*NATURAL)-->NATURAL',
'-evalt', ' %(x,z).(x:NATURAL & z:NATURAL|max({z,x,x/z,-x})) : (NATURAL*NATURAL)-->NATURAL'
%'-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
], 'Test symbolic treatment of total function').
cli_testcase(1904,[enabling,private,read_write],[
'../prob_examples/examples/B/ASTD/wetransfer-545a33/Case_Study_Handmade/TRAIN_CONTROL_M6.mch',
'-t',
'-read_write_matrix_csv', '../prob_examples/examples/B/ASTD/wetransfer-545a33/Case_Study_Handmade/TRAIN_CONTROL_M6_rw_matrix.csv'
], 'Check read-write-matrix with nested operation calls.').
cli_testcase(1905, [b_test,infinite,total_function,card], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'CLPFD', 'FALSE', '-p', 'DISPROVER_MODE', 'TRUE',
'-evalt', 'card({x|x > 2 & x mod 2 =0 & x<=10})=4',
'-evalt', '{x|x > 2 & x mod 2 =0 & x<=10} = {4,6,8,10}',
'-evalt', '{x|x > 2 & x mod 2 =0 & x<10} = {4,6,8}',
'-evalt', '{x|x >= 2 & x mod 2 =0 & x<10} = {2,4,6,8}',
'-evalt', '{x|x : NATURAL & x mod 2 = 0 & x <= 10} = {0,2,4,6,8,10}',
'-evalt', '{x|x : NATURAL1 & x mod 2 = 0 & x <= 10} = {2,4,6,8,10}'
], 'Test improved integer enumeration in non-CLPFD mode').
cli_testcase(1906, [b_test,while,private,records],
['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TYPE_CHECK_DEFINITIONS', 'TRUE',
'../prob_examples/examples/B/SupervisoryControl/obs1/DES_12_3_Prop4_H_Fig8b_PartitionV1.mch',
'-strict','-t'], 'Check that type checking definitions not confounded by parameter/variable A clash').
cli_testcase(1907,[csp_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/CSP/Tickets/WilliamsCSPB/AirportsCtrl.csp',
'-t', '-strict'], 'Testing example with src_span_operator.').
cli_testcase(1908,[csp_test,private], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/ASTD/Library/Library_2_1.csp',
'-t', '-mc', 90, '-strict'], 'Test state space finite using new [] normalisation rule.').
cli_testcase(1909, [ltl,xtl], ['../prob_examples/public_examples/XTL/BauerZiege.P',
'-ltlformulat', 'G not(deadlock)',
'-ltlformulaf', 'G not(e(move))',
'-ltlformulaf', 'G not({unsafe})'], 'Test XTL LTL example').
cli_testcase(1910, [b_test,pragmas], [
'../prob_examples/public_examples/B/Pragmas/package_pragma/a/aa/Machine_A.mch',
'-init'], 'Test package pragme with dot').
cli_testcase(1911, [tickets,tla,wd], [
'../prob_examples/public_examples/TLA/Thales/PingPong/scn_1_node.tla',
'../prob_examples/public_examples/TLA/Thales/PingPong_ASSERT/scn_1_node.tla',
'-t', '-mc', 40], 'Check no wd errors thrown').
cli_testcase(1912, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalf', 'NATURAL \\{1} \\ {2} = NATURAL \\ {3} \\ {1}',
'-evalt', 'NATURAL \\{1} \\ {2} = NATURAL \\ {2} \\ {1}',
'-evalt', 'NATURAL \\{12} \\ {22} = NATURAL \\ {22} \\ {12}',
'-evalt', 'NATURAL1 \\{12} \\ {22} = NATURAL1 \\ {22} \\ {12}',
'-evalt', 'NATURAL \\{0} \\ {2} = NATURAL \\ {2} \\ {0}',
'-evalt', 'NATURAL \\{0} \\ {1} = NATURAL \\ {1} \\ {0}',
'-evalf', 'NATURAL \\{0} \\ {2} = NATURAL \\ {1} \\ {0}',
'-evalf', 'NATURAL \\{0} \\ {1} = NATURAL \\ {2} \\ {0}',
'-evalt', 'NATURAL1 \\{12} \\ {22} = NATURAL \\ {22} \\ {12} \\ {0}',
'-evalf', 'NATURAL1 \\{12} = NATURAL \\{12}',
'-evalf', '{x|x>22 & x<100} = {y|y>=k}',
'-evalt', '{x|x>22} = {y|y>=k}',
'-evalt', '{x|x>22} = {x|x>=k}',
'-evalt', '{x|x>22 & x<100} = {y|y>=k & y<m}',
'-evalt', '{x,y|x>22&y>100} = /*@symbolic*/ {y1,x1|x1>k & y1>m}',
'-evalf', 'NATURAL1 = NATURAL - {1}',
'-evalt', 'NATURAL1 = NATURAL - {0}',
'-evalt', 'NATURAL1 = NATURAL1 - {0}',
'-evalf', '{x|x>0 & x mod 22 = 0 & x < 1000} = NATURAL'
%'-evalf', '{x|x>0 & x mod 22 = 0 & x < 1000} = NATURAL \\{12}' % commented out for the moment; conflict with 1081
], 'ensure symbolic treatment of equality').
cli_testcase(1913, [cbc], [
'-evalf', '{x|x>0 & x mod 22 = 0} = NATURAL \\{12}',
'-evalf', '{x|x>0 & x mod 2 = 0} = {x|x>0 & x mod 3 = 0}',
'-evalt', '{x|x>0 & x /= 22} = {x|x>0 & (x = 22 => x>22)}',
'-evalf', 'NATURAL1 \\{12} = INTEGER \\{12}'
], 'ensure symbolic treatment of equality').
cli_testcase(1914, [cbc,sequences,sigma], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'x:iseq(50001..50002) & y:1..100005 & SIGMA(yy).(yy:1..size(x)|x(yy)) = y & y>50002',
'-evalt', 'x:iseq(50001..50002) & y:1..100005 & SIGMA(yy).(yy:dom(x)|x(yy)) = y & y>50002',
'-evalt', 'x:iseq(80001..80002) & y:1..100005 & SIGMA(yy).(yy:dom(x)|x(yy)) = y'
], 'ensure earlier enumeration of iseq').
cli_testcase(1915, [cbc,private,enabling,wd], ['../prob_examples/examples/B/Alstom/etcs/actions_scn_f6_372_bis.mch',
'-feasibility_analysis_csv', 1000, '../prob_examples/examples/B/Alstom/etcs/actions_feasibility.csv'
], 'Check that feasibility can be shown without wd errors').
cli_testcase(1916,[cbc],[
'../prob_examples/public_examples/EventBPrologPackages/Advance/CAN_Bus/CB3FSMM_mch_v2.eventb',
'-cbc', 'T2ReleaseBus', '-expcterr', 'cbc'
], 'Check invariant violation found despite use of unproven finite() in invariant').
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').
cli_testcase(1918, [refinement], ['../prob_examples/public_examples/B/EventB_AtelierB/SimpleCounter1.ref',
'-t', '-mc', 100, '-cc', 10, 28,
'-strict'], 'Test ref keyword for Atelier-B Event-B model').
cli_testcase(1919, [external], ['../prob_examples/public_examples/B/ExternalFunctions/SORT_External.mch',
'-assertions', '-t'], 'test SORT and SQUASH external functions').
cli_testcase(1920,[while, codespeed],[
'../prob_examples/public_examples/B/PerformanceTests/While/LiftExec.mch','-strict',
'-init', '-property', 'LIM=500', '-p', 'TIME_OUT', 2500,
'-animate', 1,
'-goal', 'counter=LIM', '-check_goal' ], 'Performance of while loop').
cli_testcase(1921,[wd, error_checks],[
'../prob_examples/public_examples/B/ErrorMachines/WD_SetCompr_Error.mch', '-strict',
'-init', '-expcterr', well_definedness_error,
'-opterr', 'setup_constants_fails', % as of 17.3.2023 we have partial_setup_constants
'-opterr', setup_constants_unknown
], 'Check error detected and no constants found').
cli_testcase(1922,[wd, tickets],[
'../prob_examples/public_examples/B/Tickets/VBF_DB_EnumWarning/Ticket.mch', '-strict',
'-init'
], 'Check no enum warning raised due to large CLPFD interval but small fd_size').
cli_testcase(1923, [tickets,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647,
'-evalt', 'x <: INT - {0}',
'-evalf', '{0,1,2} <: INT - {0}',
'-evalt', '{-2147483647,1,2,2147483647} <: INT - {0}',
'-evalf', '{2147483648} <: INT - {0}'
], 'ensure symbolic treatment of set difference').
cli_testcase(1924,[tickets,while],[
'../prob_examples/public_examples/B/Tester/OpCalls/ParaClash/Call1.mch', '-strict',
'-t'
], 'Check no issue with compilation of operation calls with id clashes').
cli_testcase(1925,[tickets,while],[
'../prob_examples/public_examples/B/Tester/OpCalls/ParaClash/Call1_Clash.mch', '-strict',
'-expcterr', bmachine_static_checks, % Warnings about variable clashes
'-t'
], 'Check no issue with compilation of operation calls with id clashes').
cli_testcase(1926,[alloy],[
'../prob_examples/public_examples/Alloy/SimpleTests/Join_Binary.als',
'../prob_examples/public_examples/Alloy/SimpleTests/Join_Complex.als',
'../prob_examples/public_examples/Alloy/SimpleTests/Quantifiers.als',
'../prob_examples/public_examples/Alloy/SimpleTests/Comprehension.als',
'../prob_examples/public_examples/Alloy/SimpleTests/CartesianProduct.als',
'../prob_examples/public_examples/Alloy/SimpleTests/Restrictions.als',
'../prob_examples/public_examples/Alloy/SimpleTests/EmptyAssert.als',
'../prob_examples/public_examples/Alloy/SimpleTests/EmptyPred.als',
%'../prob_examples/public_examples/Alloy/SimpleTests/TestUtilInteger.als',
'../prob_examples/public_examples/Alloy/SimpleTests/natural_no_alias.als',
'../prob_examples/public_examples/Alloy/SimpleTests/natural.als',
'../prob_examples/public_examples/Alloy/SimpleTests/Arithmetic.als',
'../prob_examples/public_examples/Alloy/SimpleTests/TestUtilBool.als',
'../prob_examples/public_examples/Alloy/SimpleTests/BinaryDifferentlyTyped.als',
'../prob_examples/public_examples/Alloy/SimpleTests/ambiguous_field_name.als',
'../prob_examples/public_examples/Alloy/Puzzles/harry-potter.als',
'../prob_examples/public_examples/Alloy/Puzzles/queens.als',
'../prob_examples/public_examples/Alloy/Puzzles/queens_with_pred.als',
'-strict', '-t', '-p', 'ALLOY_STRICT_INTEGERS', 'TRUE'
], 'Check Alloy translation').
cli_testcase(1927,[alloy,cbc,cbc_tests],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/Alloy/alloy_models/toys/grandpa.als',
'../prob_examples/public_examples/Alloy/alloy_models/toys/grandpa.als',
'-cbc_sequence', run0,
'-expcterr', 'cbc_sequence_no_solution_found',
'-strict'], 'Test Alloy model and *no* solution for run0').
cli_testcase(1928,[alloy,cbc],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/Alloy/SimpleTests/multiplicity_birthday_test.als',
'-t', '-mc', 100, '-cc', 3, 3, % 3 nodes: root, setup_constants, init
'-strict'], 'Test Alloy models have exactly one solution').
cli_testcase(1929,[alloy,cbc,cbc_tests],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/Alloy/laws/orderings.als',
'-cbc_sequence', run0,
'-strict'], 'Test Alloy model and solution for run0 found').
cli_testcase(1930,[alloy,cbc,cbc_tests],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/Alloy/alloy_models/systems/lists.als',
'-cbc_sequence', run0,
'-strict'], 'Test Alloy model and solution for run0 found').
cli_testcase(1931,[b_test],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/FeatureChecks/DEFINITIONS/VariableListAsDEFINITION.mch',
'-init'], 'Try using DEFINITION as variable list').
cli_testcase(1932,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../private_examples/Thales/Hansen_CSV_Loop/CSV_Input.rmch',
'-execute_all', '-animate_stats', '-p', 'CLPFD', 'TRUE'], 'Ensure complex set unification due to partial sequence skeleton is avoided').
cli_testcase(1933, [union,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647,
'-evalt', 'r = /*@symbolic*/ UNION(x).(x:NATURAL|{x,x+100}) & 100:r',
'-evalf', 'r = /*@symbolic*/ UNION(x).(x:NATURAL|{x,x+100}) & -100:r',
'-evalt', 'r = /*@symbolic*/ UNION(x).(x:NATURAL|{x+1}) & 1:r & 0/:r',
'-evalt', 'r = /*@symbolic*/ UNION(x).(x:NATURAL|{x+2,x+3}) & 2:r & 1/:r',
'-evalt', 'r = /*@symbolic*/ {u|#x.(x : NATURAL & u : {x |-> x * x,x |-> x + x})} & 10|->20 : r',
'-evalt', '!y.(y:10..12 => #x.(x : NATURAL & y|->2*y : {x |-> x * x,x |-> x + x}))',
'-evalf', '!y.(y:10..12 => #x.(x : NATURAL & y|->3*y : {x |-> x * x,x |-> x + x}))',
'-evalt', 'r = /*@symbolic*/ UNION(x).(x:NATURAL|{x|->x*x, x|->x+x}) & r[10..11]=x',
'-evalt', 'r = /*@symbolic*/ UNION(x).(x:NATURAL|{x|->x*x, x|->x+x}) & r[10..11]={20,22,100,121}',
'-evalt', '{u,v|u=10|->v & #x.(x : NATURAL & u : {x |-> x * x,x |-> x + x})} = {((10|->20)|->20),((10|->100)|->100)}'
], 'ensure symbolic treatment of UNION').
cli_testcase(1934,[cbc],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tester/TestProjection.mch',
'-assertions'], 'Ensure projection onto static assertion filters out unrelated constant').
cli_testcase(1935,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../private_examples/Thales/Hansen_EnumerationProblem/Runner_EnumerationProblem.rmch',
'-execute_all', '-animate_stats',
'-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
'-p', 'TRY_FIND_ABORT', 'TRUE', '-p', 'DATA_VALIDATION', 'TRUE',
'-silent', '-noinv'], 'Ensure no time-out in COMP_CSVRecords').
cli_testcase(1936,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../private_examples/Thales/Hansen_EnumerationProblem/Runner_EnumerationProblem.rmch',
'-execute_all', '-animate_stats',
'-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
'-p', 'TRY_FIND_ABORT', 'FALSE', '-p', 'DATA_VALIDATION', 'TRUE',
'-silent', '-noinv'], 'Ensure no time-out in COMP_CSVRecords (TRY_FIND_ABORT=FALSE)').
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').
cli_testcase(1938, [laws,strings,external], ['../prob_examples/public_examples/B/Laws/StringLiteralTests.mch', '-assertions', '-strict'], 'Some tests about the STRING literals').
cli_testcase(1939, [union,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'MAXINT', 127, '-p', 'MININT', -128,
'-evalt', 'x = INTEGER \\ {1000} & !v.(v:x => v/=1000)',
'-evalf', 'x = INTEGER \\ {1000} & !v.(v:x => v>2000)',
'-evalt', 'x = INTEGER \\ {10} & x \\/ {11} = res & res=x'
], 'Test for not-member closures').
cli_testcase(1940, [tickets,pragmas], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-aa', 2, 0, 0, % check that label pragmas respected
'-properties',
'../prob_examples/public_examples/B/Tickets/Pragmas/LabelBoolPragmaDisappears.mch'
], 'Test label pragma respected by assertions').
cli_testcase(1941, [refinement,b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-init',
'-dot', invariant, '../prob_examples/public_examples/B/RefinementChecking/LinkingInvariants/M1_invariant.dot',
'-dot', machine_hierarchy, '../prob_examples/public_examples/B/RefinementChecking/LinkingInvariants/M1_hierarchy.dot',
'../prob_examples/public_examples/B/RefinementChecking/LinkingInvariants/M1.ref'
], 'Test one invariant copied from abstract machine').
cli_testcase(1942, [error_checks,private], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/Satpathy/SystemOnChip/Router.mch', '-t'
], 'Check no bmachine_static_checks for disjunction in invariant').
cli_testcase(1943, [b_test,external,regex], ['../prob_examples/public_examples/B/ExternalFunctions/TestLibraryRegexp.mch', '-assertions', '-force_no_silent'], 'Test Regular Expression Library').
cli_testcase(1944,[eventb_test],[
'../prob_examples/public_examples/EventBPrologPackages/TreeFileSysContPerm/FMCH02.eventb',
'-t', '-p', 'DEFAULT_SETSIZE', 2
], 'Check Event-B model with complicated properties (and axiomatized transitive closure)').
cli_testcase(1945,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../private_examples/ClearSy/N_ITERa_avec_DV_sans_DV/rule_avec_DV.mch',
'-execute_all', '-animate_stats',
'-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
'-p', 'TRY_FIND_ABORT', 'FALSE', '-p', 'DATA_VALIDATION', 'TRUE',
% '-p', 'LIFT_EXISTS', 'TRUE', % should also work without this
'-execute_expect_steps', 44,
'-evalt', 'caval__rule__1__done=TRUE & caval__rule__1__ALL={({}|->TRUE)} & caval__rule__1__isKO=FALSE',
'-evalt', 'caval__rule__2__done=TRUE & caval__rule__2__dataverified={} & caval__rule__2__isKO=FALSE',
'-evalt', 'caval__rule__3__done=TRUE & caval__rule__3__dataverified={} & caval__rule__3__isKO=FALSE',
'-evalt', 'caval__rule__4__done=TRUE & card(caval__rule__4__ALL)=3 & caval__rule__4__isKO=TRUE',
'-evalt', 'caval__rule__5__done=TRUE & card(caval__rule__5__ALL)=5 & caval__rule__5__isKO=TRUE',
'-evalt', 'caval__rule__6__done=TRUE & caval__rule__6__dataverified={} & caval__rule__6__isKO=TRUE',
'-silent', '-noinv'], 'Ensure no problem with caval__rule__2__ALL set comprehension and lifting out of exists quantifier').
cli_testcase(1946,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../private_examples/ClearSy/N_ITERa_avec_DV_sans_DV/rule_avec_DV.mch',
'-execute_all', '-animate_stats',
'-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
'-p', 'TRY_FIND_ABORT', 'FALSE', '-p', 'LIFT_EXISTS', 'TRUE',
'-execute_expect_steps', 44,
'-evalt', 'caval__rule__1__done=TRUE & caval__rule__1__ALL={({}|->TRUE)} & caval__rule__1__isKO=FALSE',
'-evalt', 'caval__rule__2__done=TRUE & caval__rule__2__dataverified={} & caval__rule__2__isKO=FALSE',
'-evalt', 'caval__rule__3__done=TRUE & caval__rule__3__dataverified={} & caval__rule__3__isKO=FALSE',
'-evalt', 'caval__rule__4__done=TRUE & card(caval__rule__4__ALL)=3 & caval__rule__4__isKO=TRUE',
'-evalt', 'caval__rule__5__done=TRUE & card(caval__rule__5__ALL)=5 & caval__rule__5__isKO=TRUE',
'-evalt', 'caval__rule__6__done=TRUE & caval__rule__6__dataverified={} & caval__rule__6__isKO=TRUE',
'-silent', '-noinv'], 'Ensure no problem with caval__rule__2__ALL set comprehension and lifting out of exists quantifier').
cli_testcase(1947, [smt_solver_integration], [
'../prob_examples/public_examples/B/Tickets/Z3/Aufgabe2.mch', '-init', %'-vv',
'-evalt', ':z3-double-check x:liefert',
'-evalt', ':z3-double-check x:bes',
'-evalt', ':z3-double-check x|->a3:liefert',
'-evalf', ':z3-double-check l2|->a3:liefert',
'-evalt', ':z3-double-check x:liefert[{l1}]',
'-evalt', ':z3-double-check x:liefert[{l1}] & k|->b : bes & x:b',
'-evalf', ':z3-double-check x:liefert[{l1}] & k|->b : bes & x:b & k /= k2 & x /= a1 & k /= k3'
], 'some constraints that should be solved by z3; check ticket with ProB state').
cli_testcase(1948, [infinite,tickets], [
'../prob_examples/public_examples/B/Tickets/Hansen36_Lambda/TestBugly.mch', '-init',
'-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
'-p', 'TRY_FIND_ABORT', 'FALSE', '-p', 'TRACE_INFO', 'TRUE',
'-mc', 100, '-nodead'
], 'check nested function calls cause no problem').
cli_testcase(1949, [b_test], [
'-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)}'
], 'test ELSIF for expressions').
cli_testcase(1950,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../private_examples/ClearSy/Well_def_1.9.0_b5/Err/rule_SSO_SLOT_MSG_ID_SET_SSO/rule.mch',
'-execute_all', '-animate_stats',
'-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
'-p', 'DATA_VALIDATION', 'TRUE',
'-p', 'COMPRESSION', 'TRUE',
'-execute_expect_steps', 6,
'-evalt', 'caval__rule__4__done=TRUE & caval__rule__4__isKO=TRUE',
'-ppf', '../private_examples/ClearSy/Well_def_1.9.0_b5/Err/rule_SSO_SLOT_MSG_ID_SET_SSO/rule_SSO_SLOT_bugly.mch',
'-p', 'BUGLY', 'TRUE',
'-silent'
], 'Ensure wd-problem solved').
cli_testcase(1951,[wd,tickets,private,data_validation],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/ClearSy/Tickets/Well_def_1.9.0_b5/rule_bugly.mch',
'-execute_all', '-animate_stats',
'-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
'-p', 'DATA_VALIDATION', 'TRUE',
'-p', 'COMPRESSION', 'TRUE',
'-silent'], 'Ensure wd-problem solved (BUGLY version of test 1950)').
cli_testcase(1952,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../private_examples/ClearSy/ComparePv10Pv11/DebugPv10/rule_Test__RGP_71237__RI_091/rule.mch',
'../private_examples/ClearSy/ComparePv10Pv11/DebugPv11/rule_Test__RGP_71237__RI_091/rule.mch',
'-execute', 9, '-animate_stats', '-silent',
'-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
'-p', 'DATA_VALIDATION', 'TRUE',
'-p', 'COMPRESSION', 'TRUE', '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647,
'-silent'], 'Ensure in_domain delay solved').
cli_testcase(1953,[b_test,operation_calls_in_expr],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/NewSyntax/CallOperationInExprSimple.mch',
'-p', 'ALLOW_OPERATION_CALLS_IN_EXPRESSIONS', 'TRUE',
'-t', '-assertions',
'-evalt', 'Double(33)=66',
'-evalt', 'Double(Double(33))=132',
'-evalf', 'Double(3)=3',
'-evalt', 'Divisors(17)=2'
], 'Test calling operations in expressions').
cli_testcase(1954,[b_test,operation_calls_in_expr],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/NewSyntax/CallOperationInExpr_Compile.mch',
'-p', 'ALLOW_OPERATION_CALLS_IN_EXPRESSIONS', 'TRUE',
'-t'
], 'Test calling operations in expressions with closure compilation').
cli_testcase(1955,[b_test],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tester/LogXML/WD_Error.mch',
'-execute_all', '-logxml', '../prob_examples/public_examples/B/Tester/LogXML/problog.xml',
'-expcterr', well_definedness_error
], 'Test generation of locations in xml file').
cli_testcase(1956, [b_test,infinite,total_function], [
'-evalf', '%(x,z).(x:NATURAL & z:NATURAL1|min({z,x,x/z,-x})) : (NATURAL*NATURAL1)-->NATURAL' % raises enum warning; but finds counter example
], 'Test symbolic treatment of total function').
cli_testcase(1957,[private_source_not_available], % also covering operation_calls_in_expr
['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../private_examples/Thales/Hansen_Compile/Main_StringToIPV4.mch',
'-execute', 4, '-animate_stats', '-silent', '-expcterr', deadlock,
'-p', 'CLPFD', 'FALSE', '-p', 'MAXINT', 2147483647, '-p', 'MININT', -2147483647,
'-silent'], 'Ensure compilation of operation_call_in_expr with op(.) identifiers in read info solved; contains while'). % ALLOW_OPERATION_CALLS_IN_EXPRESSIONS
cli_testcase(1958, [b_test,cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '{x|1..x <: {1,2,3,5} & x>1} = 2..3',
'-evalt', 'card({x|1..x <: {1,2,3,5} & x>1}) = 2',
'-evalt', '{ss | ss <: 0..0 & ss /= {} & ss=0..max(ss)} = {{0}}',
'-evalt', '{ss | ss <: 0..2 & ss /= {} & ss=0..max(ss)} = {{0},{0,1},{0,1,2}}'
%'-evalt', '{x,y|x..y <: {10,12,13,15} & y>x} = 12..13', % requires CHR
], 'Ensure improved treatment of interval subset').
cli_testcase(1959, [b_test,cbc], [
'-evalt', '/*@symbolic */ {z|z>3 & z mod 3 =0} <: {x|x>5 & x mod 3=0}',
'-evalf', '/*@symbolic */ {z|z>3 & z mod 3 =0} <: {x|x>6 & x mod 3=0}',
'-evalt', '/*@symbolic */ {z|z>3 & z mod 3 =0} <: {x|x>1}',
'-evalf', '{z|z:seq(BOOL) & 1|->TRUE:z} <: {z|z:seq(BOOL) & 1|->FALSE:z}',
'-evalt', '/*@symbolic */ {z,v|z:seq(BOOL) & 1|->TRUE:z & v>2} <: /*@symbolic */ {v,z|v:seq(BOOL) & 1|->TRUE:v & z>1}',
'-evalf', '/*@symbolic */ {z,v|z:seq(BOOL) & 1|->TRUE:z & v>2} <: /*@symbolic */ {v,z|v:seq(BOOL) & 1|->TRUE:v & z>3}',
'-evalt', '{z|z>3 & z mod 3 =0} <: NATURAL'
], 'Ensure improved symbolic treatment of subset').
cli_testcase(1960,[b_test,operation_calls_in_expr],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/NewSyntax/OperationWithAssert.mch',
'-p', 'ALLOW_OPERATION_CALLS_IN_EXPRESSIONS', 'TRUE',
'-assertions'
], 'Test calling operations with assertions inside expressions').
cli_testcase(1961,[refinement],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/RefinementChecking/AtelierB_EventB/Main1.ref',
'-mc', 1000
], 'Check that abstract events not copied to refinement machine, as they are refined.').
cli_testcase(1962,[alloy,cbc,cbc_tests],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/Alloy/laws/SetLaws_Scope2.als',
'-cbc_sequence', check0,
'-expcterr', 'cbc_sequence_no_solution_found',
'-strict'], 'Test Alloy laws and *no* solution for check0').
cli_testcase(1963, [b_test,cruise,codespeed], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-mc', '1400', '-bf',
'-cc', '1361', '1379', % was 1360, but now we store transitions for uncovered operations
'-strict', '-nodead', '-p', 'MAX_INITIALISATIONS', 5,
'-p', 'SAFETY_MODEL_CHECK', 'TRUE'], 'Complete Model Check of Cruise Controller with SAFETY_MODEL_CHECK').
cli_testcase(1964, [refinement], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/RefinementChecking/AtelierB_EventB/Main1_v2.ref',
'../prob_examples/public_examples/B/RefinementChecking/AtelierB_EventB/Main2_v2.ref',
'../prob_examples/public_examples/B/RefinementChecking/AtelierB_EventB/Main2_v3.ref',
'-strict','-mc', '1000'], 'Check invariants copied correctly').
cli_testcase(1965, [refinement], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/RefinementChecking/AtelierB_EventB/Main1_err.ref',
'-expcterr', 'invariant_violation', '-strict',
'-mc', '1000'], 'Check invariants copied correctly').
cli_testcase(1966, [wd,exists,rulesdsl], [
'../prob_examples/public_examples/B/Tickets/Hansen37_WD_Exists/WD_Exists.rmch',
'-expcterr', well_definedness_error, '-expcterr', animate,
'-animate', 3], 'Check WD error inside negated existential quantifier detected').
cli_testcase(1967, [b_test,infinite,total_function,wd], [
'-evalnwd', '%(x,z).(x:NATURAL & z:NATURAL|min({z,x,x/z,-x})) : (NATURAL*NATURAL)-->NATURAL', % raises enum warning; but finds counter example
'-expcterr', well_definedness_error,
'-opterr', eval_string_enum_warning
], 'Test wd error found due to division by 0').
cli_testcase(1968, [b_test,infinite,memoize], ['../prob_examples/public_examples/B/FunctionalProgramming/MemoizationTests.mch', '-assertions'], 'Check function memoization works').
cli_testcase(1969, [b_test,operation_calls_in_expr], ['../prob_examples/public_examples/B/NewSyntax/ExpressionsWithOperations/TopologyOpExpr.mch',
'-p', 'ALLOW_OPERATION_CALLS_IN_EXPRESSIONS', 'TRUE',
'-t', '-assertions'], 'Check local operations called in expressions').
cli_testcase(1970, [laws,rel_fnc,wd,memoize], ['../prob_examples/public_examples/B/Laws/FunLawsWithLambdaMemo.mch',
'-mc', '500', '-cs', '-nogoal', '-nodead', '-strict','-p', 'DOUBLE-EVALUATION', 'TRUE',
'-p', 'MEMOIZE_FUNCTIONS', 'TRUE',
'-expcterr', 'model_check_incomplete'], 'Test 458 with MEMOIZE_FUNCTIONS.').
cli_testcase(1971, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt_rc', '%x.(x:NATURAL|x) : NATURAL +-> NATURAL',
'-evalt_rc', '%x.(x:NATURAL1|x) : INTEGER +-> NATURAL1',
'-evalf_rc', '%x.(x:NATURAL|x) : NATURAL1 +-> NATURAL',
'-evalf_rc', '%x.(x:NATURAL|x) : NATURAL +-> NATURAL1',
'-evalt_rc', '%x.(x:NATURAL|x+1) : NATURAL +-> NATURAL',
'-evalt_rc', '%x.(x:NATURAL|x+1) : NATURAL +-> NATURAL1',
'-evalf_rc', '%x.(x:NATURAL|x-1) : NATURAL +-> NATURAL',
'-evalt_rc', 'f=%x.(x:NATURAL1|x-1) & f: NATURAL1 +-> NATURAL',
'-evalt_rc', 'f=%x.(x:NATURAL1|x-1) & f: NATURAL +-> NATURAL',
'-evalt_rc', 'f=%x.(x:NATURAL1|x-1) & f: INTEGER +-> NATURAL',
'-evalt_rc', '%(x,y).(x:NATURAL&y:NATURAL|x+y) : NATURAL*NATURAL +-> NATURAL',
'-evalf_rc', '%(x,y).(x:NATURAL&y:NATURAL|x+y) : NATURAL*NATURAL +-> NATURAL1',
'-evalt_rc', '%(x,y).(x:1..100 & y:1..100|x+y) : (1..100)*(1..100) +-> (2..200)',
'-evalt_rc', '%(x,y).(x:1..100 & y:1..100|x+y) : (1..100)*(1..100) +-> (1..10000)',
'-evalf_rc', '%(x,y).(x:1..100 & y:1..100|x+y) : (1..100)*(1..100) +-> (3..200)',
'-evalt_rc', '%(x,y).(x:1..100 & y:1..100|x*y) : (1..100)*(1..100) +-> (1..10000)',
'-evalf_rc', '%(x,y).(x:1..100 & y:1..100|x*y) : (1..100)*(1..100) +-> (2..10000)',
'-evalf_rc', '%(x,y).(x:1..100 & y:1..101|x*y) : (1..100)*(1..101) +-> (1..10000)',
'-evalt_rc', '%(x,y).(x:0..9999 & y:0..9999|(x*y) mod 10000) : (0..9999)*(0..9999) +-> (0..9999)',
'-evalt_rc', '%(aa).(aa : INTEGER | [aa]) : INTEGER +-> seq(INTEGER)',
%'-evalf_rc', '%(aa).(aa : INTEGER | [aa]) : INTEGER +-> seq(NATURAL)', % succeeds but has non-critical enum warning
'-evalt_rc', '%(aa).(aa : NATURAL1 | [aa]) : NATURAL +-> seq(NATURAL1)'
], 'Check new symbolic partial function range detection').
cli_testcase(1972, [tickets,sequences], [
'../prob_examples/public_examples/B/Tickets/ReversePendingCoroutine/TestSuffixWithReverse.mch',
'-mc', 100, '-nodead', '-assertions', '-cc', 5,4], 'Check no pending co-routine in reverse of sequence').
cli_testcase(1973,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../private_examples/ClearSy/2019_June/string_tail/rule_nok.mch',
'-execute', 4, '-animate_stats', '-silent', '-expcterr', deadlock,
'-execute_expect_steps', 3,
'-evalt', 'caval__rule__1__done=TRUE',
'-evalt', 'caval__rule__1__isKO=FALSE',
'-silent'], 'Ensure pending co-routing in reverse of sequence solved').
cli_testcase(1974,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../private_examples/ClearSy/2019_June/performance/toto_ko.mch',
'-execute', 4, '-animate_stats', '-expcterr', deadlock,
'-execute_expect_steps', 3,
'-evalt', 'caval__rule__5__done=TRUE',
'-evalt', 'caval__rule__5__isKO=TRUE',
'-evalt', 'caval__rule__5__ALL = {({(1|->2|->3|->4|->2)}|->FALSE),({(1|->2|->3|->4|->3)}|->FALSE)}',
'-silent'], 'Ensure we do not wait for identifier in exists using used_ids_defined_by_equality optimisation').
cli_testcase(1975, [b_test,exists], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-version',
'-evalt_rc', '{x | x=1 & #(OO,MM).(MM>x & OO:NATURAL1)} = {1}',
'-evalt_rc', '{x | x>1 & x<10 & #(OO,MM).(MM>x & OO:NATURAL1)} = 2..9',
'-evalt_rc', '{x | x=1 & #(OO,MM,VV).(MM>x & OO:NATURAL1 & VV>x)} = {1}',
'-evalt_rc', '{x | x:10..12 & #(OO,MM,VV).(MM>x & OO:NATURAL1 & MM<12 & VV>x)} = {10}'
], 'Partitioning of exists works').
cli_testcase(1976, [laws,rel_fnc,data_validation], ['../prob_examples/public_examples/B/Laws/ExplicitComputations.mch', '-t', '-mc', '100000', '-nodead', '-cs', '-strict',
'-p', 'CLPFD', 'TRUE', % currently fails with FALSE !
'-p', 'TIME_OUT', '7000',
'-p', 'DATA_VALIDATION', 'TRUE'], 'Test 292 in DATA_VALIDATION mode.').
cli_testcase(1977,[private_source_not_available],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', % Note: generated virtual timeout, no longer does after override does not try to expand symbolic closures anymore
'../private_examples/ClearSy/2019_Aug/call_residue/rule_erreur.mch',
'-p', 'RAISE_ABORT_IMMEDIATELY', 'TRUE', % FALSE was necessary as of 3974491412f39ab8b6beea3d2a7c47e7c56315ae
'-execute_all', '-animate_stats', '-noinv',
'-execute_expect_steps', 23,
'-evalt', 'caval__ic___DFCT___COMPUTED__CLA_01218__Poste_enclenchement__done=TRUE',
'-evalt', 'caval__ic___DFCT___COMPUTED__ATR_42912__Numero_poste_organe__done=TRUE',
'-silent'], 'Ensure we have no call_residue internal error').
cli_testcase(1978, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'OPTIMIZE_AST', 'FALSE',
'-evalf_rc', '2=3 & 1=1 <=> 4=5 & 2=2',
'-evalt_rc', '2**3**2 = 512',
'-evalt_rc', '10-5+4-3=6',
'-evalt_rc', '8 / 2 * 4 = 16',
'-evalt_rc', '8 / 4 / 2 = 1',
'-evalf_rc', '!x.(x=100 & x>50 => x>100)',
'-evalt_rc', '#x.(not(x:BOOL --> {1,2}))'
], 'Test associativity of certain B operators').
cli_testcase(1979, [error_checks,wd,sequences], [
'-eval', 'x:perm(NATURAL)',
'-expcterr', infinite_sequence, '-expcterr', eval_string_enum_warning
], 'Test error raised for x:perm(S) for infinite set S').
cli_testcase(1980,[private_source_not_available],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../private_examples/ClearSy/2019_Sep/rule_dummy/rule_dummy_acc.mch',
'-execute_all', '-animate_stats', '-noinv',
'-execute_expect_steps', 3,
'-evalt', 'caval__rule__1__done=TRUE',
'-evalt', 'card(caval__rule__1__ALL)=4299'
], 'Ensure that compilation of set_extension works properly').
cli_testcase(1981,[private_source_not_available,regex],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../private_examples/ClearSy/2019_Sep/non_ground_closure/rule.mch',
'-execute_all', '-animate_stats', '-noinv',
'-execute_expect_steps', 13,
'-evalt', 'caval__rule__1__done=TRUE',
'-evalt', 'caval__rule__10__done=TRUE',
'-evalt', 'card(caval__rule__10__ALL)=254',
'-evalt', 'caval__rule__11__done=TRUE',
'-evalt', 'card(caval__rule__11__ALL)=254'
], 'Ensure that no internal error due to non-ground closure').
cli_testcase(1982, [eventb_test,private], ['../prob_examples/examples/EventBPrologPackages/Abrial/ess_simple/m0_mch.eventb',
'-expcterr', 'virtual_time_out', '-t'],
'Test trace replay and execute by predicate for Event-B.').
cli_testcase(1983,[private,regex],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/ClearSy/Caval/2019_Sep/memo_error/rule.mch',
'-execute', 5, '-animate_stats', '-noinv',
'-evalt', 'caval__rule__1__done=TRUE',
'-evalt', 'caval__rule__2__done=TRUE',
'-evalt', 'caval__rule__3__done=TRUE',
'-evalt', 'caval__rule__3__ALL={({}|->{428}|->{}|->TRUE),({}|->{447}|->{}|->TRUE),({}|->{464}|->{}|->TRUE),({}|->{483}|->{}|->TRUE),({}|->{503}|->{}|->TRUE),({}|->{521}|->{}|->TRUE),({}|->{540}|->{}|->TRUE),({}|->{560}|->{}|->TRUE)}',
'-evalt', 'caval__rule__4__done=FALSE'
], 'Ensure memoization expansion problem solved').
cli_testcase(1984,[private_source_not_available],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'TRUE',
'../private_examples/ClearSy/2019_Sep/wd_issue/rule.mch',
'-execute_all', '-animate_stats',
'-execute_expect_steps', 3,
'-evalt', 'caval__rule__1__done=TRUE',
'-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)}'
], 'Ensure no spurious wd error due to enumeration of assertion_expression for function application').
cli_testcase(1985, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'OPTIMIZE_AST', 'FALSE',
'-evalt_rc', 'hl : 1..10 +-> 0..11 & (DL=TRUE => (2..4) * {11} <: hl) & (6 |-> hl(4) : hl) & DL=TRUE',
'-evalt_rc', 'hl : 1..10 +-> 0..11 & (DL=TRUE => (2..4) * {11} <: hl) & (6 |-> hl(4) : hl)',
'-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)',
'-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)'
], 'Ensure reified subset test instantiates solution').
cli_testcase(1986, [b_test,cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-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)}',
'-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)}',
'-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)}',
'-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)}',
'-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)}',
'-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)}'
], 'Ensure reification of partial_function works').
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.').
cli_testcase(1988, [b_test,external], ['../prob_examples/public_examples/B/ExternalFunctions/TestDoNotEnumerate.mch', '-t', '-assertions'], 'Test DO_NOT_ENUMERATE external function works.').
cli_testcase(1989, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'OPTIMIZE_AST', 'FALSE',
'-evalt_rc', ' f = {1|->2,2|->x} & f /: 1..2 -->> 2..3 & x :2..3',
'-evalt_rc', '{x| #f.(f = {1|->2,2|->x} & f /: 1..2 -->> 2..3) & x :2..3} = {2}',
'-evalt_rc', ' f = {1|->2,x|->x} & f /: 1..2 -->> 2..3 & x :2..4',
'-evalt_rc', ' {x|#f.(f = {1|->2,x|->x} & f /: 1..2 -->> 2..3) & x :2..4} = 2..4',
'-evalt_rc', ' {x|#f.(f = {1|->2,x|->x+1} & f /: 1..2 -->> 2..3) & x :2..4} = 3..4',
'-evalt_rc', ' {x|#f.(f = {1|->2,x|->x+1} & f /: 1..2 -->> 2..4) & x :2..4} = 2..4',
'-evalt_rc', ' f = {1|->2,2|->x} & f /: 1..2 >-> 2..4 & x :2..3',
'-evalt_rc', ' {x|#f.(f = {1|->2,2|->x} & f /: 1..2 >-> 2..4) & x :2..3} = {2}',
'-evalt_rc', ' {x|#f.(f = {1|->3,2|->x} & f /: 1..2 >-> 2..4) & x :2..5} = {3,5}'
], 'Ensure reified total_function test for not total surjection and injection works').
cli_testcase(1990, [strings,external], [
'-evalt_rc', 'size("abc")=3',
'-evalt_rc', 'conc(["a","b","c"])= "abc"',
'-evalt_rc', 'conc(["a","b","c"])= "a"^"b"^"c"',
'-evalt_rc', 'size(conc(["a","b","c"]))= 3',
'-evalt_rc', 'size(conc([ [1],[2],[3]]))= size(conc(["a","b","c"]))',
'-evalt_rc', 'conc([x,".",y]) = "file.txt"',
'-evalt_rc', '{x,y|conc([x,".",y]) = "file.txt"} = {("file","txt")}'
], 'Test conc and size can be applied to STRING literals').
cli_testcase(1991, [b_test,error_checks],
['../prob_examples/public_examples/B/ErrorMachines/InconsistentPROPERTIES.mch',
'-p', 'ALLOW_INCOMPLETE_SETUP_CONSTANTS', 'FALSE',
'-execute_all', '-expcterr', 'setup_constants_inconsistent'], 'Test inconsistent PROPERTIES detected in execute.').
cli_testcase(1992, [b_test,error_checks],
['../prob_examples/public_examples/B/ErrorMachines/InconsistentPROPERTIES.mch',
'-p', 'ALLOW_INCOMPLETE_SETUP_CONSTANTS', 'TRUE',
'-execute_all', '-expcterr', 'setup_constants_inconsistent'], 'Test inconsistent PROPERTIES detected in execute with ALLOW_INCOMPLETE_SETUP_CONSTANTS.').
cli_testcase(1993,[alloy],[
'../prob_examples/public_examples/Alloy/SimpleTests/TestUtilInteger.als',
'-strict', '-t', '-p', 'ALLOY_STRICT_INTEGERS', 'FALSE'
], 'Check Alloy translation without strict integers').
cli_testcase(1994, [cbc,smt,chr], [
'../prob_examples/public_examples/Eval/smtlib_trans_for_z3/z3_pow.smt2',
'../prob_examples/public_examples/Eval/smtlib_trans_for_z3/z3_knights_knaves.smt2',
'-p', 'SMTLIB_BOOL_ARRAYS_TO_SETS', 'TRUE',
'-p', 'SMTLIB_PREPROCESS', 'TRUE',
'-p', 'CHR', 'TRUE', '-p', 'SMT', 'TRUE'], 'Test SMT interface and solving').
cli_testcase(1995, [b_test], [
'-p', 'DATA_VALIDATION', 'TRUE',
'-evalt_rc', '([1,2] ; %x.(x:NATURAL|x+2) ; %y.(y:NATURAL|bool(y>3)) ; {TRUE|->"true", FALSE |-> "false"})(2) = "true"',
'-evalt_rc', '([1,2] ; %x.(x:NATURAL|x+2) ; (%y.(y:NATURAL|bool(y>3)) ; {TRUE|->"true", FALSE |-> "false"}))(2) = "true"',
'-evalt_rc', '([1,2] ; %x.(x:NATURAL|x+2) ; %y.(y:NATURAL|bool(y>3)) ; {TRUE|->"true", FALSE |-> "false"})(1) = "false"',
'-evalt_rc', ' ([1,2] ; %x.(x:NATURAL|x+2) ; %y.(y:NATURAL|bool(y>3)))(2)=TRUE',
'-evalt_rc', '([1,2,3] ; %x.(x:NATURAL|x+2) ; %y.(y:NATURAL|y*2))(2) = 8'
], 'Test relational composition ast cleanup rewrites').
cli_testcase(1996, [laws,strings,external], ['stdlib/AssertionsForLibraries.mch', '-assertions', '-strict'], 'Assertions for external functions'). % for LibraryMath, LibraryStrings
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',
'-p', 'DATA_VALIDATION', 'TRUE'], 'Rule Test 1 of Alstom compilation project (test 981) with DATA_VALIDATION').
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',
'-p','CLPFD', 'TRUE',
'-p', 'DATA_VALIDATION', 'TRUE',
'-aa', 61, 2, 0, % was '-aa', 62, 1, 0, for pas_as_env_inv_cv_sui.mch with prior closure(.) definition
'-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.').
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',
'-p','CLPFD', 'FALSE',
'-p', 'DATA_VALIDATION', 'TRUE',
'-aa', 61, 2, 0, % was '-aa', 62, 1, 0, for pas_as_env_inv_cv_sui.mch with prior closure(.) definition
'-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.').
cli_testcase(2000, [private,data_validation], ['../prob_examples/examples/B/Systerel/C578/2013/machines_24092013/07_001.mch',
'-init' ,'-assertions', '-p', 'SYMBOLIC', 'TRUE', '-p', 'MEMO', 'TRUE', '-p', 'TIME_OUT', 9500,
'-p', 'DATA_VALIDATION', 'TRUE',
'-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', 0 ], 'Test 1161/1890 with DATA_VALIDATION').
cli_testcase(2001, [b_test,hash], [
'../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch',
'-machine_statistics', '-machine_files',
'-machine_hash',
'-machine_hash_check', '712fcdfdbc7482738bd9a616ced01c9b457e77ed',
% before improved position info for operation names, etc. (parser 2.13.5): '5f2171aad61098a8bff85cc09ea09f9ad8b72c8a',
% before avoiding duplicate removed_typing: 'db72de00b9638c148db966df68d234226261418e',
% before avoiding duplicate nodeid entries in info field for conjunct/1: 'ff47205b5011f1e35f75002b2d2fc115d3d9aff1',
% before flat conjunct term format (parser 2.9.31): 'aab862683ad0396cce6178d6a3fe024be7504866',
% before new parser pos infos: '749253625ce2e799e722ab57631d67859e7f0774',
% before removing if_elsif position infos: '5159c4e2368c5be7b393a588434b86dc8588fedb',
% before removing nodeid(none): '9644995ace8f8f24e2ac48d026503b1e4ed4520c', 3/3/2021
% before fixing computation of reads info for SELECT: '0612a27195f445d314bdd5f7cc8de5ef91c91577',
% before adding meta about header positions: '841add099ffe2d4c2f049649586f0c4013417af0',
'-strict'], 'Test machine information commands').
cli_testcase(2002,[private_source_not_available],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'TRUE',
'-p', 'DATA_VALIDATION', 'TRUE',
'../private_examples/ClearSy/2020/01_Jan/regressions2/rule_Regle_Transverse_Variable_Q_DIR/rule.mch',
'-execute_all', '-silent',
'-execute_expect_steps', 6,
'-evalt', 'caval__rule__1__done=TRUE & caval__rule__2__done=TRUE & caval__rule__3__done=TRUE & caval__rule__4__done=TRUE',
'-evalt', 'card(caval__rule__1__ALL) = 1187 & card(caval__rule__4__ALL) = 180'
], 'Ensure useless existentially quantified variable (value) does not perturb enumeration').
cli_testcase(2003,[private_source_not_available],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'TRUE',
'-p', 'DATA_VALIDATION', 'TRUE',
'../private_examples/ClearSy/2020/01_Jan/ticket_record_typing/ruleERR_missingdata.mch',
'-execute_all',
'-execute_expect_steps', 3, '-silent',
'-evalt', 'caval__rule__1__done=TRUE',
'-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)}'
], 'Ensure problem with type checker and wrongly sorted record fields solved').
cli_testcase(2004,[private_source_not_available],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'TRUE',
'-p', 'DATA_VALIDATION', 'TRUE',
'../private_examples/ClearSy/2020/01_Jan/ticket_record_typing/ruleOK_noExpectedName.mch',
'-execute_all', '-execute_expect_steps', 3,
'-silent',
'-evalt', 'caval__rule__1__done=TRUE',
'-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)} '
], 'Variation of test 2003 with file which did not exhibit initial problem').
cli_testcase(2005,[tickets,records],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tester/RecordInDefinitions.mch',
'-mc', '10', '-assertions'
], 'Ensure problem with type checker and wrongly sorted record fields solved').
cli_testcase(2006,[tickets],[
'../prob_examples/public_examples/B/Tickets/Vu_Inclusion/BError_1.mch',
'-init'
], 'Check no variable clash in machine inclusion').
cli_testcase(2007,[private_source_not_available],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'TRUE',
'-p', 'DATA_VALIDATION', 'TRUE',
'../private_examples/ClearSy/2020/01_Jan/memory/Debug__2486__INF/rule_OPS_SDS_2486/rule.mch',
'../private_examples/ClearSy/2020/01_Jan/memory/Debug__2486__TO_STRING/rule_OPS_SDS_2486/rule.mch',
'-execute_all', '-silent',
'-evalt', 'caval__rule__1__done=TRUE & caval__rule__2__done=TRUE & caval__rule__3__done=TRUE'
], 'Test infinite loop in instantiated_enough for filter_cannot_match in b_compiler solved').
cli_testcase(2008, [cbc,wd,sequences,strings], ['-p', 'STRING_AS_SEQUENCE', 'TRUE',
'-evalt', 'rev("ab")="ba"',
'-evalt', '{"abc","aba","a",""} = a & {x|x:a & x=rev(x)} = {"","a","aba"}',
'-evalt', 'rev("a" ^ "b" ^ "c") = "cba"',
'-evalt', 'rev(conc(["a" , "b" , "c"])) = "cba"'
], 'Check rev operator works on strings').
cli_testcase(2009, [b_test,card,sequences], ['-p', 'CLPFD', 'TRUE',
'-evalt', '/*@symbolic */ {x|x:seq(0..1) & card(x)>5} /= /*@symbolic */ {x|x:seq(0..1) & card(x)>5 & card(x) /= 10}',
'-evalt', '/*@symbolic */ {x|x:seq(0..1) & card(x)>5} /= /*@symbolic */ {x|x:seq(0..1) & card(x)>6}',
'-evalt', '/*@symbolic */ {x|x:seq(0..1) & card(x)>5} /= /*@symbolic */ {x|x:seq(0..2) & card(x)>5}'
],'Check symbolic treatment works'). % also works without /*@symbolic */
cli_testcase(2010,[cbc],[
'../prob_examples/public_examples/B/Mathematical/DominatingSets/TestSolverStrength_DomBV.mch',
'-init', '-p', 'TIME_OUT', 7500 % Linux Gitlab runners seem considerably slower than MacBook here
], 'Check SOLVER_STRENGTH used for reification').
cli_testcase(2011, [cbc,tickets], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-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})}',
'-evalt', 'Knights \\/ Knaves = All & Knights /\\ Knaves = {} & (1:Knights <=> (2:Knaves or 3:Knaves)) & (2:Knights <=> 1:Knights)',
'-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})}'
], 'Test would produce set lists with repeated entries').
cli_testcase(2012,[cbc],[
'../prob_examples/public_examples/B/PerformanceTests/Generated/Assertions/GenAssertions1000.mch',
'../prob_examples/public_examples/B/PerformanceTests/Generated/Assertions/GenPowAssertions1000.mch',
'-p', 'DOUBLE_EVALUATION', 'TRUE',
'-init', '-assertions'
], 'Check generated assertions all solvable').
cli_testcase(2013,[cbc],[
'../prob_examples/public_examples/B/PerformanceTests/SAT_Tests/ReificationCompTests.mch',
'-t'
], 'Check reification with function applications work').
cli_testcase(2014, [private,data_validation,pragmas], ['../prob_examples/examples/B/Systerel/C578/2013/machines_06092013/T_032_002_pragmas.mch',
'-init' ,'-aa', 0,1,0, '-p', 'SYMBOLIC', 'FALSE', '-p', 'TIME_OUT', 7500, '-p', 'CLPFD', 'TRUE',
'-p', 'ENUMERATE_INFINITE_TYPES', 'FALSE', '-p', 'EXPAND_FORALL_UPTO', 0 ], 'Test 1146 with SYMBOLIC FALSE').
cli_testcase(2015,[private_source_not_available],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../private_examples/ClearSy/2020/02_Feb/well-def2/rule_OK.mch',
'-execute_all', '-silent',
'-evalt', 'caval__rule__1__done=TRUE & caval__rule__2__done=TRUE & caval__rule__3__done=TRUE & caval__rule__4__done=TRUE',
'-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)}'
], 'Test idle waitflag not variable issue in exists solved').
cli_testcase(2016, [codespeed], ['-version', '-cpp-version'], 'Just check startup time').
cli_testcase(2017,[wd],[
'../prob_examples/public_examples/EventBPrologPackages/Tests/testPowerWD_ctx.eventb',
'-init', '-expcterr', well_definedness_error, '-expcterr', setup_constants_fails,
'-opterr', 'setup_constants_unknown' %% ?? or unknown ???
], 'Test WD error for power_of with negative base found').
cli_testcase(2018,[wd,wd_prover],[
'-evalt', ':wd x = 10/2',
'-evalf', ':wd x = 10/0',
'-evalt', ':wd a>0 & x>0 & x:1..10 & f:1..10-->INTEGER & f(x)=2 & x>1',
'-evalt', ':wd z:2..8 & f=%x.(x:2..10|x) & y=f(z)',
'-evalt', ':wd x:2..4 & f=%x.(x:1..8|x) & r=f(x)',
'-evalt', ':wd %x.(x:2..8 | %x.(x:2..8|10/3)(x)) = x',
'-evalt', ':wd %x.(x:2..8 | %x.(x:2..8|10/x)(x)) = x',
'-evalt', ':wd x:NATURAL1 & y:NATURAL1 & x mod y = x/y',
'-evalt', ':wd x:NAT1 & y:1..MAXINT & x mod y = x/y',
'-evalt', ':wd s:perm(1..10) & f=s(1)',
'-evalf', ':wd s:perm(1..10) & f=s(0)',
'-evalf', ':wd s:perm(1..10) & f=s(11)',
'-evalt', ':wd s:perm(1..10) & x:dom(s) & s2:perm(1..10) & s2(x)=res',
'-evalt', ':wd x:iseq(BOOL) & size(x) = 1',
'-evalt', ':wd x:POW(1..2) & card(x)=1',
'-evalt', ':wd x:FIN(NATURAL1) & card(x)=1',
'-evalt', ':wd card(iseq(BOOL))=r',
'-evalf', ':wd card(seq(BOOL))=r',
'-evalt', ':wd x:seq(NATURAL) & card(x)=2',
'-evalt', ':wd x:seq(NATURAL1) & size(x)=2',
'-evalt', ':wd size([1,2,x])=3',
'-evalt', ':wd x={} & card(x)=0 & 1:x',
'-evalt', ':wd size([1,2,4])=3',
'-evalt', ':wd first(x->[2])=1',
'-evalt', ':wd first(rev([1,2,3])) = 1',
'-evalt', ':wd y:iseq(1..2) & first(y^rev([1,2,3])) >1',
'-evalt', ':wd conc([[1] , [2]]) = res',
'-evalt', ':wd first([1,2,3])=res',
'-evalt', ':wd [1,2,3] /|\\ 2 = res',
'-evalt', ':wd f = aGraph*{[]} & g:aGraph & f(g)=[2] & aGraph<:BOOL',
'-evalt', ':wd f: BOOL +-> seq(INTEGER) & f = aGraph*{[]} & g:aGraph & f(g)=[2]',
'-evalt', ':wd x:NATURAL1 & y>=x & x mod y = x/y',
'-evalt', ':wd f : NATURAL1 --> INTEGER & x>2 & res=f(x)',
'-evalt', ':wd x/={} & inter(x)={1}',
'-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))',
'-evalt', ':wd SIGMA(x).(x:1..10|x) =res',
'-evalt', ':wd x:1..10 & f:1..10 --> BOOL & r=f(x)',
'-evalf', ':wd x:1..10 & f:2..10 --> BOOL & r=f(x)',
'-evalt', ':wd x=0 or res=10/x',
'-evalt', ':wd f : NATURAL1 --> NATURAL1 & x>2 & res=f( f(x) )',
'-evalt', ':wd f : NATURAL --> NATURAL1 & x>2 & res=f( f(x) )',
'-evalt', ':wd f : INTEGER --> NATURAL1 & x>2 & res=f( f(x) )',
'-evalf', ':wd f : NATURAL1 --> NATURAL & x>2 & res=f( f(x) )',
'-evalt', ':wd f: 1..10 --> BOOL & card(S <| f)=9 & card(f <+ {x|->TRUE})=10 & card(S2 <<| f)=0 & card(f|>{TRUE})=0',
'-evalt', ':wd f: 1..10 -->BOOL & res = (f <+ {11 |-> TRUE})(10)',
'-evalf', ':wd f: 1..10 -->BOOL & res = (f <+ {11 |-> TRUE})(0)',
'-evalt', ':wd f : 1..n --> BOOL & n=3 & f(3)=TRUE',
'-evalt', ':wd f : {1,3,5,7,9} --> {1,3,5,7,9} & f(5)=3',
'-evalt', ':wd f : {a,b} --> {1,3,5,7,9} & f(a)=3 & a:INTEGER',
'-evalt', ':wd teamr : 1..11 >-> 1..22 & pp:ran(teamr) & res=teamr~(pp)',
'-evalt', ':wd teamr : 1..11 >-> 1..22 & pp:ran(teamr) & res=teamr(teamr~(pp))',
'-evalt', ':wd card( { tr | tr: 1..NRTrains & tr : other}) = 1',
'-evalt', ':wd S <: NATURAL1 & f : S >+> S & pl : ran(f) & vps : S --> 0..mx & res=vps(pl)',
'-evalt', ':wd S <: NATURAL1 & f : S >+> S & pl : dom(f) & vps : S --> 0..mx & res=vps(pl)',
'-evalt', ':wd a:iseq(BOOL) & x:dom(a) & r=10/x',
'-evalt', ':wd a:INTEGER+->NATURAL1 & x:ran(a) & r=10/x',
'-evalf', ':wd a:INTEGER+->NATURAL1 & x:dom(a) & r=10/x',
'-evalf', ':wd a:INTEGER+->z..y & x:ran(a) & r=10/x',
'-evalf', ':wd a:INTEGER+->x..y & x:ran(a) & r=10/x',
'-evalt', ':wd S_ESPC <: NAT & aspect_pi : S_ESPC --> INT & S_ESPC = {PL02,PL04} & res = aspect_pi (PL02)',
'-evalt', ':wd a:1..10 & b:2..20 & f: (1..10)*(2..40) --> BOOL & f(a|->b)=TRUE',
'-evalt', ':wd a:1..10 & b:2..20 & f: (1..10) --> ((2..40) --> BOOL) & f(a)(b)=TRUE',
'-evalt', ':wd x:FIN(x) & x<:INTEGER & card(x)=10',
'-evalt', ':wd x:FIN(x) & x<:INTEGER & y <: x & card(y)=10',
'-evalt', ':wd x:FIN(x) & x<:INTEGER & y <<: x & card(y)=10',
'-evalt', ':wd f:NATURAL1 --> NATURAL1 & a:NATURAL1 & b:NATURAL & f(a)=c & f(b+1)=c', %% PP runs forever
'-evalt', ':wd f:NATURAL1 --> NATURAL1 & a:NATURAL1 & b:NATURAL & 10 / f(a) = 10 / a & 10 / f(b+1) = 10 / (b+1)', %% PP runs forever
'-evalt', ':wd f:NATURAL1 --> NATURAL1 & a:NATURAL1 & b:NATURAL & max({a,b,c})=c',
'-evalt', ':wd f:NATURAL1 --> NATURAL1 & a:NATURAL1 & b:NATURAL & c>a & max(a..c)=c',
'-evalt', ':wd g:a..c --> NATURAL1 & a:NATURAL1 & b:NATURAL & c>a & g(a)=g(c)',
'-evalt', ':wd a:NATURAL1 & b:NATURAL & c>a & s <: {a,b,c} & card(s)=3',
'-evalt', ':wd %x.(x:2..4 | %x.(x:4..8|10/x)(2*x)) = x',
'-evalf', ':wd %x.(x:2..4 | %x.(x:4..7|10/x)(2*x)) = x',
'-evalf', ':wd %x.(x:2..4 | %x.(x:5..8|10/x)(2*x)) = x',
'-evalt', ':wd x:1..10 & f:1..100 --> INT & f(9*x+10)=res',
'-evalt', ':wd x:1..10 & f:1..99 --> INT & f(9*x+9)=res',
'-evalf', ':wd x:1..10 & f:1..99 --> INT & f(9*x+10)=res',
'-evalt', ':wd x:10..109 & f:1..10 --> INT & f(x/10)=res',
'-evalf', ':wd x:9..109 & f:1..10 --> INT & f(x/10)=res',
'-evalf', ':wd x:10..110 & f:1..10 --> INT & f(x/10)=res',
'-evalt', ':wd a : 1 .. sz --> INTEGER & p : perm(dom(a)) & i : 1 .. sz - 1 & res= p(i)',
'-evalt', ':wd a : 1 .. sz --> INTEGER & sz=5 & p : perm(dom(a)) & i : 1 .. sz - 1 & res= p(i)',
'-evalt', ':wd ff: BOOL <-> BOOL & x:dom(ff) & fnc(ff)(x) = res',
'-evalt', ':wd y /=0 & res = x/-y',
'-evalt', ':wd x>0 & (y>=0 & z>=0 => (x**(y*z) = (x**y)**z))',
'-evalt', ':wd (y>=0 & z>=0 & x:INTEGER => (x**(y+z) = x**y * x**z)) ',
'-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',
'-evalf', ':wd card({x,y|x:INTEGER & y=x})> 0',
'-evalt', ':wd {n| #x.(x<:(BOOL*BOOL*BOOL) & card(x)=n)} = 0..8',
'-evalt', ':wd x<:INTEGER & {n| #x.(x<:(BOOL*BOOL*BOOL) & card(x)=n)} = 0..8',
'-evalf', ':wd x<:BOOL & {n| #x.(x<:(BOOL*INTEGER*BOOL) & card(x)=n)} = 0..8',
'-evalt', ':wd tail( %x.(x:1..10|TRUE) )=res',
'-evalf', ':wd tail( %x.(x:1..yy|TRUE) )=res',
'-evalt', ':wd card({rr|rr:BOOL<->BOOL & closure1(rr)=rr}) =res',
'-evalt', ':wd r={TRUE|->FALSE} & card({y,x|x|->y:r})=c',
'-evalt', ':wd card({rr|rr:BOOL+->BOOL & closure1(rr)=rr}) =res',
%'-evalt', ':wd f = {x,y|x<:1..10 & y=x} & res = f((1..2))',
%'-evalt', ':wd f = {x,y|x<:1..10 & y=x} & res = f({1,10})',
'-evalt', ':wd r=[1,11,111] & card({y,x|x|->y:r}) = s',
'-evalt', ':wd r = [1,11,11] & card(r~[{11}])=1',
'-evalt', ':wd r = pred & card(r[1..10])=10',
'-evalt', ':wd x={1|->11,3|->33,5|->55,7|->77,9|->99,100000|->0} & y:dom(x) & res= x(y)',
'-evalt', ':wd x={1|->rec(d:11),3|->rec(d:33),100000|->rec(d:0)} & y:dom(x) & res= x(y)',
'-evalt', ':wd f={1|->x, 3|->y} & 11=f(1)',
'-evalt', ':wd x:1..n-->BOOL & !i.(i:1..(n-2) => (x(i)=TRUE <=> (x(i+1)=FALSE & x(i+2)=FALSE)))',
'-evalt', ':wd s1 |-> s2 : {(1,2),(2,3),(3,5)} & [0,100,200,300,400,500,600,700](s1) = res',
'-evalt', ':wd s1 |-> s2 : {(1,2),(2,3),(3,5)}~ & [0,100,200,300,400,500,600,700](s2) = res',
'-evalt', ':wd s2 : ran({(1,2),(2,3),(3,5)}) & [0,100,200,300,400,500,600,700](s2) = res',
'-evalt', ':wd i5 = %x.(x>10|100+x) & 100:dom(i5) & res=i5(100)',
'-evalf', ':wd i5 = %x.(x>10|100+x) & 11:dom(i5) & res=i5(10)',
'-evalt', ':wd card(struct(f1:1..2,f2:1..2))=res',
'-evalf', ':wd card(struct(f1:1..2,f2:NATURAL))=res',
'-evalt', ':wd target = [2,1,1,2,1] & n=size(target) & i:1..n & target(i)=res',
'-evalf', ':wd target = [2,1,1,2,1] & n=size(target) & i:1..n & target(i+1)=res',
'-evalf', ':wd target = [2,1,1,2,1] & n=size(target) & i:0..n & target(i)=res',
'-evalt', ':wd Right:seq(BOOL) & (Right/=[] => tail(Right)=res)',
'-evalt', ':wd Right:seq(BOOL) & (Right<-FALSE)(1)=cur',
'-evalt', ':wd ds : (POW(INTEGER)*seq(BOOL)) --> POW(INTEGER) & res=ds(cur,[input])',
'-evalt', ':wd K : seq(BOOL) <-> seq(BOOL) & ix|->iy:K & res= ix^iy',
'-evalt', ':wd arr : 1 .. n --> BOOL & j : 1 .. n - 1 & i=j & i2=i+1 & arr(i2)=res',
'-evalf', ':wd f: BOOL --> 1..10 & g : 2..20 --> BOOL & bb:BOOL & (f;g)(bb)=res',
'-evalt', ':wd f: BOOL --> 1..10 & g : 0..20 --> BOOL & bb:BOOL & (f;g)(bb)=res',
'-evalt', ':wd f: BOOL --> 1..10 & g : 0..20 --> BOOL & bb:BOOL & fg = (f;g) & (fg)(bb)=res',
'-evalt', ':wd f: BOOL --> 1..10 & g : 0..20 --> 8..16 & bb:BOOL & g(((f;g))(bb))=res',
'-evalt', ':wd f: BOOL --> 1..10 & g : 0..20 --> 8..16 & bb:BOOL & fg = (f;g) & g((fg)(bb))=res',
'-evalt', ':wd max({1} \\/ (1..100 /\\ {x|x>2 & x<2}))=res',
'-evalf', ':wd max((1..100 /\\ {x|x>2 & x<2}))=res',
'-evalt', ':wd iv:seq(BOOL) & size(iv)>0 & res=first(iv)',
'-evalt', ':wd iv:seq(INT) & size(iv)>=1 & res=first(iv)',
'-evalt', ':wd iv:seq(NAT) & card(iv)>=1 & res=first(iv)',
'-evalf', ':wd iv:seq(INT) & size(iv)>=0 & res=first(iv)',
'-evalt', ':wd iv:seq(NATURAL1) & size(iv)>x & x>=1 & res=first(iv)',
% '-evalt', ':wd iv:seq(NATURAL1) & b:seq(BOOL) & size(iv)>size(b) & res=first(iv)',
'-evalt', ':wd iv:seq(NATURAL1) & b:seq(BOOL) & size(iv)>size(b) & size(b) > 0 & res=first(iv)',
'-evalt', ':wd iv:seq(NATURAL1) & b:seq(BOOL) & size(iv)>size(b) & card(b) > 0 & res=first(iv)',
'-evalt', ':wd iv:seq(NATURAL1) & b:seq(BOOL) & size(iv)>size(b) & b /= {} & res=first(iv)',
'-evalt', ':wd ff:seq(BOOL) & (ff/=<> => (first(ff) = last(rev(ff)) & last(ff) = first(rev(ff))))',
'-evalt', ':wd ff:seq(BOOL) & card(ff^ff) > card(rev(ff))',
'-evalt', ':wd ff:seq1(INT) & x=max(ran((ff)))',
'-evalt', ':wd ff:seq1(INT) & x=max(ran(rev(ff)))',
'-evalt', ':wd ff:seq1(INT) & x=max(ran(ff^ff))',
'-evalt', ':wd ff: 1..10 --> INT & m = max(ran(ff))',
'-evalf', ':wd ff: 1..10 +-> INT & m = max(ran(ff))',
'-evalt', ':wd ff:seq(BOOL) & xx:1..(size(ff)) => (( (ff/|\\xx)/\\(ff\\|/xx) ) = <> )',
'-evalt', ':wd ff:seq(BOOL) & xx:NAT1 & xx:1..(size(ff)) => (( (ff/|\\xx)/\\(ff\\|/xx) ) = <> )',
'-evalt', ':wd f:1..10 --> BOOL & x:NATURAL1 & x<11 & res=f(x)',
'-evalt', ':wd f:1..10 --> BOOL & x:NATURAL1 & x<=card(f) & res=f(x)',
'-evalt', ':wd f:1..10 --> BOOL & x:NAT1 & x<11 & res=f(x)',
'-evalt', ':wd f:1..10 --> BOOL & x:NAT1 & x<size(f) & res=f(x)',
'-evalt', ':wd f:1..10 --> BOOL & x:NAT1 & x<card(f) & res=f(x)',
'-evalt', ':wd min(NAT1)=1 & min(NAT)=0 & max(NAT)=maxint',
'-evalt', ':wd ff:seq1(BOOL) => (first(ff)=ff(1) & last(ff) = ff(size(ff)))',
'-evalt', ':wd s:seq(BOOL) & i:NATURAL1 & i<= size(s) & res=s(i)',
'-evalt', ':wd s:seq(BOOL) & j:NATURAL1 & i>j & i<= size(s) & res=s(i)',
'-evalt', ':wd (IF y>0 THEN [1] ELSE [2] END)^[3] = x',
'-evalt', ':wd (IF y>0 THEN [1] ELSE [2] END)^[3,4] = x',
'-evalt', ':wd first(IF y>0 THEN [1] ELSE [2] END) = x',
'-evalt', ':wd y:seq(INT) & r=tail(IF x<0 THEN [0] ELSE [x] END^y)',
'-evalt', ':wd yy:1..9 & xx<yy & r=1/(10-xx)',
'-evalt', ':wd yy:1..10 & xx<yy & r=1/(10-xx)', % requires to store < in hyps
'-evalt', ':wd yy:1..10 & yy>xx & r=1/(10-xx)', % ditto
'-evalf', ':wd yy:1..10 & xx<=yy & r=1/(10-xx)',
'-evalt', ':wd ts = [TRUE,FALSE,TRUE] & t={1,3,5} & i:1..card(t) & res=ts(i)',
'-evalt', ':wd ts = [TRUE,FALSE,TRUE] & t={1,3,5} & i:0..card(t)-1 & res=ts(i+1)',
'-evalt', ':wd d=1..n & a:d --> 1..100 & d /= {} & res=max(d)',
'-evalt', ':wd a:1..n --> 1..100 & 1..n /= {} & res=a(1)',
'-evalt', ':wd d=1..n & a:d --> 1..100 & d /= {} & res=a(1)',
'-evalt', ':wd d=1..n & a:d --> 1..100 & d /= {} & res=a(n)',
'-evalt', ':wd g : 1 .. n >-> NATURAL & k:1..n & j:k..n & n>k & j>=k & res = min(g[k..j])',
'-evalt', ':wd f : i..j --> BOOL & x:i..j & res=f(i)',
'-evalt', ':wd g : 1 .. n >-> NATURAL & k:1..n & j:k..n & res = min(g[k..j])',
'-evalt', ':wd j : k .. n & ll : k .. j & g : 1 .. n >-> NATURAL & k : 1 .. n & ll:NATURAL & res = g(ll)',
'-evalt', ':wd j:1..k & f:1..k --> BOOL & j/=k & res=f(j+1)',
'-evalt', ':wd j:1..k & f:1..k --> BOOL & j/=1 & res=f(j-1)',
'-evalt', ':wd f: 1..10 +-> BOOL & 1..9 <: dom(f) & res=f(1)',
'-evalt', ':wd f: 1..10 +-> BOOL & !x.(x:1..9 => x:dom(f)) & res=f(1)',
'-evalf', ':wd f: 1..10 +-> BOOL & !x.(x:1..9 => x:dom(f)) & 1..9 <: dom(f) &res=f(10)',
'-evalt', ':wd s:seq(BOOL) & size(s)=10 & xx:1..n & n<10 & res = (s /|\\ n)(xx)',
'-evalt', ':wd s:seq(BOOL) & size(s)=10 & xx:1..n & n<=10 & res = (s /|\\ n)(xx)',
'-evalf', ':wd s:seq(BOOL) & size(s)=10 & xx:1..n & n<=10 & res = (s /|\\ n)(xx+1)',
'-evalf', ':wd s:seq(BOOL) & size(s)=10 & xx:1..11 & n<=10 & res = (s /|\\ n)(xx)',
'-evalt', ':wd sze = 8 & MSG = 1 .. sze --> BIT & BIT = {0,1} & c:MSG & res = c(1)',
'-evalf', ':wd sze = 8 & MSG = 1 .. sze --> BIT & BIT = {0,1} & c:MSG & res = c(0)',
'-evalt', ':wd make = id(INTEGER * INTEGER) & coord = make~ & xcoord = (coord ; %(z_,z__).(z_ : INTEGER & z__ : INTEGER|z_)) & res = xcoord((1,2))',
'-evalt', ':wd make = id(NATURAL1 * NATURAL1) & coord = make~ & xcoord = (coord ; %(z_,z__).(z_ : INTEGER & z__ : INTEGER|z_)) & res = xcoord((1,2))',
'-evalf', ':wd make = id(NATURAL1 * NATURAL1) & coord = make~ & xcoord = (coord ; %(z_,z__).(z_ : INTEGER & z__ : INTEGER|z_)) & res = xcoord((1,0))',
'-evalf', ':wd j : k .. n & l: k..j & g : 1 .. n >-> NATURAL & res = g(l)', % l not guaranteed >= 1
'-evalt', ':wd k>=1 & j : k .. n & l: k..j & g : 1 .. n >-> NATURAL & res = g(l)',
'-evalt', ':wd BVc=16 & BIdx = 1..BVc & s:BIdx --> BOOL & res=size(s)',
'-evalf', ':wd BVc>=0 & BIdx = 1..BVc & s:BIdx --> BOOL & res=first(s)',
'-evalt', ':wd BVc>0 & BIdx = 1..BVc & s:BIdx --> BOOL & res=first(s)',
'-evalt', ':wd BVc=16 & BIT={0,1} & BIdx = 1..BVc & bt:BIdx --> BIT & bit_not : BIT >->> BIT & res = bit_not(bt(1))',
'-evalt', ':wd BVc=16 & BIT={0,1} & BIdx = 1..BVc & BV16 = BIdx --> BIT & bt:BV16 & bit_not : BIT >->> BIT & res = bit_not(bt(1))',
'-evalt', ':wd U_MAX = (pow2__16) -1 & U_MIN = 0 & USHORT = U_MIN..U_MAX & v0 : USHORT & res = v0 mod 2',
'-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)',
'-evalt', ':wd x: iseq(BOOL) & TRUE:ran(x) & res = x~(TRUE)',
'-evalt', ':wd f : BOOL --> iseq(BOOL) & x=f(TRUE) & p1:dom(x) & res=x(p1)',
'-evalt', ':wd f : BOOL --> iseq(BOOL) & x:ran(f) & p1:dom(x) & res=x(p1)',
'-evalt', ':wd PFT = BOOL --> iseq(BOOL) & f : PFT & x:ran(f) & p1:dom(x) & res=x(p1)',
'-evalt', ':wd PFT = iseq(BOOL) --> BOOL & f : PFT & x:dom(f) & p1:dom(x) & res=x(p1)',
'-evalt', ':wd s : seq1(BOOL) & i=size(s) & res = s(i)',
'-evalt', ':wd s : seq1(BOOL) & i=size(s) & res = s /|\\ i',
'-evalt', ':wd s : seq1(BOOL) & i=size(s)/2 & res = s /|\\ (size(s)/2)',
% does not work yet: :wd s : seq1(BOOL) & i=size(s)/2 & res = s /|\ i
'-evalt', ':wd stackTypes : -4 .. MaxSize --> BOOL & MaxSize : 0 .. 9 & stackSz <= MaxSize & stackSz > 1 & shart = stackTypes(stackSz)',
% does not work yet: :wd stackTypes : -4 .. MaxSize-1 --> BOOL & MaxSize : 0 .. 9 & stackSz <= MaxSize & stackSz > 1 & shart = stackTypes(stackSz-1)
'-evalt', ':wd ZO=3 & ZQ=4 & adz = {ZO|->TRUE,ZQ|->FALSE} & r:dom(adz) & res=adz(r)',
'-evalt', ':wd ZO=3 & ZQ=4 & adz = {ZO|->TRUE,ZQ|->FALSE} & r:{3} & res=adz(r)',
'-evalt', ':wd ZO=3 & ZQ=4 & adz = {ZO|->TRUE,ZQ|->FALSE} & r:{ZO,ZQ} & res=adz(r)',
% :wd ZO=3 & ZQ=4 & adz = {3|->TRUE,4|->vv} & r:{3,4} & res=adz(r) % TODO
% :wd ZO=3 & ZQ=4 & adz = {ZO|->TRUE,ZQ|->FALSE} & r:{3,4} & res=adz(r) % TODO
'-evalt', ':wd CS : INTEGER +-> INTEGER & {3,4} <: dom(CS) & 5:dom(CS) & res=CS(3)',
'-evalt', ':wd CS : INTEGER +-> INTEGER & {3,x} <: dom(CS) & res=CS(x)',
'-evalt', ':wd CS : INTEGER +-> INTEGER & {y,x} <: dom(CS) & res=CS(x)',
'-evalt', ':wd CS : INTEGER +-> INTEGER & ds <: dom(CS) & x:ds & res=CS(x)',
'-evalt', ':wd CS : INTEGER +-> INTEGER & x = dom(CS) - other & 3:x & res=CS(3)',
'-evalt', ':wd CS : INTEGER +-> INTEGER & {3} = dom(CS) - other & res=CS(3)',
'-evalt', ':wd x:struct(f:BOOL --> STRING,g:POW(1..2)) & res= card(x\'g)',
'-evalt', ':wd x:TS & TS=struct(f:BOOL --> STRING,g:POW(1..2)) & res= card(x\'g)',
'-evalt', ':wd x:struct(f:BOOL --> STRING, g:BOOL) & res= x\'f(TRUE)',
'-evalt',':wd x:struct(f:BOOL --> STRING) & xf = x\'f & res= xf(TRUE)',
'-evalt', ':wd x:TS & TS=struct(f:BOOL --> STRING) & xf = x\'f & res= xf(TRUE)',
'-evalt', ':wd X = Y \\/ Z & Y /\\ Z = {} & Y<:1..10 & Z <:1..10 & Y /= {} & res=max(X)',
'-evalt', ':wd X = Y \\/ Z & Y /\\ Z = {} & Y<:1..10 & Z <:1..10 & 2:Y & res=max(X)',
'-evalt', ':wd v:NAT1 & {TRUE|->v,FALSE|->w/v}(bool(x>10)) = res',
'-evalt', ':wd V : N >-> NAT & da /= {} & V[da] /= {} & da <: 1..100 & res = V~(max(V[da]))',
'-evalf', ':wd V : N >-> NAT & da /= {} & da <: 1..100 & res = V~(max(V[da]))', % cannot prove not empty
'-evalt', ':wd f = %v1.(v1 : 0..512 & v1 <= SMAX|v1) \\/ %v1.(v1 : 0..512 & not(v1 <= SMAX)|v1 - 256) & f(0)=res',
'-evalt', ':wd A<:NAT & f:A*A --> INTEGER & g:BOOL-->A & res= f(g(x),g(y))',
'-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)',
'-evalt', ':wd SIG : ran(fst) >->> NAT & fst : BOOL --> NATURAL & res = SIG(fst(r))',
'-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)',
'-evalt', ':wd b : RwSmallDom --> BOOL & x:RwDom & RwSmallDom = MinRwAddress .. MaxRwAddress & RwDom = MinRwPointer .. MaxRwPointer & MinRwAddress = MinRwPointer & MaxRwAddress = 3 + MaxRwPointer & res =b(x)',
'-evalf', ':wd lightArcTo = {towinglight |-> 2475} \\/ {allroundlight |-> 3600} \\/ {sternlight |-> 2475} \\/ {sidelightPort |-> 3600} \\/ {sidelightStarboard |-> 1125} \\/ {mastheadlight |-> 1125} & towinglight:STRING & res = lightArcTo(towinglight)',
'-evalt', ':wd lightArcTo = {11 |-> 2475} \\/ {22 |-> 3600} \\/ {33 |-> 2475} \\/ {44 |-> 3600} \\/ {55 |-> 1125} \\/ {66 |-> 1125} & res = lightArcTo(55)',
'-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)',
'-evalf', ':wd res = 3 mod -2',
'-evalt', ':wd f: NAT +-> NAT & dom(f) /\\ {a} /= {} & res=f(a)',
'-evalt', ':wd f: NAT >+> NAT & {a} /\\ ran(f) /= {} & res=f~(a)',
'-evalf', ':wd f: BOOL <-> INTEGER & card({TRUE} <| f)=10',
'-evalt', ':wd f: NATURAL <-> 2..10 & card(1..10 <| f)=10',
'-evalt', ':wd f: BOOL <-> INTEGER & card(f |> {11})=10',
'-evalt', ':wd f: BOOL <-> NATURAL & card(f |> {11})=10',
'-evalt', ':wd f : BOOL <-> INTEGER & card(dom(f))=1',
'-evalt', ':wd f : 1..10 <-> INTEGER & card(dom(f))=1',
'-evalf', ':wd f : INTEGER <-> 1..10 & card(dom(f))=1',
'-evalt', ':wd f : INTEGER <-> 1..10 & card(ran(f))=1',
'-evalt', ':wd x : {f | f: 1..10 --> BOOL & f(1)=f(10)} & res=x(1)',
'-evalf', ':wd ff : NATURAL +-> BOOL & res=card(ff |> {FALSE})',
'-evalt', ':wd f: NATURAL <-> NATURAL & x<:1..10 & res = card((1..2) <| f |> x)',
'-evalt', ':wd T=BOOL & sq = {f|f : INTEGER +-> T & #n.(n >= 0 & f : 1 .. n --> T)} & 1:dom(s) & s:sq & res=s(1)',
'-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)',
'-evalt', ':wd vehicle = 1 & accel : 1 .. VEHICLES --> BOOL & vehicle : 1 .. VEHICLES + 1 & VEHICLES : NAT1 & res = accel(vehicle)',
'-evalt', ':wd D=1..10 & f:D-->BOOL & g:D-->BOOL & h:{f,g} & res= h(2)',
'-evalt', ':wd i : BOOL --> dom(wtp) & wtp : NAT1 +-> BOOL & res = wtp(i(TRUE))',
'-evalt', ':wd i : BOOL --> (BOOL --> dom(wtp)) & wtp : NAT1 +-> BOOL & res = wtp(i(TRUE)(TRUE))',
'-evalt', ':wd MAtemp: BOOL +-> POW(INTEGER) & res = (({tr} <<| MAtemp) \\/ {tr |-> 1..2})(tr)',
'-evalt', ':wd MAtemp: BOOL +-> POW(INTEGER) & res = ((MAtemp) <+ {tr |-> 1..2})(tr)',
'-evalt', ':wd s = {1|->3} & res = s(card(s))',
'-evalt', ':wd D=1..10 & d1:D & res = rev({} /\\ {1 |-> d1})',
'-evalt', ':wd D=1..10 & d1:D & res = rev({1 |-> d1} /\\ [])',
'-evalf', ':wd D=1..10 & d1:D & res = rev({1 |-> 1, 1 |-> d1})',
'-evalt', ':wd D=1..10 & d1:D & res = rev({2 |-> d1, 1 |-> d1})',
'-evalf', ':wd q: 0..10 --> BOOL & a>0 & res=q(a mod 12)',
'-evalt', ':wd q: 0..10 --> BOOL & a>0 & res=q(a mod 11)',
'-evalt', ':wd q: 0..10 --> BOOL & a>0 & a<11 & res=q(a mod 101)',
'-evalt', ':wd n:NAT1 & q: 0..(n) --> BOOL & a>0 & res=q(a mod n)',
'-evalt', ':wd n:NAT1 & q: 0..(n-1) --> BOOL & a>0 & res=q(a mod n)',
'-evalt', ':wd wt : 1..w --> BOOL & wtp : NAT1 +-> BOOL & wt <: wtp & m:dom(wt) & res=wtp(m)',
'-evalt', ':wd wt : 1..w --> BOOL & wtp : NAT1 +-> BOOL & wt <: wtp & m>0 & m<w & w>1 & res=wtp(m)',
'-evalf', ':wd Trains <: NATURAL & isConnected : (trainKind~)[{13}] --> BOOL & tr : Trains & trainKind = {t1 |-> 11,t2 |-> 22} & trainKind : Trains --> TrainKind & res = isConnected(tr)',
'-evalt', ':wd Trains <: NATURAL & isConnected : (trainKind~)[{11}] --> BOOL & tr : Trains & trainKind = {t1 |-> 11,t2 |-> 22} & trainKind : Trains --> TrainKind & res = isConnected(tr)',
'-evalt', ':wd tpp = {1,2} & ppp : tpp & ers = {1|->2,2|->1}(ppp)',
'-evalf', ':wd a:NAT & tpp = {a,b} & a/=b & ppp : tpp & ers = {a|->1,a|->2}(ppp)',
'-evalt', ':wd a:NAT & tpp = {a,b} & a/=b & ppp : tpp & ers = {a|->b,b|->a}(ppp)',
'-evalt', ':wd f = %x.(x<10 |x-1) & res=f(1)',
'-evalf', ':wd f = %x.(x<10 |x-1) & res=f(10)',
'-evalt', ':wd f = %x.(x:NATURAL1 & x<10 |x-1) & res=f(1)',
'-evalt', ':wd f = %x.(x:NATURAL1 & x:{1,3,5,7,y} |x-1) & res=f(1)',
'-evalt', ':wd ic = struct(val:(1..2 --> BOOL)) & x:ic & res = x\'val(1)',
'-evalt', ':wd ic = struct(val:seq1(BOOL)) & x:ic & res = x\'val(1)',
'-evalt', ':wd ic = struct(val:seq1(BOOL)) & x:BOOL-->ic & res = x(TRUE)\'val(1)',
'-evalt', ':wd ic = struct(val:seq1(BOOL)) & x:BOOL+->ic & TRUE:dom(x) & res = x(TRUE)\'val(1)',
'-evalt', ':wd f = (%(x,y,z).(x:BOOL & y:1..2 & z:BOOL|1)) & res = f(TRUE,2,FALSE)',
'-evalt', ':wd f = %x.(x:1..100 & x:aa|x+1) & y:aa & y:2..5 & res=f(y)',
'-evalt', ':wd s = ["a","b"] & y:ran(s) & x: {s~(y)} & res = s(x)',
'-evalt', ':wd s = ["a","b"] & y:ran(s) & v:dom(s) & x: {v,s~(y)} & res = s(x)',
'-evalt', ':wd s = ["a","b"] & y:ran(s) & v:dom(s) & x: {v} \\/ {s~(y)} & res = s(x)',
'-evalt', ':wd s = ["a","b"] & r = ["x","y","z"] & x:dom(s) & res= r(x)',
'-evalf', ':wd s = ["a","b"] & r = ["x","y","z"] & x:dom(r) & res= s(x)',
'-evalt', ':wd s = ["a","b"] & r = ["a","b","c"] & x:ran(s) & res= r~(x)',
'-evalf', ':wd s = ["a","b"] & r = ["a","b","c"] & x:ran(r) & res= s~(x)',
'-evalt', ':wd s = {"a","b","c","d"} & r = ["a","b","c","d","e","f"] & x:s & res= r~(x)',
'-evalf', ':wd s = {"a","b","cc","d"} & r = ["a","b","c","d","e","f"] & x:s & res= r~(x)',
'-evalf', ':wd y<10 & res=%x.(x:NATURAL1|x-1)(y)', % test assertion_expression
'-evalt', ':wd y>1 & res=%x.(x:NATURAL1|x-1)(y)',
'-evalt', ':wd f : BOOL --> (NATURAL * (BOOL --> BOOL)) & g = prj2(INTEGER,(BOOL<->BOOL))(f(TRUE)) & res = g(x)',
'-evalt', ':wd f : BOOL --> ((BOOL --> BOOL)*NAT) & g = prj1((BOOL<->BOOL),INTEGER)(f(TRUE)) & res = g(x)',
'-evalt', ':wd f : BOOL --> ((BOOL --> BOOL)*NAT) & g = prj1((BOOL<->BOOL),NAT)(f(TRUE)) & res = g(x)',
'-evalt', ':wd f: BOOL +-> BOOL & g:BOOL +-> BOOL & dom(f) <: dom(g) & y:dom(f) & res=g(y)',
'-evalt', ':wd f: BOOL +-> BOOL & g:BOOL +-> BOOL & !x,y.(x|->y:f => x:dom(g)) & y:dom(f) & res=g(y)',
'-evalt', ':wd f: BOOL +-> BOOL & g:BOOL >+> BOOL & !x,y.(x|->y:f => x:ran(g)) & y:dom(f) & res=g~(y)',
'-evalt', ':wd TRACK : FIN(NATURAL1) & x: TRACK +-> NATURAL1 & card(x)<3',
'-evalt', ':wd TRACK : FIN(NATURAL1) & x: TRACK --> NATURAL1 & card(x)<3',
'-evalf', ':wd TRACK : FIN(NATURAL1) & x: TRACK <-> NATURAL1 & card(x)<3',
'-evalt', ':wd TRACK : FIN(NATURAL1) & x: TRACK <-> BOOL & card(x)<3',
'-evalt', ':wd TRACK : FIN(NATURAL1) & x: TRACK <->> BOOL & card(x)<3',
'-evalf', ':wd TRACK : FIN(NATURAL1) & x: NATURAL1 +-> TRACK & card(x)<3',
'-evalt', ':wd TRACK : FIN(NATURAL1) & x: NATURAL1 >-> TRACK & card(x)<3',
'-evalt', ':wd x>=0 & res= 10 / (2**x)',
'-evalf', ':wd x>=0 & res= 10 / (x**2)',
'-evalt', ':wd x>0 & res= 10 / (x**2)',
'-evalt', ':wd x/=0 & res= 10 / (x**2)',
'-evalt', ':wd x>=0 & res= 10 mod (2**x)',
'-evalt', ':wd a:0..2**8 & z:0..8 & res = (a/(2**z)) mod 2',
'-evalt', ':wd f = %(x,y).(x:NATURAL1 & y:NATURAL1 &x
'-evalf', ':wd f = %(x,y).(x:NATURAL1 & y:NATURAL1 &x
'-evalt', ':wd f = %(x,y,z).(x:NATURAL1 & y:NATURAL1 & z:NATURAL & x
'-evalt', ':wd f=%x.(x:seq1({0,1})|x) & res = f([1,0])',
'-evalt', ':wd f=%(x,y).(x:POW(BOOL) & y:POW(BOOL) & card(x)=card(y)|x) & res = f({TRUE},{FALSE})',
'-evalt', ':wd f=%(x,y).(x:POW1(BOOL) & y:POW1(BOOL) & card(x)=card(y)|x) & res = f({TRUE},{FALSE})',
'-evalt', ':wd card({a,b|a:{1..2,1..3} & b:1..3}) = res',
'-evalt', ':wd card({a,b|a={1,2} & b:1..3}) = res',
'-evalf', ':wd card({x,y|x:{y,y+1} & y:{x,x-1} & x:INTEGER})=res',
'-evalf', ':wd card({y,x|x:{y,y+1} & y:{x,x-1} & x:INTEGER})=res',
'-evalt', ':wd card({y,x|x:{y,y+1} & y:1..2 & x:INTEGER})=res',
'-evalt', ':wd card({x,y|x:{y,y+1} & y:1..2 & x:INTEGER})=res',
'-evalt', ':wd card({v,w,x|x ={{1,v},{3,w}} & v:2..3 & w:2..3}) = res',
'-evalt', ':wd card({v,w,x,a,b|x ={{1,v},{3,w}} & a=x & b=x & v:2..3 & w:2..3}) = res',
'-evalt', ':wd card({x,y,z|z:{1,3} & x:1..z & {y}<:{x,x+1}})=8',
'-evalt', ':wd card({x,y,z|z:{1,3} & x:1..z & {y}<<:{x,x+1}})=8',
'-evalt', ':wd tt : BOOL --> FIN1(NATURAL) & res=max(tt(TRUE))',
'-evalt', ':wd t : BOOL --> A & A<:BOOL & f : A --> BOOL & loc:ran(t) & res = f(loc)',
'-evalt', ':wd t : BOOL --> FIN(A) & A<:BOOL & f : A --> BOOL & loc:ran(t) & pos: loc & res = f(pos)',
'-evalf', ':wd t : BOOL --> FIN(A) & A<:BOOL & B<:A & f : B --> BOOL & loc:ran(t) & pos: loc & res = f(pos)',
'-evalt', ':wd t : BOOL --> (A+->A) & A<:BOOL & f : (A*A) --> BOOL & loc:ran(t) & pos: loc & res = f(pos)',
'-evalf', ':wd t : BOOL --> (A+->A) & A<:BOOL & B<:A & f : (A*B) --> BOOL & loc:ran(t) & pos: loc & res = f(pos)',
'-evalt', ':wd t : BOOL --> (A+->B) & A<:BOOL & B<:A & f : (A*A) --> BOOL & loc:ran(t) & pos: loc & res = f(pos)',
'-evalt', ':wd f: BOOL --> FIN(NATURAL) & f: BOOL <-> POW1(INTEGER) & res = max(f(TRUE))',
'-evalt', ':wd f: BOOL --> FIN(NATURAL) & ran(f) <: POW1(INTEGER) & res = max(f(TRUE))',
'-evalt', ':wd f: FIN(NATURAL) >+>> BOOL & dom(f) <: POW1(INTEGER) & res = max(f~(TRUE))',
'-evalt', ':wd f: BOOL --> FIN(NATURAL) & !x.(x:ran(f)=> x/={}) & res = max(f(TRUE))',
'-evalt', ':wd f: BOOL --> POW(NATURAL) & !x.(x:ran(f)=> x/={} & x:FIN(x)) & res = max(f(TRUE))',
'-evalt', ':wd ll<:INTEGER & ll/={} & ll:FIN(ll) & ff=max(ll)', % added integer type
'-evalt', ':wd xx : dom(ff) \\/ {yy} & ff: BOOL +-> BOOL & res = (ff <+ {yy |-> TRUE})(xx)',
'-evalt', ':wd (xx : dom(ff) or xx: {yy}) & ff: BOOL +-> BOOL & res = (ff <+ {yy |-> TRUE})(xx)',
'-evalt', ':wd f: NATURAL +-> INTEGER & x|->y:f & f(x)=res',
'-evalt', ':wd a=[2,3,4] & res=first(front(a))',
'-evalt', ':wd a=[2,3,4] & res=front(tail(a))',
'-evalt', ':wd a=[2,3,4] & res=front(rev(tail(a)))',
'-evalt', ':wd a=[2,3,4] & res=front(front(rev(a)))',
'-evalt', ':wd a=[2,3,4] & res=front(front(rev(front(a))))',
'-evalt', ':wd aa = [2,3,4,5] & size(1..3 <| aa) = 3',
'-evalt', ':wd aa = [2,3,4,5] & b=[2,3] & size(dom(b) <| aa) = 2',
'-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)',
'-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)',
'-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)',
'-evalt', ':wd a = {1|->"a", 2|->"b"} & b = {"a"|->4,"b"|->5} & gg:1..10+->1..10 & x:1..2 & res = (a;b) (x)',
'-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)',
'-evalt', ':wd f = %x.(x:1..10 & x mod 2 =0 | x/2) & y:1..10 & y mod 2 = 0 &res=f(y)',
'-evalt', ':wd f = %x.(x:1..10 & x mod 2 =0 | x/2) & res=f(4)',
'-evalf', ':wd x=card({x,y| x+y = 1})',
'-evalt', ':wd x=card({x,y| [x,y] : iseq({0,1,2})})',
'-evalt', ':wd x=card({x,y| rev([x,y]) : iseq({0,1,2})})',
'-evalt', ':wd x=card({x,y| x:seq(INT) & y:seq(INT) & rev(x ^ y) : iseq({0,1,2})})',
'-evalt', ':wd x=card({x,y| x \\/ y <: 1..5})',
'-evalt', ':wd x=card({x| x+2 = 10})',
'-evalt', ':wd x=card({x| x*2 : 1..10})',
'-evalt', ':wd x=card({x,y| {x+1,y+2} \\/ {3} <: 1..5})',
'-evalt', ':wd card({x| [0,0] <+ {x|->1} : 1..3 --> 0..1})=res',
'-evalt', ':wd f : BOOL \\ a --> BOOL & x /: a & res = f(x)',
'-evalf', ':wd f:INTEGER \\ (2..10) --> NAT & x<=2 & res=f(x)',
'-evalt', ':wd f:INTEGER \\ (2..10) --> NAT & x<2 & res=f(x)',
'-evalt', ':wd f:INTEGER \\ (2..10) --> NAT & x>10 & res=f(x)',
'-evalt', ':wd f:INTEGER \\ ELS --> NAT & ELS = (2..10) & x<2 & res=f(x)',
'-evalf', ':wd f = {x,r | x:BOOL & r > 2} & res = max(ran(f))',
'-evalt', ':wd f = %x.(x:BOOL | 10+12) & res = max(ran(f))', % check we do not loose typing info of dom(f)=BOOL
'-evalt', ':wd a:1..n --> 1..100 & a /= {} & res=a(1)',
'-evalt', ':wd a:1..n --> 1..100 & a /= {} & res=a(n)',
'-evalt', ':wd cf: BOOL <->BOOL & cf={} & x:dom(cf) & r=cf(x)',
%'-evalt', ':wd a/=FALSE & f = {TRUE|->11} & res =f(a)',
'-evalt', ':wd card(union({{1,2},{3,4}})) = r',
'-evalt', ':wd x:POW(1..3) & card(union({{1,2},{3,4} \\/ x})) = r',
'-evalt', ':wd real(1)=1.0',
'-evalt', ':wd 1=floor(1.0)',
'-evalt', ':wd 1=ceiling(1.0)',
'-evalt', ':wd 1.0/2.0 > 0.0',
'-evalt', ':wd SIGMA(x).(x:{1.0,2.0}|x/2.0) = 1.5',
'-evalt', ':wd PI(x).(x:{4.0,2.0}|x/2.0) = 2.0',
'-evalt', ':wd x<:POW(1..3) & card(union( x )) = r',
'-evalt', ':wd x<:POW(1..3) & card(union({{1,2},{3,4}} \\/ x)) = r',
'-evalt', ':wd x<:perm(1..3) & card(union( x )) = r',
'-evalt', ':wd x:NAT & y:NAT & y=prj2(INT,INT)((x,y))',
'-evalt', ':wd x<:INTEGER & card(inter({x,y,{1}})) = 1',
'-evalt', ':wd x<:POW(INTEGER) & card(inter({{1}}\\/x) ) = 1',
'-evalf', ':wd x<:POW(INTEGER) & card(inter({NATURAL}\\/x) ) = 1',
'-evalf', ':wd SIGMA(x).(x:NATURAL|x) =res',
'-evalt', ':wd PI(x).(x:1..100|x) =res',
'-evalf', ':wd PI(x).(x:NATURAL|x) =res',
'-prob-profile'
% '-evalt', ':wd BV>0 & BIdx = 1..BV & s:BIdx --> BOOL & res=first(s)' % needs fix in parser: resetdefinitions
], 'Test new well-definedness analysis').
cli_testcase(2019,[b_test],[
'../prob_examples/public_examples/B/Tester/ASSERT_Disabled_Test.mch',
'-t'
], 'Test ASSERT_CHECKING preference').
cli_testcase(2020,[b_test],[
'../prob_examples/public_examples/B/Tester/ASSERT_Enabled_Test.mch',
'-mc', 100, '-no-state-errors', '-nodead',
'-cc', 8, 10,
'-expcterr', assert_error % assert error is still registered, but model checking runs to the end
], 'Test -no-state-errors model checking option').
cli_testcase(2021,[cbc],[
'-evalt', '{x} /\\ {y} /= {} & x:1000000..20000000 & y:0..2000000',
'-evalt', 'x:1000000..20000000 & y:0..2000000 & {x} /\\ {y} /= {}' % used to be very slow
], 'Performance issue with intersection of two singleton sets, Check that non-empty set detected and x and y are unified').
cli_testcase(2022, [disprover,infinite,total_function,wd], [
'../prob_examples/public_examples/EventBPrologPackages/Tests/WD/TestWD_Prover_ctx.pl',
'-check_disprover_result', 11,0,0,
'-timeout', 200 % timeout per PO
],'WD proof obligations all discharged using new rule-based WD prover').
cli_testcase(2023, [disprover,wd], [
'../prob_examples/public_examples/EventBPrologPackages/Tests/WD/BitFunctions_ctx.pl',
'-check_disprover_result', 4,0,0,
'-timeout', 200 % timeout per PO
],'WD proof obligations all discharged using new rule-based WD prover (involving division)').
cli_testcase(2024, [wd,wd_prover], [
'../prob_examples/public_examples/B/Demo/SortByPermutation5.mch',
'-wd', 10, 10, '-timeout', 200 % timeout per PO
],'Test all WD POs generated and discharged').
cli_testcase(2025, [wd,wd_prover], [
'../prob_examples/public_examples/B/Laws/ArithmeticLaws.mch',
'-wd', 69, 71, % changed from 67/69 on Jul 29th 2023 due to change in machine
'-timeout', 200, % timeout per PO
'-silent' %-expcterr', 'well_def_analyser' % warnings for 2 undischarged POs due to min/max in non-silent mode
],'Test all WD POs generated and discharged').
cli_testcase(2026, [wd,wd_prover], [
'../prob_examples/public_examples/B/Mathematical/NFA_to_DFA_Unicode.mch',
'-wd', 16, 16, '-timeout', 200 % timeout per PO
],'Test all WD POs generated and discharged').
cli_testcase(2027, [wd,wd_prover], [
'../prob_examples/public_examples/B/Mathematical/CardTrick.mch',
'-wd', 28, 28, '-timeout', 200 % timeout per PO
],'Test all WD POs generated and discharged').
cli_testcase(2028, [error_checks], [
'../prob_examples/public_examples/B/Tester/Warnings/VarNotWritten.mch',
'-lint',
'-expcterrpos', bmachine_static_checks, 1, 8,
'-expcterrpos', check_all_variables_written, 3, 10
],'Test extended static checking (ESC) aka linting').
cli_testcase(2029, [wd,wd_prover], [
'../prob_examples/public_examples/B/Tester/WD_Tests/Substitutions/SeqComp1.ref',
'-wd', 1, 1, '-timeout', 200 % timeout per PO
],'Test sequential composition correctly dealt withby WD').
cli_testcase(2030, [wd,wd_prover,sequences], ['../prob_examples/public_examples/B/Benchmarks/SeqLaws.mch',
'-wd', 59, 59, '-timeout', 200 % timeout per PO
], 'Test all WD POs generated and discharged').
cli_testcase(2031, [enabling,read_write], ['../prob_examples/public_examples/B/Benchmarks/CAN_BUS_tlc.mch',
'-read_write_matrix_csv', '../prob_examples/public_examples/B/Benchmarks/CAN_BUS_tlc_rw_matrix.csv',
'-strict'],
'Check correct computation of read_write_matrix.').
cli_testcase(2032, [b_test,records], ['../prob_examples/public_examples/B/FeatureChecks/AssignToRecordField.mch',
'-t'
], 'Check that we can assign to the field of a record variable').
cli_testcase(2033, [b_test,recursion,infinite], ['../prob_examples/public_examples/B/RecursiveFunctions/Tests/NFA_DFA_Explosion.mch',
'-mc', 100
], 'Check that we total function check works for recursive function').
cli_testcase(2034,[wd],[
'-evalt', 'BOOL <<->> {TRUE} = {{(FALSE|->TRUE),(TRUE|->TRUE)}}',
'-evalt', 'BOOL <->> {TRUE} = {{(FALSE|->TRUE)},{(FALSE|->TRUE),(TRUE|->TRUE)},{(TRUE|->TRUE)}}',
'-evalt', 'BOOL <<-> {TRUE} = {{(FALSE|->TRUE),(TRUE|->TRUE)}}',
'-evalt', '{TRUE} <<-> {BOOL} = {{(TRUE|->{FALSE,TRUE})}}',
'-evalt', 'card((1..2)<<->BOOL) = 9',
'-evalt', 'card((1..2)<<->>BOOL) = 7',
'-evalt', 'card((1..2)<->>BOOL) = 9',
'-evalt', 'card((1..5)<<->BOOL) = 3**5',
'-evalt', 'card((1..5)<<->>BOOL) = 241',
'-evalt', 'card((1..5)<->>BOOL) = 961',
'-evalt', 'card((1..5)<->>BOOL) = card(BOOL <<-> (1..5))',
'-evalt', 'card((1..8)<->>BOOL) = card(BOOL <<-> (1..8))',
'-evalt', 'card((1..20)<<->BOOL) = 3486784401',
'-evalt', 'card((1..20)<->>BOOL) = 1099509530625',
'-evalt', 'card(BOOL<<->(1..20)) = 1099509530625',
'-evalt', 'card((1..200)<<->{TRUE}) = 1'
], 'Check that Event-B special relation operators are supported').
cli_testcase(2035, [cbc,bmc], ['../prob_examples/public_examples/B/CBC/DeadlockTest.mch', '-bdc', 5,
'-expcterr', 'deadlock',
'-his', '../prob_examples/public_examples/B/CBC/DeadlockTest_his.txt', '-his_option','show_states'
], 'Check new bounded deadlock checking command').
cli_testcase(2036, [wd,wd_prover,sequences], ['../prob_examples/public_examples/B/ErrorMachines/FunLaws_wderror.mch',
'-wd', 84, 90, '-timeout', 200, % timeout per PO
'-silent' %-expcterr', 'well_def_analyser' % warnings for undischarged POs
], 'Test no cycle and timeout').
cli_testcase(2037,[sequences],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'cur = [1,2,3,4] & {pre,LHS | pre:seq(INTEGER) & LHS : {2,3,4} & cur = pre^[LHS]} = xx & [1,2,3]|->4:xx',
'-evalt', 'cur = [1,2,3,4] & {pre,LHS | pre:seq(INTEGER) & LHS : {2,3,4} & cur = pre<-LHS} = xx & [1,2,3]|->4:xx',
'-evalt', 'cur = [1,2,3,4] & {pre,RHS | pre:seq(INTEGER) & RHS : {1,3} & cur = RHS->pre} = xx & [2,3,4]|->1:xx',
'-evalt', 'cur = [1,2,3,4] & {pre,post,LHS | LHS : {2,3} & cur = pre^([LHS]^post)} = xx & ran(xx)={2,3}',
'-evalt', 'cur = [1,2,3,4] & {pre,post,LHS | LHS : {2,3} & cur = (pre^[LHS])^post} = xx & ran(xx)={2,3}'
], 'Check improved treatment of insert_tail and insert_front').
cli_testcase(2038,[sequences,json_trace_replay],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Mathematical/Info4/Kapitel3-CF/PDA/PDA_to_CFG.mch',
'-trace_replay', 'json', '../prob_examples/public_examples/B/Mathematical/Info4/Kapitel3-CF/PDA/PDA_to_CFG.prob2trace'
], 'Check no enumeration warnings (insert_tail improvement)').
cli_testcase(2039, [private_source_not_available], ['../private_examples/ClearSy/2020/03_Mar/wd_timeout/invalidRef_welldef.mch',
'-wd', 616, 1132,
% was 612/1132 until May 8th 2024 ba38a0d451ed87533a5c2df30edd2c16d35ef8c5 eval_set_extension improved,
% was 620/1140 before 89519d2dc27ac03d4a6233dbe9fc4b6c2dcf3b50,
% was 618/1148 was 711, and 714 before commit 5e3cb4b7 move assertions from LibraryFiles.mch to AssertionsForLibraryFiles.mch
'-silent' %-expcterr', 'well_def_analyser' % warnings for undischarged POs
], 'Test performance on larger machine').
cli_testcase(2040, [wd,wd_prover], ['../prob_examples/public_examples/EventBPrologPackages/EventB2Java/sort_m2_data400.mch',
'-wd', 39, 39, '-timeout', 200 % timeout per PO
], 'Test machine with a lot of index computations').
cli_testcase(2041, [wd,wd_prover], ['../prob_examples/public_examples/EventBPrologPackages/EventB2Java/sort_m2_data400_mch.eventb',
'-wd', 43, 43, '-timeout', 200 % timeout per PO
], 'Test machine with a lot of index computations').
cli_testcase(2042, [wd,wd_prover], ['../prob_examples/public_examples/EventBPrologPackages/Records/SampleThreeRecordsTranslated.mch',
'-wd', 46, 46, '-timeout', 200 % timeout per PO
], 'Test machine with records and id usage').
cli_testcase(2043, [wd,wd_prover], ['../prob_examples/public_examples/TLA/Consumer_Producer/buffer11_10_v3.mch',
'-wd', 5, 5, '-timeout', 200 % timeout per PO
], 'Test machine with sequence manipulations').
cli_testcase(2044, [wd,wd_prover], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tester/NastySetComprehensions.mch',
'../prob_examples/public_examples/B/PerformanceTests/PartitionIntoComponentsTest2.mch',
'../prob_examples/public_examples/B/Puzzles/EulerOfficers6.mch',
'../prob_examples/public_examples/B/PerformanceTests/SAT_Tests/IceCream_kSAT.mch',
'../prob_examples/public_examples/TLC/GOAL/RushHour_TLC.mch',
'../prob_examples/public_examples/B/ABCD/TraceChecking/TravelAgency_TraceCheck.mch',
'../prob_examples/public_examples/B/Tickets/Valerio1/BIT_DEFINITION.mch',
'../prob_examples/public_examples/B/SymmetryReduction/Rubik_2by2_Sym.mch',
'../prob_examples/public_examples/B/Puzzles/PeaceableQueens/NineQueensAndKingBW.mch',
'../prob_examples/public_examples/B/TestCaseGeneration/Schleusen.mch',
'../prob_examples/public_examples/B/BZTT/TestBZTT2.mch',
'../prob_examples/public_examples/B/CBC/RiverCrossing_BMC.mch',
'../prob_examples/public_examples/B/EventB/rodin_train_4.mch',
'../prob_examples/public_examples/B/Mathematical/Voting/NoCondorcetWinnerKodkod.mch',
'../prob_examples/public_examples/B/Laws/FunLawsWithLambda.mch',
'../prob_examples/public_examples/B/PerformanceTests/SAT_Tests/ReificationCompTests.mch',
'../prob_examples/public_examples/B/EventB/ETH_Elevator/elevator10.mch',
'../prob_examples/public_examples/B/Benchmarks/SeqLaws.mch',
'../prob_examples/public_examples/B/Compilers/LLParsingStaged.mch',
'../prob_examples/public_examples/B/Puzzles/GardnerSwitchingPuzzle_v3.mch',
% now no longer fully proven due to remove_finite rule made more conservative
%'../prob_examples/public_examples/EventBPrologPackages/ProofDirected/benchmarks/mondex_m3.eventb',
'../prob_examples/public_examples/TLC/NoError/USB_4Endpoints.mch',
'../prob_examples/public_examples/EventBPrologPackages/ABZ_Landing_Gear_Journal/Ref3_ControllerSensors_mch_eventb.mch',
'../prob_examples/public_examples/EventBPrologPackages/Advance/Safety_Metro_23_08_2012/EmergencyDoors_M2_mch.eventb',
'../prob_examples/public_examples/EventBPrologPackages/platoon/platoon_3_0_mch.eventb',
'-wd-check-all', '-global_time_out', 400 % time out per PO
], 'Test machine with sequence manipulations').
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.').
cli_testcase(2046, [csp_test], ['../prob_examples/public_examples/CSP/mydemos/ReplicatedLinkedParallel.csp', '-nodead', '-mc', 100, '-assertions'], 'Test order of replicated linked parallel processes').
cli_testcase(2047,[wd,wd_prover],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', ':prove x:INTEGER & (x>y & y>z) => x>=z',
'-evalu', ':prove x:INTEGER & (x>y & z>y) => x>=z',
'-evalt', ':prove 2>1',
'-evalt', ':prove (x:STRING & x/=y) => y/=x',
'-evalt', ':prove x+1>=x',
'-evalt', ':prove x/=1+x',
'-evalt', ':prove x+2>x',
'-evalt', ':prove x>x-1',
'-evalt', ':prove (x:1..10 & f:1..11 --> BOOL => x:dom(f))',
'-evalu', ':prove (x<:STRING) => (x <<: x)',
'-evalt', ':prove (x<:STRING) => (x <: x)',
'-evalt', ':prove (x<:STRING) => (x /\\ y <: x)',
'-evalu', ':prove (x<:STRING) => (x \\/ y <: x)',
'-evalt', ':prove (x<:STRING) => (x <: x \\/ y)',
'-evalt', ':prove (x<:STRING & y={} ) => (x \\/ y <: x)',
'-evalt', ':prove (x<y => x:x..y)',
'-evalt', ':prove (x<=y => x:x..y)',
'-evalu', ':prove (x>y => x:x..y)',
'-evalt', ':prove (z:x..y => x:x..y)',
'-evalu', ':prove (z:y..y => x:x..y)',
'-evalt', ':prove (a>0 => 10+a>=10)',
%'-evalt', ':prove (a>0 & b=10 => b+a>=b)', % TO DO
'-evalt', ':prove (b>0 => a mod b <= b)',
%'-evalt', ':prove (b>0 => a mod b < b)', % TO DO
'-evalu', ':prove (x:1..n & n>1 => (x+1) mod n : 1..(n))', % mod could be 0
'-evalt', ':prove (x:1..n & n>1 => (x+1) mod n : 0..(n))',
'-evalu', ':prove (x:1..n & n>1 => (x+1) mod n : 0..(n-2))', % interval could be empty
'-evalt', ':prove (x:1..n & n>1 => (x+1) mod n : 0..(n-1))',
'-evalt', ':prove x:INTEGER & x<y & y<z => x < z',
'-evalt', ':prove x:INTEGER & x<y & y<=z => x < z', % TO DO: x<=y & y
'-evalu', ':prove x:INTEGER & x<=y & y<=z => x < z',
'-evalt', ':prove (r : ran(V) & V: BOOL --> AType & AType = struct(attrs: STRING +-> STRING) ) => r\'attrs : (STRING) +-> (STRING)',
'-evalt', ':prove a:NATURAL1 +-> BOOL & a/={} & dom(a)=1..n => 1:dom(a)',
'-evalt', ':prove a:1..n --> BOOL & a/={} => 1:dom(a)',
'-evalt', ':prove a:1..n >-> BOOL & a/={} => 1:dom(a)',
'-evalu', ':prove a:1..n +-> BOOL & a/={} => 1:dom(a)',
'-evalt', ':prove (A: BOOL+->BOOL & dom(A)={TRUE} => A /= {})',
'-evalt', ':prove a:perm(BOOL) => 1:dom(a)',
'-evalt', ':prove a:perm(BOOL) => 2:dom(a)',
'-evalu', ':prove a:perm(BOOL) => 3:dom(a)',
'-evalu', ':prove a:perm(BOOL) => 0:dom(a)',
'-evalt', ':prove not(x=7) or not(x=3)',
'-evalt', ':prove x=TRUE => x /= FALSE',
'-evalt', ':prove x="TRUE" => x /= "FALSE"',
'-evalu', ':prove (x="T" or x="F")',
'-evalt', ':prove (x=TRUE or x=FALSE)',
'-evalt', ':prove i={2} => i/={1}',
'-evalt', ':prove i={2} => i/={1,3}',
'-evalt', ':prove i={2,4} => i/={1}',
'-evalu', ':prove i={2,4} => i/={4,2}',
'-evalu', ':prove i={2,4} => i/={4,z}',
'-evalu', ':prove {1,2}/={2,z1,z2,z3}',
'-evalt', ':prove {1,2,4} /= {1,2,5} & {1,2,4} /= {xx,yy}',
'-evalt', ':prove 1 < z => - z <= -2',
'-evalu', ':prove 1 < z => - z < -2',
'-evalt', ':prove z>2 => -3* z < -6',
'-evalt', ':prove z>=3 => -3* z <= -9',
'-evalu', ':prove z>=3 => -3* z <= -10',
'-evalt', ':prove z <= 1 => 3*z <= 4',
'-evalu', ':prove z <= 2 => 3*z <= 4',
'-evalu', ':prove z <= -1 => 3*z <= -4',
'-evalt', ':prove z <= -2 => 3*z <= -4',
'-evalt', ':prove z <= -2 => 3*z <= -5',
'-evalt', ':prove z <= -34 => 3*z <= -100',
'-evalu', ':prove z <= -33 => 3*z <= -100',
'-evalt', ':prove x>=6 => 11 <= 2*x',
'-evalt', ':prove x>=5 => 10 <= 2*x',
'-evalu', ':prove x>=5 => 11 <= 2*x',
'-evalt', ':prove x>=-5 => -11 <= 2*x',
'-evalt', ':prove z>=4 => (-3*z <= -10 & -3*z <= -12)',
'-evalu', ':prove z>=3 => -3*z <= -10',
'-evalt', ':prove x:INTEGER & -x>=-y => x <= y',
'-evalt', ':prove x:INTEGER & x>y => -x < -y',
'-evalt', ':prove not(- lo755 <= -1) or - lo755 <= 0',
'-evalt', ':prove li2 <= 4 & -li2 <= -4 => not(li2 <= 0)',
'-evalt', ':prove not(li2 <= 1) or (not(- li2 <= -1) or not(li2 <= 0))',
'-evalt', ':prove (not(li2 <= 1) or not(- li2 <= -1)) or not(li2 <= 0)',
'-evalt', ':prove ((x>0 => y>0) & x>0) => y>0',
'-evalt', ':prove f:BOOL<->BOOL & (x<:dom(f) or x<:dom(g)) => x <: dom(f\\/g)',
'-evalt', ':prove f:BOOL<->BOOL & (x:dom(f) or x:dom(g)) => x : dom(f\\/g)',
'-evalt', ':prove !(x,f).(f:INTEGER +-> INTEGER => x:dom(f <+ {x|->x}))',
'-evalt', ':prove !(x,y).(x<:INTEGER & x<:y & y<:x => y=x)',
'-evalt', ':prove f:BOOL --> 0..n & p>f(TRUE) => p>=1',
'-evalu', ':prove f:BOOL --> 0..n & p>f(TRUE) => p>=2',
'-evalt', ':prove f:BOOL --> 1..n & p>f(TRUE) => p>=2',
'-evalt', ':prove p>l1(niz) & p<=l2(niz) & l1:BOOL --> 1..TE & l2:BOOL-->1..TE & TE:NATURAL1 => ( p-1:1..TE )',
'-evalt', ':prove f:BOOL --> 0..10 & p<f(TRUE) => p<=9',
'-evalt', ':prove f:BOOL --> 0..10 & p<f(TRUE) => p+1<=10',
'-evalt', ':prove f:BOOL --> 0..n & p<f(TRUE) => p+1<=n',
'-evalt', ':prove f:BOOL --> m..n & p>f(TRUE) => p-1>=m',
'-evalt', ':prove x>y => x/: 1..y',
'-evalt', ':prove 10 <= n1 & 10 <= n2 => 20 <= n1+n2',
'-evalu', ':prove 1 <= n1 & 1 <= n2 => 3 <= n1+n2',
'-evalt', ':prove 1 <= n1 & 1 <= n2 => 2 <= n1+n2',
'-evalu', ':prove -2 <= n1 & -2 <= n2 => -3 <= n1+n2',
'-evalt', ':prove -1 <= n1 & -1 <= n2 => -3 <= n1+n2',
'-evalu', ':prove 5 >= n1 & 5 >= n2 => 9 >= n1+n2',
'-evalt', ':prove 10 >= n1 & 10 >= n2 => 20 >= n1+n2',
'-evalu', ':prove -1 >= n1 & -1 >= n2 => -3 >= n1+n2',
'-evalt', ':prove -1 >= n1 & -1 >= n2 => -2 >= n1+n2',
'-evalu', ':prove x<= y & z <= y => x+z <= 1*y',
'-evalt', ':prove x<= y & z <= y => x+z <= 2*y',
'-evalt', ':prove x:INTEGER & x<= y1 & z <= y2 => x+z <= y1+y2',
'-evalt', ':prove x:INTEGER & x<= y1 & z <= y2 => x+z <= y2+y1',
'-evalt', ':prove a:INTEGER & a>=b & c>=d => a+c >= b+d',
% :prove x:INTEGER & x<= y2 & z <= y1 => x+z <= y2+y1 % would require decompose_floor to be non-det
% :prove (x>y & y>z) => x/=z % TO DO
'-evalt', ':prove x=3 => not( x=3 => x=2)',
'-evalt', ':prove x=2 => x=2',
'-evalu', ':prove x=2 => x=3',
'-evalu', ':prove not(x=3 => x=2)',
'-evalt', ':prove (s2 = s \\/ {0} & s3 = s \\/ {0} & s4 = s2 \\/ {1} & s5 = s3 \\/ {1}) => s4 = s5',
'-evalt', ':prove a={1|->11,2|->22} & b={1|->33,4|->44} & ab= a><b => 1:dom(ab)',
'-evalu', ':prove a={1|->11,2|->22} & b={1|->33,4|->44} & ab= a><b => dom(ab) <: 2..4',
'-evalt', ':prove a={1|->11,2|->22} & b={1|->33,4|->44} & ab= a><b => dom(ab) <: 1..4',
'-evalt', ':prove f=%x.(x:1..10|x) & g=%y.(y:5..15|y+1) & fg=f>
'-evalt', ':prove f=%x.(x:1..10|x+xx) & g=%y.(y:5..15|y+yy) & fg=f>
'-evalu', ':prove f=%x.(x:1..10|x+xx) & g=%y.(y:5..zz|y+yy) & fg=f>
'-evalt', ':prove f=%x.(x:1..10|x+xx) & g=%y.(y:5..zz|y+yy) & fg=f>
'-evalt', ':prove {A,B,C} <: POW(INTEGER) & a:A+->B & b:A+->C => dom(a><b) <: A',
'-evalt', ':prove {A,B,C} <: POW(INTEGER) & a:A+->B & b:A+->C => a><b : A+->(INTEGER*INTEGER)',
'-evalt', ':prove f=%x.(x:INTEGER|{TRUE|->1,FALSE|->0}(bool(x>0))) => f(a):0..1',
'-evalt', ':prove f=%x.(x:INTEGER|IF (x>0) THEN 0 ELSE 1 END) => f(a):0..1',
'-evalt', ':prove f=%x.(x:INTEGER|IF (x>0) THEN -1 ELSE 1 END) => f(a):{-1,1}',
'-evalu', ':prove a=0 & f=%a.(a:0..3|a) & x:0..10 => x:dom(f)',
'-evalu', ':prove a:0..1 & f=%a.(a:2..3|a) => f(x) : 0..1',
'-evalt', ':prove a:0..1 & f=%b.(b:2..3|a) => f(x) : 0..1',
'-evalu', ':prove x:1..10 & y:1..11 => max({x,y}) : 1..10',
'-evalt', ':prove x:1..10 & y:1..10 => max({x,y}) : 1..10',
'-evalt', ':prove f = %x.(x:INTEGER|max({x,-x})) => f(y) >=0',
'-evalt', ':prove f = %x.(x:INTEGER|max({-x,x})) => f(y) >=0',
'-evalu', ':prove f:BOOL +-> BOOL & x|->TRUE /: (f) => f \\/ {x|->TRUE} : BOOL +-> BOOL', %% WRONG
% '-evalt', ':prove f:BOOL +-> BOOL & x /: dom(f) => f \\/ {x|->TRUE} : BOOL +-> BOOL', %% NOT yet proven
'-evalt', ':prove f:BOOL +-> BOOL & g <: f => f \\/ g : BOOL +-> BOOL',
'-evalt', ':prove f:BOOL +-> BOOL & g <: f => g \\/ f : BOOL +-> BOOL',
'-evalt', ':prove f:BOOL +-> BOOL & g <: f => f \\/ f : BOOL +-> BOOL',
'-evalt', ':prove f:BOOL +-> BOOL & g <: f => g \\/ g : BOOL +-> BOOL',
'-evalt', ':prove f:{FALSE} +-> BOOL => f \\/ {TRUE|->x} : BOOL +-> BOOL',
'-evalt', ':prove f:BOOL +-> BOOL & x /: dom(f) => f \\/ {x|->TRUE} : BOOL +-> BOOL',
'-evalt', ':prove f:BOOL +-> BOOL & x /: a & a=dom(f) => f \\/ {x|->TRUE} : BOOL +-> BOOL',
'-evalt', ':prove a /\\ b = {} & a<:BOOL => (a-c) /\\ b = {}',
'-evalt', ':prove a /\\ b = {} & a<:BOOL => (a-{x}) /\\ b = {}',
'-evalt', ':prove a /\\ b = {} & a<:BOOL & a2 = a -{x} => b /\\ a2 = {}',
'-evalt', ':prove a /\\ b = {} & a<:BOOL & a2 = a -{x} & b2=b => a2 /\\ b2 = {}',
'-evalt', ':prove a <: b & b<:BOOL & B2 = b \\/ {x} => a<:B2',
'-evalt', ':prove f:BOOL<->BOOL & f[a] <: b & b<:BOOL & B2 = b \\/ {x} => f[a]<:B2',
'-evalt', ':prove T2_readpriority : NATURAL & BUSwrite : NATURAL +-> INTEGER & 0 : dom(BUSwrite) & T2_readpriority:dom(BUSwrite) & BUSwrite2 = BUSwrite <+ {ppriority |-> pv} => (T2_readpriority:dom(BUSwrite2))',
'-evalt', ':prove NS=1..5 & BW:NS+->INTEGER & pmax=max(dom(BW)) => pmax>0',
'-evalt', ':prove NS=1..5 & BW:NS+->INTEGER & B=pmax & v=BW(pmax) & pmax=max(dom(BW)) => B>0',
'-evalt', ':prove A<:INT & f:A+->A => B <| f : A+->A',
'-evalt', ':prove A<:INT & f:A+->A => B <<| f : A+->A',
'-evalt', ':prove A<:INT & f:A+->A => f |> B : A+->A',
'-evalt', ':prove A<:INT & f:A+->A => f |>> B : A+->A',
'-evalt', ':prove A<:INT & f:A+->A => B <| f |> C : A+->A',
'-evalt', ':prove x:1..5 & y:1..10 => !z.(z:x..y => z>=1)',
'-evalt', ':prove x:1..5 & y:1..10 & z:0..3 => !z.(z:x..y => z>=1)',
'-evalt', ':prove x:1..5 & y:1..10 & z:2..3 => !z.(z:x..y => z>=1)',
'-evalu', ':prove x:1..5 & y:1..10 & z:2..3 => !z.(z:x..y => z>=2)',
'-evalt', ':prove c<: INTEGER & a <: b & b<: c => a <: b',
'-evalu', ':prove c<: INTEGER & a <: b & b<: c => c <: b',
% '-evalt', ':prove a:0..1 & f=%b.(b:2..3|b) => f(x) : 2..3', % TO DO: add b:2..3 to hyps
'-timeout', 200 % timeout per PO
], 'Test WD prover directly').
cli_testcase(2048,[cbc],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'dom(%(x,y,z).(x:BOOL & y:11..22 & z:BOOL|1)) = (X*A)*Z',
'-evalf', 'dom(%(x,y,z).(x:BOOL & y:11..22 & z:BOOL|1)) \\/ {(TRUE,33,TRUE)} = (X*A)*Z',
'-evalt', 'dom(%(x,y,z).(x:BOOL & y:11..22 & z:BOOL|1)) \\/ (BOOL*{33})*BOOL = (X*A)*Z',
'-evalt', 'dom(%(x,y,z).(x:BOOL & y:11..22 & z:BOOL|1)) \\/ (BOOL*{33})*{TRUE} /= (BOOL*(1..1000000))*BOOL',
'-evalt', 'dom(%(x,y,z).(x:BOOL & y:11..11 & z:BOOL|1)) \\/ (BOOL*{11})*{TRUE,FALSE} = (XX*AA)*XX',
'-evalt', 'dom(%(x,y,z).(x:BOOL & y:11..22 & z:BOOL|1)) \\/ {(TRUE,33,TRUE)} = (X*A)*X <=> (A /= {100} or X/={TRUE})',
'-evalt', 'avl = {1|->2, 1|->3} & avl = A*B',
'-evalt', 'avl = {(1|->2),(1|->33),(2|->2),(2|->33)} & avl = A*B',
'-evalt', 'avl = {(1|->2),(1|->33),(2|->2),(2|->33),(44|->2),(44|->33)} & avl = A*B',
'-evalf', 'avl = {1|->2, 2|->3} & avl = A*B',
'-evalf', 'avl = {1|->2, 1|->3, 2|->2} & avl = A*B',
'-evalf', 'avl = {(1|->2),(1|->33),(2|->2),(2|->33),(44|->2),(44|->33),(44|->44)} & avl = A*B',
'-evalf', 'avl = {(1|->2),(1|->33),(2|->2),(2|->33),(44|->2)} & avl = A*B',
'-evalf', 'avl = {(1|->2),(1|->33),(2|->2),(44|->2),(44|->33)} & avl = A*B',
'-evalf', 'avl = {(1|->2),(1|->33),(2|->33),(44|->2),(44|->33)} & avl = A*B',
'-p', 'DATA_VALIDATION', 'TRUE'
], 'Test improved cartesian product equality').
cli_testcase(2049,[kodkod],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
'-evalt', ':kodkod A={1,2,44} & B={2,33} & avl = {1|->2, 1|->33, 2|->2, 2|->33, 44|->2, 44|->33} & avl = A*B',
'-evalt', ':kodkod A={1,2,44} & avl = {1|->2, 1|->33, 2|->2, 2|->33, 44|->2, 44|->33} & avl = A*B',
'-evalt', ':kodkod avl = {1|->2, 1|->33, 2|->2, 2|->33, 44|->2, 44|->33} & avl = A*B',
'-evalt', ':kodkod x = {1|->TRUE,2|->TRUE,5|->TRUE} & x=a*b',
'-evalf', ':kodkod x = BOOL*BOOL*{TRUE} \\/ {(TRUE,TRUE,FALSE)} & x=a*b',
'-evalt', ':kodkod x = BOOL*BOOL*BOOL & x=a*b'
], 'Test corrected cartesian product kodkod propagation rule').
cli_testcase(2050, [b_test,enabling], ['../prob_examples/public_examples/B/Tester/ReadWriteAnalysis/BecomesSuchTest.mch',
'-read_write_matrix_csv', '../prob_examples/public_examples/B/Tester/ReadWriteAnalysis/BecomesSuchTest_rw.csv'
], 'Check that read write analysis works for becomes such').
cli_testcase(2051, [b_test,enabling], ['../prob_examples/public_examples/B/Tester/ReadWriteAnalysis/BecomesSuchTest2.mch',
'-read_write_matrix_csv', '../prob_examples/public_examples/B/Tester/ReadWriteAnalysis/BecomesSuchTest2_rw.csv'
], 'Check that read write analysis works for becomes such').
cli_testcase(2052, [wd,wd_prover], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/ClearSy/cbi/sydb.mch',
'-wd-check-all', '-timeout', 200 % timeout per PO
], 'Test private machines can be proven 100%').
cli_testcase(2053,[cbc],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-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)',
'-evalf', ':core x > 1 & x>2 & x>0 & x <10 & y > x & x > z & z > y & z <12 & y > 2',
'-evalf', ':core LET a BE a=x+10 IN y<a & y<100 & y>0 & y>a END',
'-evalf', ':core x>2 & y>2 & z>2 & y<2 & z<2 & x<2',
'-evalf', ':cores x>2 & y>2 & z>2 & y<2 & z<2 & x<2',
'-evalf', ':cores not(x<10 or x>=10 or z>0)',
'-evalf', ':cores not(x<10 or x>=10 or z>0 or x>9)',
'-evalf', ':min-core x>1 & x<y & y<z & z<2 & x<2',
'-evalf', ':min-core x>2 & y>2 & z>2 & y<2 & z<2 & x<v & v<2 & x+y+v /= 0',
'-evalf', ':core (x=TRUE => (y>1 & z>1)) & y<0 & (x=FALSE => (y>1 & z<1))'
% '-evalf', ':core x>0 & 10/(x*x) < 1 & x<4' % we need to clear WD error !
% '-evalu', ':core x<: POW(BOOL) & x={} & card(res)>1 & res = inter(x) '
], 'Test unsat core computation').
cli_testcase(2054,[cbc,tickets],[ '-p', 'NORMALIZE_AST', 'TRUE', '-p', 'OPTIMIZE_AST', 'TRUE',
'-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'
], 'Test unsat normalize AST issue fixed').
cli_testcase(2055,[smt_solver_integration],[ '-p', 'NORMALIZE_AST', 'TRUE', '-p', 'OPTIMIZE_AST', 'TRUE',
'-p', 'TIME_OUT', '10000',
'-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'
], 'Test overflow issue in Z3 interface solved').
cli_testcase(2056,[chr,tickets],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'CHR', 'TRUE',
'-evalt', 'c1<c2 & x>=-5000 & c1+c2+x < -5000 & c1=-1 & c2=0'
], 'Test bug in CHR/clpfd_check_geq_nr fixed').
cli_testcase(2057, [external, reals], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/NewSyntax/Reals/RealExternalFunctions.mch',
'-evalt', 'r = /*@symbolic*/ {f|f/=1.0} & 2.0 : r',
'-assertions'
], 'Test new features on reals').
cli_testcase(2058,[cse,tickets],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'CSE', 'TRUE',
'-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))'
], 'Test bug in CSE and compiling of lazy_lookup with non-WD expression fixed').
cli_testcase(2059,[cse,tickets],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'CSE', 'TRUE',
'../prob_examples/public_examples/B/Laws/BoolLaws.mch',
'-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))'
], 'Test bug in CSE and double negation (and negated_cse info) fixed').
cli_testcase(2060, [smt_solver_integration], [
'../prob_examples/public_examples/B/Benchmarks/phonebook7.mch', % for SETS NAME, Code = {c1,c2,c3,c4}
'-eval', ':z3-version',
'-evalt', ':z3-double-check a<:{11}*{TRUE} & x:a',
'-evalt', ':z3-double-check x = 2',
'-evalt', ':z3-double-check a<:-1..3 & -1:a',
'-evalf', ':z3-double-check a<:-1..3 & -2:a',
'-evalt', ':z3-double-check x:BOOL & x=y',
'-evalt', ':z3-double-check x:INTEGER & x=y',
'-evalt', ':z3-double-check a<:(1..3)*{22} & x:a',
%'-evalt', ':z3 a<:(1..n)*{22} & n:0..2 & x:a',
'-evalt', ':z3-double-check x ={1|->TRUE, 2|->FALSE} & y=x', % ISSUE SSIMT-2
% some :prove examples from test 2047
'-evalt', ':z3 x:INTEGER & (x>y & y>z) => x>=z',
'-evalt', ':z3 !(x,y,z).(x:INTEGER & (x>=y & y>z) => x>z)',
'-evalt', ':z3 !(x,y,z).(x:INTEGER & (x>y & y>=z) => x>z)',
'-evalf', ':z3 !(x,y,z).(x:INTEGER & (x>=y & y>=z) => x>z)',
'-evalt', ':z3 !x.(x:INTEGER => x+1>=x)',
'-evalt', ':z3 !x.(x:INTEGER => x/=1+x)',
'-evalt', ':z3 !x.(x:INTEGER => x>x-1)',
%'-evalt', ':z3 !(x,f).(x:1..10 & f:1..11 --> BOOL => x:dom(f))', % UNKNOWN
'-evalt', ':z3 !(x,y).(x:INTEGER & x<y => x:x..y)',
'-evalt', ':z3 !(x,y).(x:INTEGER & x<=y => x:x..y)',
'-evalf', ':z3 !(x,y).(x:INTEGER & x>y => x:x..y)',
'-evalt', ':z3 !(x,y,z).(x:INTEGER & z:x..y => x:x..y)',
'-evalf', ':z3 !(x,y,z).(x:INTEGER & z:y..y => x:x..y)',
'-evalt', ':z3 !a.(a:INTEGER & a>0 => 10+a>=10)',
'-evalt', ':z3 !(a,b).(a:INTEGER & a>=0 & b>0 => a mod b <= b)',
'-evalt', ':z3 !(a,b).(a:INTEGER => a mod b <= b)',
% :z3 !(x,n).(x:1..n & n>1 => (x+1) mod n : 1..(n)) % UNKNOWN
'-evalt', ':z3 !(x,y,z).(x:INTEGER & x<y & y<z => x < z)',
% :z3 !(a,n).(a:NATURAL1 +-> BOOL & a/={} & dom(a)=1..n => 1:dom(a)) % UNKNOWN
% :z3 !(x,f).(f:INTEGER +-> INTEGER => x:dom(f <+ {x|->x})) % UNKNOWN
% :z3 !(x,f).(f:1..10 --> INTEGER & x>1 & x<10 => x:dom(f)) % UNKNOWN
'-evalt', ':z3 !(x,y).(x<:INTEGER & x<:y & y<:x => y=x)',
% examples using enumerated/deferred sets
'-evalt', ':z3-double-check res = {c1} \\/ ({c2} /\\ {c1})',
'-evalt', ':z3-double-check res = {c1} \\/ ({c2} \\ {c1})',
'-evalt', ':z3-double-check not(c1:res) & not(c2:res) & c3:res',
'-evalt', ':z3-double-check x =[2,3] & y=x~ & d = {v|#(w).(w:{3} & (w,v):y)}',
'-evalt', ':z3-double-check x =[2,3] & y=x~ & d = y[{3,4}]',
'-evalt', ':z3 x =[2,3] & d = x~[{3,4}]',
'-evalt', ':z3-double-check x ={1|->TRUE, 2|->FALSE} & y=x~',
'-evalt', ':z3-double-check x ={1|->TRUE, 2|->FALSE} & y= {TRUE|->FALSE}',
'-evalt', ':z3-double-check x = %i.(i:1..10|i+i) & x[{5,j}]={16,10}',
'-evalt', ':z3 dom({1|->1}/\\{2|->3}) = {}',
'-evalt', ':z3-double-check ((IF id0 /= 0.0 THEN {1,2,3} ELSE inter({}) END) /<: {})',
'-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)))',
'-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({}))',
'-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))',
'-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))',
'-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))',
'-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))))',
'-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({}))',
'-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)))',
'-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({})))',
'-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)))',
'-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({}))',
'-evalt', ':z3-double-check not(MININT : 0 .. size([]) & ([] \\|/ MININT : seq1(REAL) & /* falsity */ {} /= {}) & first([] \\|/ MININT) + MU({}) <= union(NAT1 +-> FLOAT)(floor(- 36.68245935131156)))',
'-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({}))',
'-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)))',
'-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)))',
'-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({})))',
'-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({})))',
'-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({}))',
'-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))',
'-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))',
'-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) )))',
'-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))))',
'-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([]))))',
'-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))',
'-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)',
'-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))))',
'-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)))))',
'-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)))',
'-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([])))))',
'-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))',
'-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)})',
'-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))',
'-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([])))',
'-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)))',
'-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)))',
'-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))))',
'-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))))',
'-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))))',
'-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 |-> [])))',
'-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))',
'-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}) >-> {}))',
'-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)))',
'-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)))',
'-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) /: {}} = {}))',
'-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))',
'-evalt', ':z3-double-check not(id0 /= 0 & 85 > 3 / id0)',
'-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)))})})',
% clash checks Code = {c1,c2,c3,c4}, db,active,activec={}
'-evalf', ':z3-double-check dom(db) /= active',
'-evalt', ':z3-double-check #active.(dom(db) /= active)',
'-evalt', ':z3-double-check #db.(db /= active)',
'-evalf', ':z3-double-check #(c1,c2).(c1:Name & c2:Code & db={c1|->c2})',
'-evalt', ':z3-double-check #(c1,c2,db).(c1:Name & c2:Code & db={c2|->c1})',
'-evalt', ':z3-double-check #(c1,c2).(c1:Name & c2:Code & (c1:active <=> c2:activec))',
'-evalt', ':z3 !(c1,c2).(c1:db & c2:db => c1=c2)', % db is empty, was unsupported LEQ_SYM
% precomputation
'-evalt', ':z3-double-check x : POW({1,2,y}) & z:x & z>2',
'-evalt', ':z3-double-check {1|->2,e}~ = r',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
], 'some simple constraints that should be solved by cvc4 / z3').
cli_testcase(2061, [cbc,atelierb,chr,disprover,private], [
'../prob_examples/examples/B/Alstom/DisproverProject/ProvableByPP/prob2023.mch',
'-p', 'CHR', 'TRUE', '-p', 'SMT', 'TRUE', '-p', 'DISPROVER_MODE', 'TRUE',
'-cbc_assertions_tautology_proof',
'-cbc_result_file', '../prob_examples/examples/B/Alstom/DisproverProject/ProB_Result.txt'],
'Test Atelier-B Disprover interface and non-critical enum warning ignored').
cli_testcase(2062, [kodkod,tickets], [
'-evalt', ':kodkod b = {x | x>2 & x<3}',
'-evalf', ':kodkod x>2 & x<3',
'-evalt', ':kodkod (f3={a,c,e|a:NATURAL & c:NATURAL1 & e:{x|x=1 & x=2} & a=1 & c=2})',
'-evalt', ':kodkod (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
], 'check no inconsistency detected at top-level (Ticket KODKOD-4)').
cli_testcase(2063, [smt_solver_integration,tickets], [
'../prob_examples/public_examples/B/SymmetryReduction/StaticSymmetryReduction/DefSet5.mch',
'-p', 'TIME_OUT', '30000',
'-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))'
% seems to run into time-out sometimes
], 'check model translation works and as const bug fixed (Ticket SSIMT-8)').
cli_testcase(2064, [cbc,tickets,sigma], [
'-evalf', 'PI(x).(x:{0,y}|x)=2', % was reporting solution y=2
'-evalt', 'PI(x).(x:{1,y}|x)=2',
'-evalf', 'SIGMA(x).(x:{1,y}|x)=2',
'-evalt', 'SIGMA(x).(x:{1,y}|x)=3',
'-evalt', 'SIGMA(x).(x:{0,y}|x)=22',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
], 'check issue with PI and 0 accumulator fixed').
cli_testcase(2065, [external,reals,sigma], [
'-evalt', 'PI(x).(x:{1.0,y}|x)=2.0',
'-evalt', 'SIGMA(x).(x:{1.0,2.0}|x) = 3.0',
'-evalf', 'SIGMA(x).(x:{1.0,2.0}|x) = 2.0',
'-evalt', 'PI(x).(x:{1.0,2.0}|x) = 2.0',
'-evalt', 'SIGMA(x).(x:{1.0,2.0}|x+x) = 6.0',
'-evalt', 'PI(x).(x:{1.0,2.0}|x+x) = 8.0',
'-evalt', 'SIGMA(x).(x:1..100|real(x)) = 5050.0',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
], 'check SIGMA and PI work with reals').
cli_testcase(2066, [cbc,infinite], [
'-evalt', 'f = /*@symbolic */ %x.(x:NATURAL|x mod 2) & res = f \\ f & r2 = f /\\ f',
'-evalt', 'f = /*@symbolic */ %x.(x:NATURAL|x mod 2) & res = f \\ f & res={}',
'-evalt', 'f = /*@symbolic */ %x.(x:NATURAL|x mod 2) & r2 = f /\\ f & r2 = f',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
], 'check symbolic treatment of intersection and set subtraction / difference').
cli_testcase(2067,[b_test,operation_calls_in_expr],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/NewSyntax/CallOperationInExprMultipleReturns.mch',
'-p', 'ALLOW_OPERATION_CALLS_IN_EXPRESSIONS', 'TRUE',
'-assertions',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
], 'Test calling operations in expressions with multiple return args').
cli_testcase(2068, [sequences,infinite,exists], [
'-evalt', 'SB = {x|#n.(x:1..n >-> BOOL)} & [TRUE,FALSE] : SB & [] : SB',
'-evalt', 'SB = {x|#n.(x:1..n --> BOOL)} & [TRUE,FALSE] : SB & [TRUE,TRUE] : SB & [] : SB',
'-evalt', 'SB = {x|#n.(n:NATURAL1 & x:1..n --> BOOL)} & [TRUE,FALSE] : SB & [TRUE,TRUE] : SB & [] /: SB',
'-evalt', 'SB = {x|#n.(n>0 & x:1..n --> BOOL)} & [TRUE,FALSE] : SB & [TRUE,TRUE] : SB & [] /: SB',
'-evalt', 'SB = {x|#n.(n>=1 & x:1..n --> BOOL)} & [TRUE,FALSE] : SB & [TRUE,TRUE] : SB & [] /: SB',
'-evalt', 'SB = {x|#n.(0<n & x:1..n --> BOOL)} & [TRUE,FALSE] : SB & [TRUE,TRUE] : SB & [] /: SB',
'-evalt', 'SB = {x|#n.(n:NATURAL & x:1..n --> BOOL)} & [TRUE,FALSE] : SB & [TRUE,TRUE] : SB & [] : SB',
'-evalt', 'SB = {x|#n.(n:NATURAL1 & x:1..n >-> NATURAL)} & [11,22] : SB & [22,22] /: SB & [] /: SB',
'-evalt', 'SB = {x|#n.(x:1..n >->> BOOL)} & [TRUE,FALSE] : SB & [TRUE,TRUE] /: SB & perm(BOOL) = SB',
'-evalt', 'SB = {x|#n.(n:NATURAL1 & x:1..n >->> BOOL)} & [TRUE,FALSE] : SB & [TRUE,TRUE] /: SB & perm(BOOL) = SB',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
], 'check detection of sequence operator written using exists').
cli_testcase(2069, [cbc,infinite], [
'-evalt', 'bs = (NATURAL*{TRUE}) & bs2 = bs <+ {0|->FALSE} & bf = 0..3 <| bs2',
'-evalt', 'bs = (NATURAL*{TRUE}) & bs2 = bs <+ {2|->FALSE} & bf = 1..3 <| bs2 & bf = [TRUE,FALSE,TRUE]',
'-evalt', 'bs = (NATURAL*{TRUE}) & bs2 = bs <+ {0|->FALSE} & bs3 = bs <+ {3|->FALSE} & bf = 0..4 <| bs2',
'-evalt', 'bs = (NATURAL*{TRUE}) & bs2 = bs <+ {0|->FALSE} & bf = {x|x>3} <<| bs2',
'-evalt', 'bs = (NATURAL*{TRUE}) & bs2 = bs <+ {0|->FALSE} & bf = {x|x>3} <<| bs2 & bf = {(0|->FALSE),(1|->TRUE),(2|->TRUE),(3|->TRUE)}',
'-evalt', 'bs = (NATURAL*{TRUE}) & bf = bs |>> {TRUE}',
'-evalt', 'bs = (NATURAL*{TRUE}) & bf = bs |>> {TRUE} & bf={}',
'-evalt', 'f = /*@symbolic */ {x,y,z|x+y=z & x>y & x:NATURAL & y:NATURAL} & r=(0..2)*(0..1) <| f',
'-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)}',
'-evalt', 'f = /*@symbolic */ {x,y,z,r|x+y+z=r & x:NATURAL & y:NATURAL & z:NATURAL} & r= f |> {3}',
'-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)}',
'-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 ',
'-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)}',
'-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}',
'-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)}',
% TO DO: bs = (NATURAL*{TRUE}) & bs2 = bs <+ {0|->FALSE} & bf = bs2 |> {FALSE}
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
], 'check symbolic treatment for domain restriction for closures').
cli_testcase(2070, [cbc,clpfd_tables], [
'-evalt', '3 : {r,r+1}',
'-evalt', 'card({r|3 : {r,r+1}}) /= 3',
'-evalt', '{r|3 : {r,r+1}} = {2,3}',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
], 'check that element/3 constraint also enumerates before enumeration warnings are generated').
cli_testcase(2071, [cbc,cbc_tests], [
'../prob_examples/examples/B/Altran/SafetyLogic_Anime_m3_mch.eventb',
'-cbc_tests', 5, 'trainKind(tr1):{Ertms}', '../prob_examples/examples/B/Altran/test_2071_cbc.xml',
'-cbc_cover', 'trainEntring', '-force_no_silent'
], 'check that test-case generation works for Altran example').
cli_testcase(2072, [cbc,cbc_tests], [
'../prob_examples/examples/B/Altran/SafetyLogic_Anime_m3_mch.eventb',
'-cbc_tests', 3, '{Ertms}=ran(trainKind)', '../prob_examples/examples/B/Altran/test_2072_cbc.xml',
'-cbc_cover', 'trainEntring',
'-expcterr', 'cbc_tests', '-force_no_silent'
], 'check that no instantation or other error; coverage cannot be achieved here').
cli_testcase(2073, [cbc,infinite], [
%'-evalt', 'f = %x.(x:NATURAL|x+1) & g = f <+ {0|->0} & g : INTEGER +-> INTEGER', % NOW UNKOWN
%'-evalt', 'g = /*@symbolic*/ {x,rr|x |-> rr : {(0|->0)} or (x /: {0} & (x : NATURAL & rr = x + 1))} & g:NATURAL +-> NATURAL', % NOW UNKOWN
'-evalf', 'g = /*@symbolic*/ {x,rr|x |-> rr : {(0|->0)} or (x /: {0} & (x : NATURAL & rr = x + 1))} & g:NATURAL1 +-> NATURAL',
'-evalf', 'g = /*@symbolic*/ {x,rr|x |-> rr : {(0|->0)} or (x /: {0} & (x : NATURAL & rr = x + 1))} & g:NATURAL +-> NATURAL1',
'-evalf', 'g = /*@symbolic*/ {x,rr|x |-> rr : {(1|->1)} or (x /: {0} & (x : NATURAL & rr = x + 1))} & g:NATURAL +-> NATURAL1',
%'-evalt', 'g = /*@symbolic*/ {x,rr|x |-> rr : {(1|->1)} or (x /: {1} & (x : NATURAL & rr = x + 1))} & g:NATURAL +-> NATURAL1', % NOW UNKNOWN, requires CHR
'-evalf', 'f = /*@symbolic */ {x,y|x:NATURAL & (x>=100 => y=100) & (x<100 => y=x)} & f:NATURAL +-> NATURAL1',
%'-evalt', 'f = /*@symbolic */ {x,y|x:NATURAL & (x>=100 => y=100) & (x<100 => y=x+1)} & f:NATURAL +-> NATURAL1', % NOW UNKOWN
%'-evalt', 'f = /*@symbolic */ {x,y|x:NATURAL & (x>=100 => y=100) & (x<100 => y=x)} & f:NATURAL +-> NATURAL',
'-evalt', 'f = /*@symbolic */ {x,y|x:NATURAL & y = IF (x>=100) THEN 100 ELSE x END} & f:NATURAL +-> NATURAL',
'-evalf', 'NATURAL*{1,3} = f & f: NATURAL +-> NATURAL',
'-evalt', 'NATURAL*{1} = f & f: NATURAL +-> NATURAL1',
'-evalt', 'f = %x.(x:1..10|10) \\/ %x.(x>10|11) & f: NATURAL1 +-> 10..11'
% does not work: f = /*@symbolic */ {x,y|x:NATURAL & (x>=100 => y=100) & (x<100 => y=x+1)} & f:NATURAL +-> 1..100
% because this does not work: {x,y|y /: (1 .. 10) & (x : NATURAL & (x >= 10 => y = 10) & (x < 10 => y = x + 1))} = {}
% this does work: {x,y|y /: (1 .. 10) & (x : NATURAL & y=IF x >= 10 THEN 10 ELSE x + 1 END)} = {}
%'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE' % TODO: TRUE by avoiding expansions of symbolic closures ?
], 'check symbolic treatment for partial function check').
cli_testcase(2074, [cbc,infinite,exists], [
'-evalt', 'g = /*@symbolic*/ {x,rr|x |-> rr : {(1|->1)} or (x /: {1} & (x : NATURAL & rr = x + 1))} & dom(g)=dd & dd=NATURAL',
'-evalf', 'g = /*@symbolic*/ {x,rr|x |-> rr : {(1|->1)} or (x /: {1} & (x : NATURAL & rr = x + 1))} & dom(g)=dd & dd=NATURAL1',
'-evalt', 'f = /*@symbolic*/ %x.(x:NATURAL|x+1) & g = f <+ {1|->1} & dom(g)=dd & dd=NATURAL',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
], 'check symbolic treatment for domain with optimized exists construction').
cli_testcase(2075, [cbc,infinite], [
'-evalf', 'f = %x.(x:NATURAL|x+1) <+ {0|->0} & f:NATURAL --> NATURAL1',
'-evalt', 'f = %x.(x:1..10|0) \\/ %x.(x>10|x) & f: NATURAL1 --> NATURAL',
'-evalf', 'f = %x.(x:1..10|0) \\/ %x.(x>=10|x) & f: NATURAL1 --> NATURAL',
'-evalt', 'f = %x.(x:1..10|10) \\/ %x.(x>=10|x) & f: NATURAL1 --> NATURAL',
'-evalt', 'f = %x.(x:1..10|10) \\/ %x.(x>=10|x) & f: NATURAL1 --> NATURAL1',
'-evalt', 'f = %x.(x:1..10|10) \\/ %x.(x>=10|x) & f: NATURAL1 --> GT9 & GT9 = {x|x>9}',
'-evalt', 'f = %x.(x:1..10|10) \\/ %x.(x>10|11) & f: NATURAL1 --> 10..11',
'-evalt', 'f = %x.(x:NATURAL|x) <+ {0|->1} & f:NATURAL --> NATURAL1',
'-evalt', 'f = %x.(x:1..10|{10}) \\/ %x.(x>10|{x,10}) & f: NATURAL1 --> POW(NATURAL1)',
'-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
%'-evalt', 'f = %x.(x:NATURAL|x+1) <+ {0|->0} & f:NATURAL --> NATURAL'
% f = %x.(x<=10|11) \/ %x.(x>=10|x+1) & f: INTEGER --> NATURAL
% f = %x.(x:1..10|0) \/ %x.(x>10|x+1) & f: NATURAL1 --> NATURAL
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
], 'check symbolic treatment of total function').
cli_testcase(2076, [alloy], [
'../prob_examples/public_examples/Alloy/SimpleTests/overflow/milicevic.als',
'-strict', '-mc', 10, '-nodead', '-cc', 2, 1
], 'Check util/boolean supported and no overflow detected').
cli_testcase(2077, [b_test,json_trace_replay,visb], [
'../prob_examples/public_examples/B/VisB/Train/SimpleTrainTrack.mch',
'-trace_replay', 'json', '../prob_examples/public_examples/B/VisB/Train/SimpleTrainTrack.prob2trace',
'-visb', '../prob_examples/public_examples/B/VisB/Train/Track.json',
'../prob_examples/public_examples/B/VisB/Train/Track_Trace.html'], 'Check JSON replay and VisB HTML generation').
cli_testcase(2078, [infinite], [
'-evalt', 'f = %x.(x:INTEGER|x+1) & r = %y.(y:1..n|n+1) & res = ((r;f);f) & n=10000',
'-evalt', 'f = %i.(i:1..3000|x+i) & a = %x.(x:INTEGER|x+1) & res = (f;a) & x:0..20 & res(1)=11'
], 'Check symbolic relational composition').
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,
'-strict'], 'A variation of deadlock test 1138 for LTSmin.').
cli_testcase(2080, [ltsmin_test], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb',
'-mc-with-lts-seq', '-noinv', '-expcterr', 'ltsmin_counter_example_found', %'deadlock',
'-strict'], 'A variation of deadlock test 203 for LTSmin.').
cli_testcase(2081, [ltsmin_test], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M3_mch.eventb',
'-mc-with-lts-seq', '-noinv', '-expcterr', 'ltsmin_counter_example_found', %'deadlock',
'-strict'], 'A variation of deadlock test 203 for LTSmin.').
cli_testcase(2082, [eventb_test], ['../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb',
'-model-check', '-noinv', '-expcterr', 'deadlock',
'-p', 'COMPRESSION', 'TRUE',
'-strict'], 'A variation of deadlock test 203 with COMPRESSION.').
cli_testcase(2083, [ltsmin_test], ['../prob_examples/public_examples/B/Benchmarks/CAN_BUS_tlc.mch',
'-mc-with-lts-seq', '-nodead', '-strict'],
'Test 1043 with LTSMin.').
cli_testcase(2084, [ltsmin_test], [
'../prob_examples/public_examples/B/Benchmarks/CSM.mch', % '-check_complete','-cc', '341', '1229'
'../prob_examples/public_examples/B/Benchmarks/scheduler.mch', % '-check_complete', '-cc', '36', '121'
'-mc-with-lts-seq', '-nodead', '-strict'],
'Test 13, 14 with LTSMin.').
cli_testcase(2085, [bench,operation_reuse,operation_reuse_full], ['../prob_examples/public_examples/B/Benchmarks/CSM.mch', '-mc', '1000', '-strict',
'-p', 'COMPRESSION', 'TRUE', '-p', 'OPERATION_REUSE', full,
'-check_complete', '-cc', '341', '1229'], 'Test 13 (CSM) with compression and reuse').
cli_testcase(2086, [infinite], [
'-evalf', 'f = %t.(t : NATURAL|t + 100) & f /: NATURAL +-> NATURAL',
'-evalt', 'f = %t.(t : NATURAL|t + 100) & f : NATURAL +-> NATURAL',
'-evalt', 'f = %t.(t : NATURAL|t + 100) & f /: NATURAL1 +-> NATURAL',
'-evalt', 'f = %t.(t : NATURAL|t - 1) & f /: NATURAL +-> NATURAL',
'-evalt', 'f = /*@symbolic */ %p.(p:BOOL|(%t.(t:NATURAL|t+100))) & f: BOOL --> (NATURAL +-> NATURAL)'
], 'Check symbolic treatment of not partial function test').
cli_testcase(2087, [infinite], [
'-evalf', 'f = %t.(t : NATURAL|t + 100) & f /: NATURAL --> NATURAL',
'-evalt', 'f = %t.(t : NATURAL|t + 100) & f : NATURAL --> NATURAL1',
'-evalt', 'f = %t.(t : NATURAL|t + 100) & f /: NATURAL1 --> NATURAL',
'-evalt', 'f = %t.(t : NATURAL1|t + 100) & f /: NATURAL --> NATURAL',
'-evalt', 'f = %t.(t : NATURAL|t - 1) & f /: NATURAL --> NATURAL',
'-evalt', 'f = /*@symbolic */ %p.(p:BOOL|(%t.(t:NATURAL|t+100))) & f: BOOL --> (NATURAL --> NATURAL)'
], 'Check symbolic treatment of not total function test').
cli_testcase(2088, [infinite], [
'-evalf', 'n:NATURAL & n..(n+1) /<: NATURAL',
'-evalt', 'n:NATURAL & n..(n+1) /<: NATURAL1',
'-evalf', 'n:NATURAL & n..(n+1) /<: {x|x>=0}',
'-evalf', 'n>100 & n..(n+1) /<: {x|x>=100}',
'-evalt', 'n:NATURAL & n..(n+1) /<: {x|x<10}',
'-evalt', 'n:NATURAL & n..(n) /<: {x|x<10}',
'-evalf', 'n<10 & n..(n) /<: {x|x<10}',
'-evalt', 'n<10 & n..(n+1) /<: {x|x<10}',
'-evalf', 'n<9 & n..(n+1) /<: {x|x<10}',
'-evalf', 'n..(n+1) /<: {x|x:INTEGER}',
'-evalt', 'f = /*@symbolic */ %p.(p:BOOL|(%t.(t:NATURAL|t..(t+100)))) & f: BOOL --> (NATURAL --> POW(NATURAL))'
], 'Check symbolic treatment of not subset for intervals').
cli_testcase(2089, [infinite], [
'-evalf', 'f = %t.(t : NATURAL|t - 1) & f : NATURAL -->> NATURAL1',
'-evalt', 'f = %t.(t : NATURAL|t - 1) & f /: NATURAL -->> NATURAL1',
'-evalf', 'f = %t.(t : NATURAL|t - 1) & f : NATURAL +->> NATURAL1',
'-evalf', 'f = %t.(t : NATURAL|t + 2) & f : NATURAL -->> NATURAL1',
'-evalt', 'f = %t.(t : NATURAL|t - 1) & f /: NATURAL +->> NATURAL1',
'-evalt', 'f = %t.(t : NATURAL|t - 1) & f /: NATURAL -->> NATURAL1',
% still unknown: f = %t.(t : NATURAL|t + 1) & f /: NATURAL +->> NATURAL1 because z_ : NATURAL1 & not(#t.(t : NATURAL & z_ = t + 1)) is unknown
'-evalf', '/*@symbolic */ {x|#y.(y:NATURAL & x=y-2)} <: NATURAL',
'-evalt', '/*@symbolic */ {x|#y.(y:NATURAL & x=y+2)} <: NATURAL',
'-evalf', 'NATURAL <: /*@symbolic */ {x|#y.(y:NATURAL & x=y-2)} ',
'-evalf', 'NATURAL <: /*@symbolic */ {x|#y.(y:NATURAL & x=y+2)} ',
'-evalt', 'NATURAL1 /<: /*@symbolic */ {x|#y.(y:NATURAL & x=y+2)}',
'-evalf', '/*@symbolic */ {x|#y.(y:NATURAL & x=y+2)} /<: NATURAL',
'-evalt', '/*@symbolic */ {x|#y.(y:NATURAL & x=y-2)} /<: NATURAL',
'-evalt', 'z:NATURAL1 & not(#y.(y:NATURAL & z=y+2))',
'-evalf', 'f = /*@symbolic */ %p.(p:BOOL|(%t.(t:NATURAL|t+100))) & f: BOOL --> (NATURAL -->> NATURAL)'
], 'Check symbolic treatment of total surjection and not subset').
cli_testcase(2090, [tla,json_trace_replay], ['../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/Einstein_v2.tla',
'-trace_replay', 'json', '../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/Einstein_v2.prob2trace',
% '-t',
'-mc', 5, '-nodead'], 'check TLA model can be solved and FALSE action loaded (requires tla2bast 1.1.4)').
cli_testcase(2091, [cbc], [
'-evalt', 'memp : seq(STRING) & memp /= [] & dom(memp) <<: 1 .. 20',
'-evalt', 'memp : seq(STRING) & memp /= [] & dom(memp) <<: 1 .. 200',
'-evalt', 'memp : seq(STRING) & memp /= [] & dom(memp) <<: 1 .. 2000',
'-evalt', 'memp : seq(STRING) & memp /= [] & dom(memp) <<: 1 .. 20 & dom(memp) /= {}',
'-evalt', 'memp : seq(STRING) & memp /= [] & dom(memp) <: 1 .. 20 & dom(memp) /= {}',
'-evalt', 'memp : seq(STRING) & memp /= [] & dom(memp) <<: 1 .. 43',
'-evalt', 'memp : seq(STRING) & (1 .. 43 /\\ dom(memp)) /= {} & dom(memp) <<: 1 .. 43',
'-evalt', 'memp : seq(STRING) & mdp >=0 & mdp < 1 & memp /= {} & (mdp + 1 .. mdp + 43 /\\ dom(memp)) /= {} & dom(memp) <<: mdp + 1 .. mdp + 43'
], 'Check strict subset issues solved'). % related to test 1003 (plavis-TransData_SP_13.prob)
cli_testcase(2092, [cbc], [
'-evalf', 'n:NATURAL1 & not(1001:NATURAL)',
'-evalf', 'n:NATURAL1 & not(1001:NATURAL1)',
'-evalf', 'n:NATURAL & not(1001:NATURAL1)',
'-evalf', 'n<100 & not(1001:NATURAL1)',
%'-evalf', 'n:NATURAL1 & x:2..3 & not(x:NATURAL1)', % TODO: still unknown
'-evalf', 'n>100 & not(1001:NATURAL1)',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
], 'Check no enumeration warning issues leading to UNKNOWN').
cli_testcase(2093, [cbc,bmc,tla],
['../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/TLA_Examples/Einstein.tla',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-bmc', 1, '-expcterr', 'invariant_violation',
'-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').
cli_testcase(2094, [cbc,tla],
['../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/TLA_Examples/Einstein.tla',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-cbc', 'all', '-expcterr', 'cbc',
'-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').
cli_testcase(2095,[alloy,cbc,cbc_tests],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/Alloy/Puzzles/einsteins_puzzle.als',
'-cbc_sequence', run0,
'-strict'], 'Test Alloy model and solution for run0 found').
cli_testcase(2096, [smt_solver_integration], [
'-p', 'TIME_OUT', '30000',
'-evalt', ':z3-double-check s=id(1..100)',
'-evalt', ':z3-double-check s=union({{1,2,3},{4,5,6},{1,2,10}})',
'-evalf', ':z3-double-check s=union({{1,2,3},{4,5,6},{1,2,10}}) & s={}',
'-evalt', ':z3-double-check s=inter({{1,2,3},{4,5,6},{1,2,10}})',
'-evalt', ':z3-double-check s=inter({{1,2,3},{1,2,6},{1,2,10}})',
'-evalt', ':z3-double-check a=[1,2,3,4,5]~',
'-evalt', ':z3-double-check x = %i.(i:1..10|i+i) & x[{j}]=a',
'-evalt', ':z3-double-check x = %i.(i:1..10|i+i) & x[{j}]={8}',
%'-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
'-evalt', ':z3-double-check a : FIN((1..3) * (1..3)) & a/={} & (2,2):a',
'-evalt', ':z3-double-check a : FIN((1..3) * INT)',
'-evalt', ':z3-double-check x:POW1(1..10) & y = x*x',
'-evalf', ':z3-double-check x:POW1(1..10) & {} = x*x'
], 'check new z3 translation with lambdas').
cli_testcase(2097,[cbc,bmc],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/TLA/Benchmarks/Queens/NQueens.mch',
'-bmc', 1, '-expecterr', 'invariant_violation',
'-strict'], 'Test invariant violation after INITIALISATION found').
cli_testcase(2098, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'q : 1 .. 16 --> 1 .. 16 & card(ran(q))=16',
'-evalt', 'q : 1 .. 16 --> 1 .. 16 & card(ran(q))=card(dom(q))',
%'-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
%'-evalt', 'q : 1 .. 16 --> 1 .. 16 & card({R|R:INTEGER & #D.(D|->R:q)})=card(dom(q))',
'-evalt', 'f=%x.(x:1..1000|x+1) & 1000=card(ran(f))',
'-evalt', 'f=%x.(x:1..n|x+1) & res=card(ran(f))& n:{1000,1001} & res=1001'
], 'Test improved card of range treatment').
cli_testcase(2099, [laws,bmc], [
'../prob_examples/public_examples/B/Laws/ArithmeticExpLaws.mch',
'-bmc', 7 %'-opterr', 'clpfd_overflow' % after changing get_assign_expr_priority_wf we no longer have an overflow
], 'BMC: Various arithmetic laws with power; see clpfd overflow caught or not generated.').
cli_testcase(2100, [laws,bmc], [
'../prob_examples/public_examples/B/Laws/BoolLaws.mch',
'../prob_examples/public_examples/B/Laws/ArithmeticLaws.mch',
'-bmc', 6], 'BMC: Various bool and arithmetic laws.').
cli_testcase(2101, [laws,bmc], [
'../prob_examples/public_examples/B/Laws/NatRangeLaws.mch',
'-bmc', 4], 'BMC: Various intervals laws.').
cli_testcase(2102, [laws,bmc], [
'../prob_examples/public_examples/B/Laws/RelLaws.mch',
'-bmc', 1], 'BMC: Various bool and arithmetic laws.'). % TO DO: examine timeouts for larger values of bmc
cli_testcase(2103, [laws,bmc,tickets], [
'../prob_examples/public_examples/B/Tickets/BMC_CallResidue/SetLaws_reduced2.mch',
'-bmc', 4], 'BMC: check no pending co-routines due to POW (power_set use of findall).').
cli_testcase(2104, [laws,bmc], [
'../prob_examples/public_examples/B/Laws/SetLaws.mch',
'-bmc', 3], 'BMC: Various set laws.'). % used to generate call_residue for b_not_test_conjunction/7 due to time-out
cli_testcase(2105, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'TIME_OUT', '10000',
'-evalt', ':cdclt-double-check x=1 or x=2',
'-evalf', ':cdclt-double-check x=1 & x=2',
'-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',
'-evalt', ':cdclt-double-check sqrt>0 & sqrt*sqrt <= i & (sqrt+1)*(sqrt+1)>i & i = 10000000',
'-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))',
'-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',
'-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)',
'-evalt', ':cdclt-double-check DOM = {1,2,3,4,5,6,7,8,9} & Board(1)(1) = 7',
'-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',
'-evalt', ':cdclt-double-check (A=TRUE <=> (B=FALSE or C=FALSE)) & (B=TRUE <=> A=TRUE)',
'-evalf', ':cdclt-double-check (A=TRUE <=> (B=FALSE or C=FALSE)) & (B=TRUE <=> A=TRUE) & B=FALSE',
'-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',
'-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)',
% the following constraints have been found by the Prolog fuzzer
'-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"}',
'-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)',
'-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)',
'-evalt', ':cdclt-double-check btrue => -32 .. -11 /<: {-11745,-5153} => (btrue => - 1 * - (0 * (1 - min({41,49}) / 4)) < MAXINT)',
'-evalt', ':cdclt-double-check btrue => -21 .. -11 <<: {13761} & -32 .. -11 /<: {-11745,-5153} => (btrue => - 1 * - (0 * (1 - min({41,49}) / 4)) < MAXINT)',
'-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({}))',
'-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}}))))',
'-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})))',
'-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({}))',
'-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})))',
'-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}',
'-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})',
'-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)',
'-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)',
'-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]',
'-evalt', ':cdclt-double-check conc([[FALSE,TRUE]]) : seq(BOOL) & aecwp : seq(BOOL) & [[FALSE,TRUE]] : seq(seq(BOOL)) & conc([[FALSE,TRUE]]) ^ aecwp = [FALSE,TRUE]',
'-evalt', ':cdclt x * y =10 & !z.(z:1..10 => z:1..x & z:1..10)',
'-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)',
'-evalt', ':cdclt-double-check ({zz|zz : POW(INTEGER) & bfalse} /= {} & {1,2} /= (inter({zz|zz : POW(INTEGER) & bfalse}))) <=> id10 < - 98',
'-evalt', ':cdclt-double-check s={x,y|(x>y & y>=x & ASSERT_EXPR(FALSE,"err",x)=2)}',
'-evalf', ':cdclt-double-check {(1,2)}={x,y|(x>y & y>=x & ASSERT_EXPR(FALSE,"err",x)=2)}',
'-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))))',
'-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}))])'
% enumeration warning
%'-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))))'
%'-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))))',
%'-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)))))',
%'-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)))',
%'-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}]))}]))',
%'-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)))}))',
%'-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)))',
%'-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)))}',
%'-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)))'
%'-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',
%'-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)',
%'-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)',
%'-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)',
%'-evalt', ':cdclt-double-check not(conc([[FALSE,TRUE]]) : seq(BOOL) & aecwp : seq(BOOL) & [[FALSE,TRUE]] : seq(seq(BOOL)) & conc([[FALSE,TRUE]]) ^ aecwp = [FALSE,TRUE])',
%'-evalt', ':cdclt-double-check not([FALSE,TRUE] : seq(BOOL) & [FALSE,TRUE] ^ aecwp = [FALSE,TRUE])'
], 'Some arbitrary constraints that should be solved by CDCL(T).').
cli_testcase(2106, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'pubkey = 1000000993* 1000001011 & x>999000000 & y>x & x mod 2 = 1 & y mod 2 = 1 & pubkey = x*y', % from Z3 tutorial
'-evalt', 'pubkey = 1000000993* 1000001001 & x>1000000720 & y>x & pubkey = x*y', % very fast with CLP(FD), z3 already 2.6 secs
'-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
], 'Constraints involving large numbers').
cli_testcase(2107,[b_test,tickets],[
'../prob_examples/public_examples/B/Tickets/VirtualTimeoutConstants.mch',
'-model-check', '-pref_group', 'model_check', 'unlimited', '-expcterr', 'model_check_incomplete',
'-expcterr', 'virtual_time_out'], 'Test virtual time out detected for disable_timeout').
cli_testcase(2108,[b_test,tickets],[
'../prob_examples/public_examples/B/Tickets/VirtualTimeoutConstants.mch',
'-model-check', '-pref_group', 'model_check', 'disable_max', '-expcterr', 'model_check_incomplete',
'-expcterr', 'virtual_time_out'], 'Test virtual time out detected also with time_out').
cli_testcase(2109, [tickets], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'ff = [1,2,3,4,5,6,7,8,9,10,11] & x:0..1 & b=TRUE <=> dom(ff) <: 1..10**x',
'-evalt', 'ff = [1,2,3,4,5,6,7,8,9,10,11] & x:0..1 & b=TRUE <=> ff: 1..10**x --> INTEGER',
'-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)}',
'-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'
], 'Check reification of subset/total function works (and does not instantiate/commit)').
cli_testcase(2110, [tickets], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/PerformanceTests/LargeSets/SeqCheck.mch',
'-mc', 100, '-cc', 10, 136], 'Check state space for test 31').
cli_testcase(2111, [tickets], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'SMT', 'TRUE',
'-evalf', 'x:INTEGER & x<y & y<x',
'-evalf', 'x:INTEGER & x<y & y<=x',
'-evalf', 'x:INTEGER & x<=y & y<x',
'-evalt', 'x:INT & x<=y & y<=x',
'-evalf', 'x:POW(INTEGER) & x<<:y & y<<:x',
'-evalf', 'x:POW(INTEGER) & x<<:y & y<:x',
'-evalf', 'x:POW(INTEGER) & x<:y & y<<:x',
'-evalt', 'x:POW(INT) & x<:y & y<:x'
], 'Check inconsistency detection when registering predicates (without CHR)').
cli_testcase(2112, [b_test,cache], [
'../prob_examples/public_examples/B/PerformanceTests/Cache/PrimeNumbers.mch',
'../prob_examples/public_examples/B/PerformanceTests/Cache/PrimeNumbersSum.mch',
'-p', 'CACHE_OPERATIONS', 'FALSE',
'-mc', '10000', '-nodead',
'-show_cache', % test this feature
'-cache', '../prob_examples/public_examples/cache/'], 'Check that -cache option works with new preference and with subsidiary machine with multiple constant solutions.').
cli_testcase(2113, [cbc], [
'-evalt', 'y:NATURAL & (y<400 => #x.(y:10..x & x:1..100)) ',
'-evalt', 'y:NATURAL & (not(y<400) or #x.(y:10..x & x:1..100)) '
], 'Test enumeration of implication when RHS not reified').
cli_testcase(2114, [tickets, wd], [
'-p', 'TRY_FIND_ABORT', 'TRUE',
'-evalnwd', '{}(x) : {}(x) .. 5 & x:1..100 ',
'-expcterr', 'well_definedness_error'
], 'Test we do not add unbounded FD variable for enumeration').
cli_testcase(2115, [ltl,safety], ['../prob_examples/public_examples/B/LTL/Tests/LargeSCC.mch', '-ltllimit', '50', '-ltlformulaf', 'G({xx<10})', '-strict'
%'-p', 'use_safety_ltl_model_checker', false,
], 'check that safety model check works even without ltl2ba for simple G {...} formula').
cli_testcase(2116, [infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '{x|x>100} /= {x|x mod 2 =0 & x>0}',
'-evalf', ' /*@symbolic*/ {x|x:1..2**20 & x mod 3 =1} /= {x|x:1..2**20 & x mod 3 =1}',
'-evalf', ' /*@symbolic*/ {x|x:1..2**25 & x mod 3 =1} /= {x|x:1..2**25 & x mod 3 =1}'
], 'Test we do not expand second arg to not equal when first is closure'). % useful with DOUBLE_EVALUATION in Evaluation View
cli_testcase(2117, [smt_solver_integration], [
'-evalt', ':z3-double-check a=prj1(INTEGER,INTEGER)((1,2))',
'-evalt', ':z3-double-check 1=prj1(INTEGER,INTEGER)((1,2))',
'-evalf', ':z3-double-check 2=prj1(INTEGER,INTEGER)((1,2))',
'-evalt', ':z3-double-check a=prj2(INTEGER,INTEGER)((1,2))',
'-evalt', ':z3-double-check 2=prj2(INTEGER,INTEGER)((1,2))',
'-evalf', ':z3-double-check 1=prj2(INTEGER,INTEGER)((1,2))',
'-evalt', ':z3-double-check a = (1..3)*(1..3) & b : a & c = prj1(INTEGER,INTEGER)(b)',
'-evalt', ':z3-double-check a = (1..3)*POW(1..3) & b : a & c = prj1(INTEGER,POW(INTEGER))(b)',
'-evalt', ':z3-double-check a = (1..3)*POW1(1..3) & b : a & c = prj1(INTEGER,POW(INTEGER))(b)'
], 'check couple projection functions for z3').
cli_testcase(2118, [smt_solver_integration], [
'-evalt', ':z3-double-check a={1}<<|{(1,2),(2,3)}',
'-evalf', ':z3-double-check {}={4}<<|{(1,2),(2,3)}',
'-evalt', ':z3-double-check {(2,3)}={1}<<|{(1,2),(2,3)}',
'-evalt', ':z3-double-check a={1}<|{(1,2),(2,3)}',
'-evalt', ':z3-double-check {}={3}<|{(1,2),(2,3)}',
'-evalf', ':z3-double-check {}={1}<|{(1,2),(2,3)}',
'-evalt', ':z3-double-check a={(1,2),(2,3)}|>{1}',
'-evalf', ':z3-double-check {(1,2),(2,3)}={(1,2),(2,3)}|>{1}',
'-evalt', ':z3-double-check a={(1,2),(2,3)}|>{3}',
'-evalt', ':z3-double-check a={(1,2),(2,3)}|>>{3}',
'-evalt', ':z3-double-check a={(1,2),(2,3)}|>>{1}',
'-evalf', ':z3-double-check {}={(1,2),(2,3)}|>>{1}'
], 'check domain and range subtraction and restriction for z3').
cli_testcase(2119, [smt_solver_integration,private], [
'../prob_examples/examples/B/Other/BMaude/Mutex3.mch', '-init',
'-evalt', ':z3-double-check a = pc <+ {2 |-> wait}',
'-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)'
], 'check z3 model translation for couple of enumerated set type and capitalised enumerated set').
cli_testcase(2120, [smt_solver_integration], [
'../prob_examples/public_examples/EventBPrologPackages/Abrial_Train_Ch17/Train_1_beebook_tlc.mch', '-init',
'-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)})}'
], 'check z3 model translation for nested couples').
cli_testcase(2121, [smt_solver_integration], [
'-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 )))))',
'-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',
'-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',
'-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',
'-evalt', ':z3 x:-3..3 & y:-3..3 & not( -x/y = -(x/y) )',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & y/=0 & not( -x/y = -(x/y) )',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not (x>y or x<=y)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not ( (x<=y <=> min({x,y}) = x) )',
'-evalt', ':z3-double-check a={x|x:-10..10 & (x/2 = 4 or x/2 = -4)}',
'-evalt', ':z3-double-check a={x|x:-10..10 & x/2 = 4}',
'-evalt', ':z3-double-check a={x|x:0..10 & (x mod 2 = 0 or x mod 2 = 0)}',
'-evalt', ':z3-double-check a={x|x:1..10 & x < 5 & x mod 2 = 0}',
'-evalt', ':z3-double-check a={x|x:1..10 & x < 5 & x mod 2 = 1}',
'-evalt', ':z3-double-check a={x|x:1..10 & x mod 2 = 0}',
'-evalt', ':z3-double-check a={x|x:1..10 & x mod 2 = 1}',
'-evalt', ':z3-double-check a={x|x:1..100 & x mod 2 = 0}',
'-evalt', ':z3-double-check a={x|x:1..100 & x mod 3 = 1}'
], 'check integer division in z3').
cli_testcase(2122, [smt_solver_integration], [
'-p', 'TIME_OUT', '30000',
'-eval', ':z3-version',
'-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
'-evalt', ':z3-double-check {1} = dom({(1,2)})', %% with lambda expressions that use an existential quantifier at the top-level
'-evalf', ':z3-double-check not({2} = ran({(1,2)}))', %% (note that we don't use pull_nested_quantifiers anymore; slow for large constraints)
'-evalt', ':z3-double-check {2} = ran({(1,2)})',
'-evalf', ':z3-double-check not({1,2,3,4} = dom({(1,2),(2,2),(3,3),(4,4)}))',
'-evalt', ':z3-double-check {1,2,3,4} = dom({(1,2),(2,2),(3,3),(4,4)})',
'-evalt', ':z3-double-check not({1,2} = dom({(1,2),(2,2),(3,3),(4,4)}))',
'-evalf', ':z3-double-check not({2,3,4} = ran({(1,2),(2,2),(3,3),(4,4)}))',
'-evalt', ':z3-double-check {2,3,4} = ran({(1,2),(2,2),(3,3),(4,4)})',
'-evalt', ':z3-double-check not({2,3} = ran({(1,2),(2,2),(3,3),(4,4)}))',
%'-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
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x*y = y*x)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not(x*(y+z) = x*y + x*z)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x+y = y+x)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x*1 = x)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(1*x = x)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x*0 = 0)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(0*x = 0)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not((x+y)+z = x + (y+z))',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not((x*y)*z = x*(y*z))',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(2*x = x+x)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x**2 = x*x)',
'-evalt', ':z3-double-check x:-3..3 & y:-3..3 & (x>=0 => 1**x = 1)',
'-evalt', ':z3-double-check x:-3..3 & y:-3..3 & (x>=0 => (((x / 2)*2 = x) <=> (x mod 2 = 0)))',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x>y or x<=y)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x>y or x=y or x<y)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x>=y or x<y)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x>=y or x<=y)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & (x>y & x<=y)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & (x<y & y<x)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x-x = 0 )',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x=y <=> x-y = 0)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x>y <=> x >= y+1)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x<y <=> x <= y-1)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not((x<y or y<x) <=> x/=y)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not((x<y & y<=z) => x<z)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not((x<y & y<z) => x<z)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not((x<=y & y<z) => x<z)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not((x<=y & y<=z) => x<=z)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not((x<=y & y<=x) => x=y)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x=y <=> y=x)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x/=y <=> y/=x)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x<y <=> y>x)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x>y <=> y<x)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x<=y <=> y>=x)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x>=y <=> y<=x)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(not(x<y) <=> x>=y)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(not(x<=y) <=> x>y)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not((x=y or x=z) => (y=x or z=x))',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not((x=y or x=z) <=> (y=x or z=x))',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not((x=y <=> x=z) => (y=z or x/=y))',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not ( (x-y-x+y = 0) )',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not ( x*x >= 0 )',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not ( (x*x = 0 <=> x=0) )',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not ( x*x = -x * -x )',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not (x<=y <=> min({x,y}) = x)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not (x<=y <=> max({x,y}) = y)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not (x<y <=> max({x,y}) /= x)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not (x<y <=> min({x,y}) /= y)',
'-evalt', ':z3-double-check x:-3..3 & y:-3..3 & (x>=0 & y>0 => ((x/y) * y = x - x mod y))',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(succ(x) = x+1)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(pred(x) = x-1)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x < succ(x))',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x > pred(x))',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(pred(succ(x)) = x)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x+succ(y) = succ(x+y))',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x*succ(y) = x+x*y)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not (x**1 = x)',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(#x.(x:INTEGER & {x} \\/ {1,2} = {1,2} ) )',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not( min({x}) = x )',
'-evalt', ':z3-double-check x:-3..3 & y:-3..3 & (x <= y => min({x,y}) = x )',
'-evalt', ':z3-double-check x:-3..3 & y:-3..3 & (y <= x => min({x,y}) = y )',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not( x:y..z <=> (y<=x & x<=z))',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not( x:y..z <=> (y<=x & x<=z & y<=z))',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & y /= 0 & not ( -x/y = -(x/y) )',
'-evalf', ':z3-double-check (2=3 & 1=1 <=> 4=5 & 2=2)',
'-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
'-evalf', ':z3-double-check SS : POW(-1..3) & VV : POW(-1..3) & not ( SS <<: VV or SS /<<: VV )',
'-evalf', ':z3-double-check SS : POW(-1..3) & VV : POW(-1..3) & not ( (VV <<: SS & SS <: TT) => (VV <<: TT))',
'-evalt', ':z3-double-check #t1.(t1:INTEGER & (#t2.(!(t8,rr).(t8 |-> rr : t2 => t1 >= t8 ) & ran(t2) = {1,3} )))',
'-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/={}',
'-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & dom((ff ; (gg~))) <: dom(ff)',
'-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & dom((ff ; (gg~))) <: dom(ff) & ff /= {}',
'-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & dom((ff ; (gg~))) <: dom(ff) & ff /= {} & gg /= {}',
'-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & a = ff><gg',
'-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & a = ff><gg & ff /= {}',
'-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & a = ff><gg & ff /= {} & gg /= {}',
%'-evalf', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & not(dom(ff>
'-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & a=(ff||gg)',
'-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & a=(ff||gg) & ff/={}',
'-evalt', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & a=(ff||gg) & ff/={} & gg/={}',
%'-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
'-evalf', ':z3-double-check x<:BOOL & x <: y & not(POW(x) <: POW(y))',
%'-evalt', ':z3-double-check x<:BOOL & x <: y & not(POW(x) <<: POW(y))', % unknown since Z3 4.12.2
%'-evalf', ':z3-double-check x<:BOOL & x <<: y & not(POW(x) <<: POW(y))', % Z3 answers unknown
%'-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
%'-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
%'-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
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(#x.(x:INTEGER & {x} \\/ {1,2} = {1,2} ) )',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not( min({x}) = x )',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(x <= y => min({x,y}) = x )',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & not(y <= x => min({x,y}) = y )',
%'-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
%'-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
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not( x:y..z <=> (y<=x & x<=z))',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & z:-3..3 & not( x:y..z <=> (y<=x & x<=z & y<=z))',
'-evalf', ':z3-double-check x:-3..3 & y:-3..3 & y /= 0 & not ( -x/y = -(x/y) )',
'-evalf', ':z3-double-check (2=3 & 1=1 <=> 4=5 & 2=2)',
'-evalf', ':z3-double-check S : {{},{0}} & not (S = ran(%x.(x:S|x*1)))',
'-evalf', ':z3-double-check S : POW(-1..3) & not (S = ran(%x.(x:S|x*1)))',
'-evalf', ':z3-double-check S : POW(-1..3) & not (S = {z|z:INTEGER & #x.(x:S & z=x*1)})',
'-evalf', ':z3-double-check S : POW(-1..3) & VV : POW(-1..3) & not ( S <<: VV or S /<<: VV )',
'-evalf', ':z3-double-check S : POW(-1..3) & VV : POW(-1..3) & not ( (VV <<: S & S <: TT) => (VV <<: TT))',
'-evalf', ':z3-double-check S : POW(-1..3) & VV : POW(-1..3) & not (S /\\ VV = {} <=> S <: (-1..3) - VV)',
%'-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
%'-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
'-evalf', ':z3-double-check a<:1..3 & b<:1..3 & not( a<:b <=> POW(a) <: POW(b) )',
%'-evalf', ':z3-double-check a<:1..3 & b<:1..3 & not( a<<:b <=> POW(a) <<: POW(b))', % Z3 answers unknown
%'-evalf', ':z3-double-check a<:1..3 & b<:1..3 & not( POW(a) /<: POW1(b) & FIN(a) /<: FIN1(b))', % Z3 answers unknown
'-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) )',
'-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 ))',
'-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 ))',
'-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 ))',
'-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))',
'-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 )',
'-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 )',
'-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 )',
'-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 )',
'-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 )',
'-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 )',
'-evalf', ':z3-double-check s1:STRING & s2:STRING & not((s1=s2 <=> s2=s1))',
'-evalf', ':z3-double-check s1:STRING & s2:STRING & not( s1=s2 or s1 /= s2 )',
'-evalf', ':z3-double-check s1:STRING & s2:STRING & not( s1=s2 & s2=s3 => s1 = s3 )',
'-evalf', ':z3-double-check s1:STRING & s2:STRING & not( s1=s2 & s2/=s3 => s1 /= s3 )',
%'-evalf', ':z3-double-check s1:STRING & s2:STRING & not(s1=s2 <=> card({s1,s2}) = 1)', % Z3 answers unknown
'-evalf', ':z3-double-check s1:STRING & s2:STRING & not( s1=s2 <=> {s1,s2} = {s1} )',
'-evalf', ':z3-double-check s1:STRING & s2:STRING & not({s1,s2,s3} = {s3} \\/ {s2} \\/ {s1} )',
'-evalf', ':z3-double-check s1:STRING & s2:STRING & not({x| x=s1 or x=s2} = {s2,s1} )',
'-evalf', ':z3-double-check s1:STRING & s2:STRING & not( s1 : dom( { s2 |-> s2, s3|->s3, s1 |->s1} ) )',
'-evalf', ':z3-double-check s1:STRING & s2:STRING & not((s1/=s2 => s1 /: dom( { s2 |-> s2} ) ) )',
'-evalf', ':z3-double-check s1:STRING & s2:STRING & not( s1 /: {s1,s2,s3} - {s2,s1} )',
'-evalf', ':z3-double-check S={"a","b"} & s1:S & s2:S & s3:S & not(card({s1,s2,s3} - {s2,s1}) < 2)',
'-evalf', ':z3-double-check s1:STRING & s2:STRING & not( s1:STRING <=> 1=1 )',
'-evalf', ':z3-double-check s1:STRING & s2:STRING & not( s1/:STRING <=> 1=2 )',
'-evalf', ':z3-double-check s1:STRING & s2:STRING & not( s1=s2 <=> {s1} \\/ {s2} = {s1})',
'-evalf', ':z3-double-check s1:STRING & s2:STRING & not( {s1,s2} \\/ {s3} = {s1,s2,s3})',
'-evalf', ':z3-double-check s1:STRING & s2:STRING & not( {s2} \\/ {s1,s2,s3} = {s1,s2,s3} )',
'-evalf', ':z3-double-check S={"a","b"} & s1:S & s2:S & s3:S & not( s1 /= s3 => ({s1,s2} /\\ {s3,s2} = {s2}))',
'-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}))',
'-evalf', ':z3-double-check S={"a","b"} & s1:S & s2:S & s3:S & not( #x.(x:STRING & {x} \\/ {s1,s2} = {s1,s2} ) )',
'-evalf', ':z3-double-check SS<:POW(BOOL) & not( SS \\/ (TT /\\ VV) = (SS \\/ TT) /\\ (SS \\/ VV))',
'-evalf', ':z3-double-check x<:BOOL & not(POW(x) = POW1(x) \\/ {{}})',
%'-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
'-evalf', ':z3-double-check rx:BOOL <-> BOOL & not(( id(BOOL) ; rx) = rx)',
'-evalt', ':z3-double-check a : STRING +-> STRING',
'-evalt', ':z3-double-check a : STRING +-> STRING & a /= {}',
'-evalt', ':z3-double-check a : STRING +-> STRING & a = {"a"|->"b"}',
% z3 answers unknown for the following constraints
%'-evalf', ':z3-double-check not(#t1.(t1:INTEGER & (#t2.(!(t8,rr).(t8 |-> rr : t2 => t1 >= t8 ) & ran(t2) = {1,3} ))))',
%'-evalf', ':z3-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & not (ff <<: gg => (card(ff) < card(gg)))',
%'-evalf', ':z3-double-check SS : POW(-1..3) & VV : POW(-1..3) & not (SS <<: VV => (card(SS) < card(VV)))',
%'-evalf', ':z3-double-check SS : POW(-1..3) & VV : POW(-1..3) & not (SS <: VV => (card(SS) <= card(VV)))'
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
], 'check some laws for z3').
cli_testcase(2123, [b_test], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Benchmarks/phonebook7.mch',
% clash checks Code = {c1,c2,c3,c4}, db,active,activec={}
'-evalf', 'dom(db) /= active', % z3 reports Unknwon !
'-evalt', '#active.(dom(db) /= active)',
'-evalt', '#db.(db /= active)',
'-evalf', '#(c1,c2).(c1:Name & c2:Code & db={c1|->c2})',
'-evalt', '#(c1,c2,db).(c1:Name & c2:Code & db={c2|->c1})',
'-evalt', '#(c1,c2).(c1:Name & c2:Code & (c1:active <=> c2:activec))'
], 'check REPL deals well with clashes of quantified variables').
cli_testcase(2124, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'card({x | x:{1,3} or x:{4,9}}) = 4',
'-evalt', 'card({x | x:{1,3} or x:{3,9}}) = 3'
], 'check clpfd_reify_inlist works with enumeration').
cli_testcase(2125, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-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))',
'-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))',
'-evalt', '{x,y|x=TRUE => y=TRUE} = {(FALSE,TRUE),(FALSE,FALSE),(TRUE,TRUE)}'
], 'check let detection for implication not applied').
cli_testcase(2126, [cbc], [
'-evalf', 'x>2 & x:3..10 & x mod 3 = 1 & x mod 3 = 2',
'-evalt', 'x>2 & x:3..10 & x mod 3 = 1 & x mod 3 /= 2'
], 'check modulo propagation terminates').
cli_testcase(2127, [csp_test,ltl], ['../prob_examples/public_examples/CSP/Tickets/WilliamsLTL/SimpleLTL.csp',
'-ltlformulat', 'globally([a] implies finally(e(a)))',
'-ltlformulat', 'not (globally finally e(a) implies GF [a]) implies finally [b]','-strict'],
'Check LTL using new textual forms; variations of tests 541, 542. Requires parser 2.9.28').
cli_testcase(2128, [b_test,external], ['../prob_examples/public_examples/B/ExternalFunctions/TestDoNotEnumerateAnalysis.mch',
'../prob_examples/public_examples/B/ExternalFunctions/TestDoNotEnumerateAnalysis2.mch',
'-t', '-assertions'], 'Test DO_NOT_ENUMERATE analysis; like test 1988 but automatic annotation.').
cli_testcase(2129, [cbc,external], ['../prob_examples/public_examples/EventBPrologPackages/Abrial_Train_Ch17/Train_1_beebook_tlc.mch',
'-evalt', 'tf : domain --> ROUTES & tf <: rtbl & OCC1 <: domain & tf[OCC1] = frm1 & A : OCC1 & A|->R5 /: tf',
'-evalt', 'tf : domain --> ROUTES & tf <: rtbl & OCC1 <: domain & tf[OCC1] <: frm1 & A : OCC1 & A|->R5 /: tf', % delayed enumeration for frm1
'-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)',
'-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
'-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
], 'Test DO_NOT_ENUMERATE analysis; infer also delayed enumeration for certain variables.').
cli_testcase(2130, [cbc,sigma], [
'-evalt', 'SIGMA(x).(x=y+z|x)=3 & z<0 & z>-10',
'-evalt', 'SIGMA(x).({x}<:{0,y}|x)=22', % normally rewritten to member by ast_cleanup
'-evalf', 'PI(x).({x}<:{0,y}|x)=2',
'-p', 'OPTIMIZE_AST', 'FALSE',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
], 'check detection of equality and subset in PI/SIGMA').
cli_testcase(2131, [laws], [
'-p', 'TIME_OUT', 7000,
'-evalf', 'VV={1,3} & not(#(c,f).(c:0..3 & f:1..c >->> VV & 1<c))',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ((dom(ff\\/gg) = dom(ff) \\/ dom(gg)) )',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( ran(ff\\/gg) = ran(ff) \\/ ran(gg) )',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( dom(ff/\\gg) <: dom(ff) /\\ dom(gg) )',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( ran(ff/\\gg) <: ran(ff) /\\ ran(gg) )',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( (ff \\/ gg)~ = ff~ \\/ gg~ )',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( dom((ff ; (gg~))) <: dom(ff) )',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (ff : setX --> setY <=> (ff: setX +-> setY & dom(ff) = setX))',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (ff <: ff \\/ gg & gg <: ff \\/ gg )',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (ff /\\ gg <: ff & ff /\\ gg <: gg)',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( {xx | xx: ff & xx:gg} = ff /\\ gg)',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( {xx | xx: ff & not(xx:gg)} = ff \\ gg)',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (!xx.(xx:ff & xx:gg => xx: ff /\\ gg))',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (!xx.(xx:ff & not(xx:gg) => (xx: ff \\ gg & xx /: gg)))',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (#xx.(xx:ff & xx/:gg) => not(ff \\/ gg = gg) & not(ff \\ gg = {}))',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( ff <<: gg or ff /<<: gg )',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( ff : POW(gg) or ff /: POW(gg) )',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( (ff <: gg & ff /<<: gg) => ff = gg)',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( (ff <<: gg ) => (ff /= gg & card(gg)>0))',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( ff <<: gg => #xx.(xx:gg & xx/:ff))',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( ff <: gg <=> !x.(x:ff => x:gg) )',
'-evalf', 'ff:1..1<->BOOL & gg:1..2<->BOOL & not (ff <<: gg => (card(ff) < card(gg)))',
%% '-evalf', 'ff:1..1<->BOOL & gg:1..2<->BOOL & not (card(ff \\/ gg) <= (card(ff) + card(gg)))', % TIME_OUT
%% probably due to CLPFD propagation; this ff={} & gg:1..1<->BOOL & (card(ff \/ gg) > card(gg)) has issue as well
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (ff /\\ gg = {} <=> ff <: ((1..3)*BOOL) - gg)',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( (ff<+gg) = (gg \\/ (dom(gg)<<|ff)) )',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not ( ff<+{} = ff & {}<+ff = ff & ff<+ff = ff)',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (ff~ = {yy,xx|xx:dom(ff)&yy:ran(ff)&({xx|->yy}<:ff)})',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (id(ff) = {xx,yy|xx:ff&yy:ff&xx=yy})',
'-evalf', 'ff:1..2<->BOOL & gg:1..2<->BOOL & not (prj1(ff,gg) = ({xx,yy,zz|xx:(ff)&yy:(gg)&zz=xx}) )',
'-evalf', 'ff:1..2<->BOOL & gg:1..2<->BOOL & not (prj2(ff,gg) = ({xx,yy,zz|xx:(ff)&yy:(gg)&zz=yy}) )',
'-evalf', 'hh:1..3<->1..3 & not (iterate(hh,1)=(hh))',
'-evalf', 'ff:1..3<->BOOL & gg:1..3<->BOOL & not (dom(ff><gg) = dom(ff)/\\dom(gg)) // Crashes Z3',
'-evalf', 'ff:1..2<->BOOL & gg:1..2<->BOOL & not (card((ff><gg)) <= card(ff)*card(gg))',
'-evalf', 'ff:1..2<->BOOL & gg:1..2<->BOOL & not ( dom((ff||gg)) = dom(ff)*dom(gg)) // Crashes Z3',
'-evalf', 'xx:0..3 & zz:0..3 & not( xx: xx..xx+1 )',
'-evalf', 'xx:0..3 & zz:0..3 & not(xx: xx..xx+1 )',
'-evalf', 'xx:0..3 & zz:0..3 & not(xx: xx..xx )',
'-evalf', 'xx:0..3 & zz:0..3 & not(xx: xx-1..xx )',
'-evalf', 'xx:0..3 & zz:0..3 & not((xx<zz <=> xx:0..zz-1) )',
'-evalf', 'xx:0..3 & zz:0..3 & not((xx<=zz <=> xx:0..zz) )',
'-evalf', 'xx:0..3 & zz:0..3 & not(card(xx..xx) = 1 & card(xx..xx-1) = 0 )',
'-evalf', 'xx:0..3 & zz:0..3 & not(card(xx..xx+1) = 2 )',
'-evalf', 'xx:0..3 & zz:0..3 & not((xx>zz <=> card(xx..zz) = 0) )',
'-evalf', 'xx:0..3 & zz:0..3 & not((xx<=zz => card(xx..zz) = zz-xx+1) )',
'-evalf', 'xx:0..3 & zz:0..3 & not((xx<1 => {} : 1..xx --> INTEGER) )',
'-evalf', 'xx:0..3 & zz:0..3 & not({} : 1..0 --> INTEGER )',
'-evalf', 'xx:0..3 & zz:0..3 & not(xx..zz = {nn | nn:INT & nn>=xx & nn<=zz})',
'-evalf', 'xx:0..3 & zz:0..3 & not( (xx..zz = {} <=> zz < xx) )',
'-evalf', 'xx:0..3 & zz:0..3 & not( (xx..zz /= {} <=> zz >= xx) )',
'-evalf', 'xx:0..3 & zz:0..3 & not( (#v.(v:xx..zz) <=> zz >= xx) )',
'-evalf', 'xx:0..3 & zz:0..3 & not( !v.(v:xx..zz => v>=xx & v <= zz))',
'-evalf', 'xx:0..3 & zz:0..3 & not( xx..(xx-1) <: xx..zz )',
'-evalf', 'xx:0..3 & zz:0..3 & not( xx..zz <: xx..zz )',
'-evalf', 'xx:0..3 & zz:0..3 & not( xx..zz <: xx..(zz+1) )',
'-evalf', 'xx:0..3 & zz:0..3 & not( (xx+1)..zz <: xx..zz )',
'-evalf', 'xx:0..3 & zz:0..3 & not( xx..(zz-1) <: xx..zz )',
'-evalf', 'xx:0..3 & zz:0..3 & not( (xx+1)..(zz-1) <: xx..zz)',
'-evalf', 'x:-3..3 & y:-3..3 & not(x*y = y*x)',
'-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not(x*(y+z) = x*y + x*z)',
'-evalf', 'x:-3..3 & y:-3..3 & not(x+y = y+x)',
'-evalf', 'x:-3..3 & y:-3..3 & not(x*1 = x)',
'-evalf', 'x:-3..3 & y:-3..3 & not(1*x = x)',
'-evalf', 'x:-3..3 & y:-3..3 & not(x*0 = 0)',
'-evalf', 'x:-3..3 & y:-3..3 & not(0*x = 0)',
'-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not((x+y)+z = x + (y+z))',
'-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not((x*y)*z = x*(y*z))',
'-evalf', 'x:-3..3 & y:-3..3 & not(2*x = x+x)',
'-evalf', 'x:-3..3 & y:-3..3 & not(x**2 = x*x)',
'-evalf', 'x:-3..3 & y:-3..3 & not(x>=0 => 1**x = 1)',
'-evalf', 'x:-3..3 & y:-3..3 & not(x>=0 => (((x / 2)*2 = x) <=> (x mod 2 = 0)))',
'-evalf', 'x:-3..3 & y:-3..3 & not(x>0 => 2**x = 2*(2**(x-1)))',
'-evalf', 'x:-3..3 & y:-3..3 & not(x>0 => 2**(10*x) = 2*(2**(10*x-1)))',
'-evalf', 'x:-3..3 & y:-3..3 & not(x>0 => 3**(10*x) = 3*(3**(10*x-1)))',
'-evalf', 'x:-3..3 & y:-3..3 & not(x>y or x<=y) ',
'-evalf', 'x:-3..3 & y:-3..3 & not(x>y or x=y or x<y) ',
'-evalf', 'x:-3..3 & y:-3..3 & not(x>=y or x<y) ',
'-evalf', 'x:-3..3 & y:-3..3 & not(x>=y or x<=y) ',
'-evalf', 'x:-3..3 & y:-3..3 & (x>y & x<=y) ',
'-evalf', 'x:-3..3 & y:-3..3 & (x<y & y<x) ',
'-evalf', 'x:-3..3 & y:-3..3 & not(x-x = 0 )',
'-evalf', 'x:-3..3 & y:-3..3 & not(x=y <=> x-y = 0) ',
'-evalf', 'x:-3..3 & y:-3..3 & not(x>y <=> x >= y+1) ',
'-evalf', 'x:-3..3 & y:-3..3 & not(x<y <=> x <= y-1) ',
'-evalf', 'x:-3..3 & y:-3..3 & not((x<y or y<x) <=> x/=y) ',
'-evalf', 'x:-3..3 & y:-3..3 & not((x<y & y<=z) => x<z) ',
'-evalf', 'x:-3..3 & y:-3..3 & z:-4..4 & not((x<y & y<z) => x<z) ',
'-evalf', 'x:-3..3 & y:-3..3 & z:-4..4 & not((x<=y & y<z) => x<z) ',
'-evalf', 'x:-3..3 & y:-3..3 & not((x<=y & y<=z) => x<=z) ',
'-evalf', 'x:-3..3 & y:-3..3 & not((x<=y & y<=x) => x=y)',
'-evalf', 'x:-3..3 & y:-3..3 & not(x=y <=> y=x) ',
'-evalf', 'x:-3..3 & y:-3..3 & not(x/=y <=> y/=x) ',
'-evalf', 'x:-3..3 & y:-3..3 & not(x<y <=> y>x) ',
'-evalf', 'x:-3..3 & y:-3..3 & not(x>y <=> y<x) ',
'-evalf', 'x:-3..3 & y:-3..3 & not(x<=y <=> y>=x) ',
'-evalf', 'x:-3..3 & y:-3..3 & not(x>=y <=> y<=x) ',
'-evalf', 'x:-3..3 & y:-3..3 & not(not(x<y) <=> x>=y) ',
'-evalf', 'x:-3..3 & y:-3..3 & not(not(x<=y) <=> x>y) ',
'-evalf', 'x:-3..3 & y:-3..3 & not((x=y or x=z) => (y=x or z=x)) ',
'-evalf', 'x:-3..3 & y:-3..3 & not((x=y or x=z) <=> (y=x or z=x)) ',
'-evalf', 'x:-3..3 & y:-3..3 & not((x=y <=> x=z) => (y=z or x/=y))',
'-evalf', 'x:-3..3 & y:-3..3 & not ( (x-y-x+y = 0) )',
'-evalf', 'x:-3..3 & y:-3..3 & not ( x*x >= 0 )',
'-evalf', 'x:-3..3 & y:-3..3 & not ( (x*x = 0 <=> x=0) )',
'-evalf', 'x:-3..3 & y:-3..3 & not ( (x*x = 0 => x=0) )',
'-evalf', 'x:-3..3 & y:-3..3 & not ( (x=0 => x*x = 0) )',
'-evalf', 'x:-3..3 & y:-3..3 & not ( x*x = -x * -x )',
'-evalf', 'x:-3..3 & y:-3..3 & not (x<=y <=> min({x,y}) = x)',
'-evalf', 'x:-3..3 & y:-3..3 & not (x<=y <=> max({x,y}) = y)',
'-evalf', 'x:-3..3 & y:-3..3 & not (x<y <=> max({x,y}) /= x)',
'-evalf', 'x:-3..3 & y:-3..3 & not (x<y <=> min({x,y}) /= y)',
'-evalf', 'x:-3..3 & y:-3..3 & not(x>=0 & y>0 => ((x/y) * y = x - x mod y))',
'-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)',
'-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)',
'-evalf', 'x:-3..3 & y:-3..3 & not(SIGMA(zz).(zz:{x}|zz) = x)',
'-evalf', 'x:-3..3 & y:-3..3 & not(PI(zz).(zz:{x}|zz) = x)',
'-evalf', 'x:-3..3 & y:-3..3 & not(succ(x) = x+1) ',
'-evalf', 'x:-3..3 & y:-3..3 & not(pred(x) = x-1) ',
'-evalf', 'x:-3..3 & y:-3..3 & not(x < succ(x))',
'-evalf', 'x:-3..3 & y:-3..3 & not(x > pred(x))',
'-evalf', 'x:-3..3 & y:-3..3 & not(pred(succ(x)) = x)',
'-evalf', 'x:-3..3 & y:-3..3 & not(x+succ(y) = succ(x+y))',
'-evalf', 'x:-3..3 & y:-3..3 & not(x*succ(y) = x+x*y)',
'-evalf', 'x:-3..3 & y:-3..3 & not(x>=0 => 1**x = 1)',
'-evalf', 'x:-3..3 & y:-3..3 & not (x**1 = x)',
'-evalf', 'x:-3..3 & y:-3..3 & not (x**0 = 1)',
'-evalf', 'x:-3..3 & y:-3..3 & not(x>0 => 0**x = 0)',
'-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not(z>=0 => (x*y)**z = x**z * y**z)',
'-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not(y>=0 & z>=0 => (x**(y+z) = x**y * x**z))',
'-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not(y>=0 & z>=0 => (x**(y*z) = (x**y)**z))',
'-evalf', 'x:-3..3 & y:-3..3 & not(#x.(x:INTEGER & {x} \\/ {1,2} = {1,2} ) )',
'-evalf', 'x:-3..3 & y:-3..3 & not( min({x}) = x )',
'-evalf', 'x:-3..3 & y:-3..3 & not(x <= y => min({x,y}) = x )',
'-evalf', 'x:-3..3 & y:-3..3 & not(y <= x => min({x,y}) = y )',
'-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not( min({x}\\/{y,z}) = min({min({x}), min({y,z})}) )',
'-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not( min({y,z} \\/ {x}) = min({min({y,z}),x}) )',
'-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not( x:y..z <=> (y<=x & x<=z))',
'-evalf', 'x:-3..3 & y:-3..3 & z:-3..3 & not( x:y..z <=> (y<=x & x<=z & y<=z))',
'-evalf', 'x:-3..3 & y:-3..3 & y /= 0 & not ( -x/y = -(x/y) )',
'-evalf', '(2=3 & 1=1 <=> 4=5 & 2=2)',
'-evalf', 'SS : POW(-1..3) & not (SS = ran(%x.(x:SS|x*1)))',
'-evalf', 'SS : POW(-1..3) & not (SS = {z|z:INTEGER & #x.(x:SS & z=x*1)})',
'-evalf', 'SS : POW(-1..3) & VV : POW(-1..3) & not ( SS <<: VV or SS /<<: VV )',
'-evalf', 'SS : POW(-1..3) & VV : POW(-1..3) & not ( (VV <<: SS & SS <: TT) => (VV <<: TT))',
'-evalf', 'SS : POW(-1..3) & VV : POW(-1..3) & not (SS <<: VV => (card(SS) < card(VV)))',
'-evalf', 'SS : POW(-1..3) & VV : POW(-1..3) & not (SS <: VV => (card(SS) <= card(VV)))',
'-evalf', 'SS : POW(-1..3) & VV : POW(-1..3) & not (SS /\\ VV = {} <=> SS <: (-1..3) - VV)',
'-evalf', 'SS : POW(-1..3) & VV : POW(-1..3) & not((SS=VV & SS /= {}) => (max(SS) = max(VV) & min(SS)=min(VV)))',
'-evalf', 'SS : POW(-1..3) & VV : POW(-1..3) & not((SS <: VV & SS/= {}) => (max(SS) <= max(VV) & min(SS) >= min(VV)))',
'-evalf', 'a<:1..3 & b<:1..3 & not( a<:b <=> POW(a) <: POW(b) )',
'-evalf', 'a<:1..3 & b<:1..3 & not( a<<:b <=> POW(a) <<: POW(b))',
'-evalf', 'a<:1..3 & b<:1..3 & not( POW(a) /<: POW1(b) & FIN(a) /<: FIN1(b))',
'-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( (a={} or b={}) => (a*b)={} & (a*b) <: (c*d) )',
'-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( ( (a={} or b={} & f : a <-> b) => f: c <-> d ))',
'-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( ( (a={} or b={} & f : a +-> b) => f: c +-> d ))',
'-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( ( (a={} or b={} & f : a >+> b) => f: c >+> d ))',
'-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( ( a <: c & b<:d => (a*b) <: c*d))',
'-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( a <: c & b<:d & f : a <-> b => f: c <-> d )',
'-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( a <: c & b<:d & f : a +-> b => f: c +-> d )',
'-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( a <: c & b<:d & f : a >+> b => f: c >+> d )',
'-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( b<:d & f : a --> b => f: a --> d )',
'-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( b<:d & f : a >-> b => f: a >-> d )',
'-evalf', 'a<:1..3 & b<:1..3 & c<:1..3 & d<:1..3 & not( a<:c & f : a +->> b => f: c +->> b )',
'-evalf', 's1:STRING & s2:STRING & not((s1=s2 <=> s2=s1))',
'-evalf', 's1:STRING & s2:STRING & not( s1=s2 or s1 /= s2 )',
'-evalf', 's1:STRING & s2:STRING & not( s1=s2 & s2=s3 => s1 = s3 )',
'-evalf', 's1:STRING & s2:STRING & not( s1=s2 & s2/=s3 => s1 /= s3 )',
'-evalf', 's1:STRING & s2:STRING & not(s1=s2 <=> card({s1,s2}) = 1)',
'-evalf', 's1:STRING & s2:STRING & not( s1=s2 <=> {s1,s2} = {s1} )',
'-evalf', 's1:STRING & s2:STRING & not({s1,s2,s3} = {s3} \\/ {s2} \\/ {s1} )',
'-evalf', 's1:STRING & s2:STRING & not({x| x=s1 or x=s2} = {s2,s1} )',
'-evalf', 's1:STRING & s2:STRING & not( s1 : dom( { s2 |-> s2, s3|->s3, s1 |->s1} ) )',
'-evalf', 's1:STRING & s2:STRING & not((s1/=s2 => s1 /: dom( { s2 |-> s2} ) ) )',
'-evalf', 's1:STRING & s2:STRING & not( s1 /: {s1,s2,s3} - {s2,s1} )',
'-evalf', 'S={"a","b"} & s1:S & s2:S & s3:S & not(card({s1,s2,s3} - {s2,s1}) < 2)',
'-evalf', 's1:STRING & s2:STRING & not( s1:STRING <=> 1=1 )',
'-evalf', 's1:STRING & s2:STRING & not( s1/:STRING <=> 1=2 )',
'-evalf', 's1:STRING & s2:STRING & not( s1=s2 <=> {s1} \\/ {s2} = {s1})',
'-evalf', 's1:STRING & s2:STRING & not( {s1,s2} \\/ {s3} = {s1,s2,s3})',
'-evalf', 's1:STRING & s2:STRING & not( {s2} \\/ {s1,s2,s3} = {s1,s2,s3} )',
'-evalf', 'S={"a","b"} & s1:S & s2:S & s3:S & not( s1 /= s3 => ({s1,s2} /\\ {s3,s2} = {s2}))',
'-evalf', 'S={"a","b"} & s1:S & s2:S & s3:S & not( #x.(x:STRING & {x} \\/ {s1,s2} = {s1,s2} & x:{s1,s2,s3}))',
'-evalf', 'S={"a","b"} & s1:S & s2:S & s3:S & not( #x.(x:STRING & {x} \\/ {s1,s2} = {s1,s2} ) )',
'-evalf', 'SS<:POW(BOOL) & not( SS \\/ (TT /\\ VV) = (SS \\/ TT) /\\ (SS \\/ VV))',
'-evalf', 'SS<:POW(BOOL) & not( SS <<: VV => (card(SS) < card(VV)) )',
'-evalf', 'x<:BOOL & not(POW(x) = POW1(x) \\/ {{}})',
'-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
'-evalf', 'x<:BOOL & x <<: y & not(POW(x) <<: POW(y))',
'-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
'-evalf', 'SS<:BOOL & VV<:BOOL & not(union({SS,VV})=SS \\/ VV)',
'-evalf', 'SS<:BOOL & VV<:BOOL & not(union({SS,VV,WW})=SS \\/ VV \\/ WW)',
'-evalf', 'SS<:BOOL & VV<:BOOL & SV = {SS}\\/{VV} & SVW= SV\\/{WW} & not(union(SVW)=SS \\/ VV \\/ WW)',
'-evalt', 'SS<:BOOL & VV<:BOOL & SV = {SS}\\/{VV} & SVW= SV\\/{WW} & not(inter(SVW)=SS \\/ VV \\/ WW)',
'-evalf', 'SS<:BOOL & VV<:BOOL & SV = {SS}\\/{VV} & SVW= SV\\/{WW} & not(inter(SVW)=SS /\\ VV /\\ WW)',
'-evalf', 'SS<:POW(BOOL) & not(union({SS,TT}) = SS \\/ TT)',
'-evalf', 'SS<:POW(BOOL) & not(SS/={} & TT/={} => inter(SS \\/ TT) = inter(SS) /\\ inter(TT))',
'-evalf', 'r:BOOL <-> BOOL & not(r <: closure1(r))',
'-evalf', 'r:BOOL <-> BOOL & not(r <: closure(r))',
'-evalf', 'rx:BOOL <-> BOOL & not(id( dom(rx) \\/ ran(rx) ) <: closure(rx))',
'-evalf', 'rx:BOOL <-> BOOL & not(( id(BOOL) ; rx) = rx)',
'-evalf', 'rx:BOOL <-> BOOL & not(( rx ; id(BOOL) ) = rx)',
'-evalf', 'rx:BOOL <-> BOOL & ff:BOOL<->BOOL & not(( rx; ff )~ = (ff~ ; rx ~))',
'-evalf', 'rx:BOOL <-> BOOL & ff:BOOL<->BOOL & not( (ff ; rx)[HH] = rx[ff[HH]])',
'-evalf', 'ff:BOOL<->BOOL & not( gg <+ ff = (dom(ff) <<| gg) \\/ ff )',
'-evalf', 'ff:BOOL<->BOOL & gg:BOOL<->BOOL & not( dom(ff) <<| gg = {a,b| (a,b):gg & a/:dom(ff)} )',
'-evalf', 'ff:BOOL<->BOOL & gg:BOOL<->BOOL & not( gg |>> ran(ff) = {a,b| (a,b):gg & b/:ran(ff)})',
'-evalf', 'ff:BOOL<->BOOL & ii=1 & not (iterate(ff,ii) = ff)',
'-evalf', 'x<:BOOL & x <: y & not(POW(x) <: POW(y))',
'-evalt', 'x<:BOOL & x <: y & not(POW(x) <<: POW(y))', % True,
'-evalf', 'x<:BOOL & x <<: y & not(POW(x) <<: POW(y))',
'-evalf', 'xx:0..3 & not(xx>xx-1 & card(xx..xx) = 1)', % used to cause timeout in CHR mode
'-evalf', 'f:BOOL-->POW(BOOL) & card(f(TRUE))=0 & card(f(FALSE))=0 & card(union(ran(f)))>0',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
], 'check laws expressed as individual constraints').
cli_testcase(2132, [laws], ['-p', 'SMT', 'TRUE',
'-evalf', 'x:-3..3 & y:-3..3 & not((x<y & y<z) => x<z) ', % does not work with CLPFD=FALSE
'-evalf', 'x:-3..3 & y:-3..3 & not((x<=y & y<z) => x<z) '
|Cmds],'Test 2131 with SMT true') :-
cli_testcase(2131, _, Cmds,_).
cli_testcase(2133, [laws, chr], ['-p', 'CHR', 'TRUE' |Cmds],'Test 2131 with SMT and CHR true') :-
cli_testcase(2132, _, Cmds,_).
cli_testcase(2134, [laws], ['-p', 'CLPFD', 'FALSE' |Cmds],'Test 2131 with CLPFD false') :-
cli_testcase(2131, _, Cmds,_).
cli_testcase(2135, [b_test], [
'../prob_examples/public_examples/B/Tester/Uses/MachineB_wrong_uses.mch',
'-expcterr', 'type_error', '-expcterr', 'load_main_file'], 'Check that operations of a used machine cannot be called').
cli_testcase(2136, [b_test], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/PerformanceTests/ModelChecking/IncrementalStatePackingTestLargeSlow_err.mch',
'-mc', 20, '-p', 'PROOF_INFO', 'TRUE',
'-expcterr', 'invariant_violation'], 'Check that invariant (proven for all events) violation found').
cli_testcase(2137, [b_test, operation_reuse, operation_reuse_full], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/PerformanceTests/ModelChecking/IncrementalStatePackingTestLargeSlow_err.mch',
'-mc', 20, '-p', 'OPERATION_REUSE', 'full', '-p', 'PROOF_INFO', 'TRUE',
'-expcterr', 'invariant_violation'], 'Check that invariant (proven for all events) violation found').
cli_testcase(2138, [eventb_test, operation_reuse, operation_reuse_full, codespeed], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/ABZ_Landing_Gear/Ref3_ControllerSensors_mch.eventb',
'-mc', 2500, '-p', 'OPERATION_REUSE', 'full', '-p', 'COMPRESSION', 'TRUE', '-nodead',
'-cc', 2354, 10154,
'-check_op_cache_stats', 242, 0, 24, 0 % used to be 248,24,2;
% but after improving Proof info 6 calls to invariant checks have disappeared; see also test 2218
], 'Check that operation reuse works for Event-B').
cli_testcase(2139, [b_test, operation_reuse, operation_reuse_full, codespeed], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Other/Meeduse/gpuScheduler_main.mch',
'-mc', 4000, '-p', 'OPERATION_REUSE', 'full', '-p', 'COMPRESSION', 'TRUE', '-noass',
'-cc', 3180, 26054,
'-check_op_cache_stats', 9598, 3566, 4, 10],% 3566 was 3500, before remove_finite rule made more conservative
'Check Meeduse model').
cli_testcase(2140, [b_test, operation_reuse, operation_reuse_full, codespeed], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Other/Meeduse/gpuScheduler_main.mch',
'-mc', 4000, '-p', 'OPERATION_REUSE', 'full', '-p', 'COMPRESSION', 'TRUE', '-noass',
'-nodead', '-p', 'SAFETY_MODEL_CHECK', 'TRUE', '-bf',
'-cc', 3180, 3181, % was 3179, but now we store at least one transition per operation for coverage
'-check_op_cache_stats', 9598 , 3566, 4, 10], % 3566 was 3500, before remove_finite rule made more conservative
'Test 2140 with safety invariant model checking').
cli_testcase(2141, [eventb_test, operation_reuse, operation_reuse_full, codespeed], [
'../prob_examples/examples/EventBPrologPackages/Advance_WP2/v6_Sep2014/ex_mch.eventb',
'-animate', 300, '-p', 'OPERATION_REUSE', 'full', '-p', 'COMPRESSION', 'TRUE',
'-check_op_cache_stats', '_', '_', 41, 28], 'Test used to pose problem to operation reuse').
cli_testcase(2142, [cbc], [
'-evalt','x>1 & y:NATURAL & y=x+x & z={y,x}',
'-p', 'CLPFD', 'TRUE', '-p', 'CHR', 'FALSE'], 'Check CLPFD overflows are caught').
cli_testcase(2143, [operation_reuse, csp_test,cspb], ['-p', 'STRICT_RAISE_ENUM_WARNINGS','TRUE',
'../prob_examples/public_examples/CSP/Tickets/WilliamsCSPB/Airports.mch', '-csp-guide',
'../prob_examples/public_examples/CSP/Tickets/WilliamsCSPB/AirportsCtrl.csp',
'-p', 'COMPRESSION', 'TRUE', '-p', 'OPERATION_REUSE', 'TRUE', '-mc', 1000,
'-check_op_cache_stats', 127, 0, 2 , 0,
'-cc', 843, 3504, '-strict'], 'Checking operation reuse CSP-M || B models.').
cli_testcase(2144, [operation_reuse,csp_test,cspb],['-p', 'STRICT_RAISE_ENUM_WARNINGS','TRUE',
'../prob_examples/public_examples/CSPB/Dining/Dining.mch', '-csp-guide',
'../prob_examples/public_examples/CSPB/Dining/Dining.csp',
'-p', 'COMPRESSION', 'TRUE', '-p', 'OPERATION_REUSE', 'TRUE',
'-mc', 5000, '-nodead',
'-p', 'MAX_INITIALISATIONS', 100,
'-check_op_cache_stats', 516, 373, 3 , 2,
'-cc', 1862, 4957,
'-strict'],'Check operation_reuse in Dining.csp').
cli_testcase(2145, [operation_reuse,csp_test,cspb],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS','TRUE',
'../prob_examples/public_examples/CSPB/LTSMin/Counters_smaller.mch', '-csp-guide',
'../prob_examples/public_examples/CSPB/LTSMin/Counters.csp',
'-p', 'COMPRESSION', 'TRUE', '-p', 'OPERATION_REUSE', 'TRUE',
'-mc', 85000,
'-check_op_cache_stats', 63, 0 , 3 , 0,
'-cc', 21486, 21486,
'-strict'],'Check operation_reuse in Dining.csp').
cli_testcase(2146, [b_test,card], ['-strict', '-p', 'STRICT_RAISE_ENUM_WARNINGS','TRUE',
'../prob_examples/public_examples/B/FeatureChecks/DeferredSetsDisjointSubsets1.mch', '-init' ,'-assertions'], 'check cardinality of deferred set detects disjoint subsets').
cli_testcase(2147, [smt_solver_integration], [
'-evalt', ':z3-double-check a="(!&/()=>\\"<,.\\"-_%?"',
'-evalt', ':z3-double-check a=""',
'-evalt', ':z3-double-check a="\\""',"
'-evalt', ':z3-double-check a="\\"\\""'
], 'check z3 model translation for strings').
cli_testcase(2148, [operation_reuse,eventb_test],[
'../prob_examples/examples/EventBPrologPackages/Soton/UML-B/drone_0_mch.eventb',
'-p', 'COMPRESSION', 'TRUE', '-p', 'OPERATION_REUSE', 'TRUE',
'-mc', 3000, '-scope', 'card(SCXML_eq)<5',
'-check_op_cache_stats', 1164, 0, 15 , 0,
% analysed are these, but many more are added to the state space'-cc', 2422, 10767,
'-strict'],'Check operation_reuse with scope').
cli_testcase(2149, [smt_solver_integration], [
'-evalt', ':z3-double-check rev(["a","b"]) = a',
'-evalf', ':z3-double-check rev(["a"]) = []',
'-evalt', ':z3-double-check first(["a","b"]) = a',
'-evalt', ':z3-double-check last(["a","b"]) = a',
'-evalt', ':z3-double-check ["a","b"]<-"c" = a',
'-evalt', ':z3-double-check "c"->["a","b"] = a',
'-evalt', ':z3-double-check tail(["a","b"]) = a',
'-evalt', ':z3-double-check front(["a","b"]) = a',
'-evalt', ':z3-double-check rev([3,4]) = a',
'-evalf', ':z3-double-check rev([6]) = []',
'-evalt', ':z3-double-check first([7,8]) = a',
'-evalt', ':z3-double-check last([9,10]) = a',
'-evalt', ':z3-double-check [11,12,13]<-14 = a',
'-evalt', ':z3-double-check 9->[6,155] = a',
'-evalt', ':z3-double-check tail([4,7]) = a',
'-evalt', ':z3-double-check front([4,7]) = a',
'-evalt', ':z3-double-check size([4,7,5]) = a',
'-evalt', ':z3-double-check size([4,7,5]) = 3',
'-evalf', ':z3-double-check size([4,7,5]) = 4'
], 'check sequences with z3').
cli_testcase(2150, [operation_reuse,eventb_test],[
'../prob_examples/examples/RodinModels/SAP/TUCC_Example/v3/m_wodel123_partner_behaviour.eventb',
'-p', 'COMPRESSION', 'TRUE', '-p', 'OPERATION_REUSE', 'TRUE',
'-mc', 1000, '-expcterr', 'model_check_incomplete',
'-op_cache_profile',
'-strict'],'Check that unmodifiable check works and read vars are correctly computed').
cli_testcase(2151, [pragmas,eventb_test],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Tests/TestProBIgnoreAxioms_ctx.eventb',
'-init', '-p', 'USE_IGNORE_PRAGMAS', 'TRUE',
'-strict'],'Check prob-ignore labels respected').
cli_testcase(2152, [b_test],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/PerformanceTests/Compression/TotFunSkeleton.mch',
'-mc', 1000, '-expcterr', 'model_check_incomplete',
'-p', 'COMPRESSION', 'full', '-memory', '-prob-profile', % TODO: check that we Stored 1 AVL sets
'-strict'],'Exercise bit-vector compression').
cli_testcase(2153, [b_test,json_trace_replay,records,operation_reuse], ['../prob_examples/public_examples/B/FeatureChecks/AssignToRecordField.mch',
'-p', 'COMPRESSION', 'TRUE', '-p', 'OPERATION_REUSE', 'full',
'-trace_replay', 'json', '../prob_examples/public_examples/B/FeatureChecks/AssignToRecordField.prob2trace'
], 'Check read information correctly identfied').
cli_testcase(2154, [tickets,json_trace_replay], ['../prob_examples/public_examples/B/Tickets/PartitionPrettyPrintBug/ABZ16_m4.eventb',
'-pp', '../prob_examples/public_examples/B/Tickets/PartitionPrettyPrintBug/ABZ16_m4_pp.mch',
'-trace_replay', 'json', '../prob_examples/public_examples/B/Tickets/PartitionPrettyPrintBug/ABZ16_m4.prob2trace'
], 'Check partition pretty-printing properly parenthesised').
cli_testcase(2155, [b_test,cruise,external,operation_reuse], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Benchmarks/Cruise_finite1.mch', '-mc', '1400', '-bf',
'-scope', 'PROB_STATISTICS("bf-level")<5',
'-p', 'OPERATION_REUSE', 'TRUE', '-p', 'COMPRESSION', 'TRUE',
'-cc', '833', '6578', % 456 are ignored
'-strict', '-nodead', '-p', 'MAX_INITIALISATIONS', 5], 'Test SCOPE with breadth-first level predicate').
cli_testcase(2156, [wd], ['../prob_examples/public_examples/B/Tickets/PartitionPrettyPrintBug/ABZ16_m4.eventb',
'-evalu', ':prove not(x=STANDBY) => not(x=PREPARATION)',
'-evalu', ':prove x=STANDBY => x=PREPARATION',
'-evalt', ':prove x=TRUE => not(x=FALSE)',
'-evalt', ':prove not(x=TRUE) => x=FALSE',
'-evalt', ':prove x=STANDBY => not(x=PREPARATION)'
], 'Check simple equalities proven by wd prover').
cli_testcase(2157, [infinite,external,choose], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 's={f|f = /*@symbolic*/ %x.(x : NATURAL | IF x = 1 THEN 1 ELSE x+1 END)} & res = CHOOSE(s)(2)',
'-evalt', 'f = /*@symbolic*/ %x.(x : NATURAL | IF x = 1 THEN 1 ELSE x+1 END) & s = {f} & res = CHOOSE(s)(2)',
'-evalt', 's={f|f = /*@symbolic*/ %x.(x : NATURAL | IF x = 1 THEN 1 ELSE x+1 END)} & res = MU(s)(2)',
'-evalt', 'f = /*@symbolic*/ %x.(x : NATURAL | IF x = 1 THEN 1 ELSE x+1 END) & s = {f} & 3 = MU(s)(2)'
% '-evalt', 'f = /*@symbolic*/ %x.(x : NATURAL | IF x = 1 THEN 1 ELSE x+1 END) & s = {f, {0|->0}}' % does not work
], 'Check singleton sets with infinite element are not expanded, and check MU/CHOOSE').
cli_testcase(2158, [infinite,external,choose,recursion], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'f = /*@symbolic*/ %x.(x : NATURAL | IF x = 0 THEN 0 ELSE 2+f(x-1) END) /*@desc recursive_let */ & f(20)=40',
'-evalt', 'f = /*@symbolic*/ %x.(x >=0 | IF x = 0 THEN 1 ELSE 2+f(x-1) END) /*@desc letrec */ & f(20)=41',
'-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)',
'-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)',
'-evalt', 'MU({f|f = /*@symbolic*/ %x.(x>=0 | IF x = 0 THEN 0 ELSE 2+f(x-1) END) /*@desc recursive_let*/ })(10) = 20',
'-evalt', 'MU({f|f = /*@symbolic*/ %x.(x : NATURAL1 | IF x = 1 THEN 0 ELSE 1+f(x/2) END) /*@desc letrec */})(1024) = 10',
'-evalt', 'card({f|f = /*@symbolic*/ %x.(x : NATURAL1 | IF x = 1 THEN 0 ELSE 1+f(x/2) END) /*@desc letrec */})=1'
], 'Check recursive_let pragma annotation').
cli_testcase(2159, [infinite,external,choose], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'ilog2 = /*@symbolic */ {x,r| x:NATURAL & 2**r<=x & 2**(r+1) > x} & res=ilog2(1024)',
'-evalt', 'ilog2 = /*@symbolic */ {x,r| x:NATURAL & 2**r<=x & 2**(r+1) > x} & 10=ilog2(1024) & ilog2(1025)=10 & ilog2(2048)=11',
'-evalt', 'ilog3 = /*@symbolic */ {x,r| x:NATURAL & 3**r<=x & 3**(r+1) > x} & 4=ilog3(81) & ilog3(1000)=6',
'-evalt', '1**r = t & t:0..100'
], 'Check propagation of power_of / exponentiation').
cli_testcase(2160, [external], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/FeatureChecks/NonDetDetection/NonDetSelect.mch',
'-mc', 1000, '-noinv', '-noass', '-expecterr', 'goal_found'
], 'Check NON_DET_STATE external function and use of external functions in GOAL').
cli_testcase(2161, [recursion,json_trace_replay,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/RecursiveFunctions/Factorial_NewSyntax.mch',
'-trace_replay', json, '../prob_examples/public_examples/B/RecursiveFunctions/Factorial_NewSyntax.prob2trace',
'-assertions'
], 'Check JSON trace replay works with recursive function').
cli_testcase(2162, [cdclt,smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/ABZ16_m4.eventb', '-init',
'-p', 'TIME_OUT', '60000',
'-evalf', ':z3-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_0.eval',
'-evalf', ':z3-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_3.eval',
'-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_4.eval',
'-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_5.eval',
'-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_6.eval',
'-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_7.eval',
'-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_8.eval',
'-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_9.eval',
'-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_10.eval',
'-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_11.eval',
'-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_12.eval',
'-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_13.eval',
'-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_14.eval',
'-evalf', ':cdclt-file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m4/m4_monolithic_bmc_k_15.eval'
], 'Double check CDCL(T) solver for BMC constraints of ABZ16_m4').
cli_testcase(2163, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/ABZ16_m6.eventb', '-init',
'-p', 'TIME_OUT', '60000',
'-eval', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_0.eval',
'-eval', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_1.eval',
'-eval', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_2.eval',
'-eval', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_3.eval'
], 'Double check CDCL(T) solver for BMC constraints of ABZ16_m6 containing unfixed deferred sets').
cli_testcase(2164, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/R5_Switch.eventb', '-init',
'-p', 'TIME_OUT', '60000',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/Ref5_Switch_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/Ref5_Switch_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/Ref5_Switch_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/Ref5_Switch_monolithic_bmc_k_3.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/Ref5_Switch_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/Ref5_Switch_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/Ref5_Switch_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/Ref5_Switch_monolithic_bmc_k_3.eval'
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearSwitch/Ref5_Switch_monolithic_bmc_k_4.eval' % needs more than 60 seconds
], 'Double check CDCL(T) solver for BMC constraints of Landing Gear R5 Switch').
cli_testcase(2165, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE',
'../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/R6_Lights.eventb', '-init',
'-p', 'TIME_OUT', '60000',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_3.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_3.eval'
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_4.eval', % needs more than 60 seconds
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_5.eval',
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6.eval'
], 'Double check CDCL(T) solver for BMC constraints of Landing Gear R6 Lights').
cli_testcase(2166, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE',
'../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching.mch', '-init',
'-p', 'TIME_OUT', '60000',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/core_bug.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_4.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_5.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_6.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_7.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_8.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_9.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_10.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_11.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_12.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_13.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_14.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_15.eval',
% long runtime for the following tests
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_16.eval',
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_17.eval',
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_18.eval',
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_19.eval',
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_20.eval',
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_21.eval',
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_22.eval',
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_23.eval',
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_24.eval',
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_25.eval',
% same constraints but not considering the current state
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/core_bug.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_0.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_1.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_3.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_4.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_5.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_6.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_7.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_8.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_9.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_10.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_11.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_12.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_13.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_14.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_15.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_16.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_17.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_18.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_19.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_20.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_21.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_22.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_23.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_24.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_25.eval'
], 'Double check CDCL(T) solver for BMC constraints of LargeBranching').
cli_testcase(2167, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase.tla', '-init',
'-p', 'TIME_OUT', '60000',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_4.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_5.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_6.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_7.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_8.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_9.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_10.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_11.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_12.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_13.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_14.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_15.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_16.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_17.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_18.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_19.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_20.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_21.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_22.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_23.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_24.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_25.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_3.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_4.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_5.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_6.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_7.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_8.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_9.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_10.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_11.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_12.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_13.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_14.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_15.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_16.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_17.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_18.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_19.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_20.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_21.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_22.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_23.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_24.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_25.eval'
], 'Double check CDCL(T) solver for BMC constraints of SimpleTwoPhase').
cli_testcase(2168, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents.mch', '-init',
'-p', 'TIME_OUT', '60000',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_0.eval'
%'-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
], 'Double check CDCL(T) solver for BMC constraints of SearchEvents').
cli_testcase(2169, [eventb_test,json_trace_replay,operation_reuse], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Abrial_Teaching/ch2_car/m3_mch.eventb',
'-p', 'OPERATION_REUSE', 'TRUE', '-p', 'COMPRESSION', 'TRUE', '-mc', 500,
'-property', 'd=3', '-cc', 239, 505,
'-trace_replay', 'json',
'../prob_examples/public_examples/EventBPrologPackages/Abrial_Teaching/ch2_car/m3_mch.prob2trace',
'-read_write_matrix_csv', '../prob_examples/public_examples/EventBPrologPackages/Abrial_Teaching/ch2_car/m3_rw_matrix.csv'
], 'Check variant variables lead to no problem').
cli_testcase(2170, [b_test,recursion,external,quantified,union,json_trace_replay,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Compilers/NFA.mch',
'-trace_replay', 'json','../prob_examples/public_examples/B/Compilers/NFA.prob2trace'], 'Test trace replay with recursive symbolic functions.').
cli_testcase(2171, [infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '%n.(n:NATURAL|%x.(x:NATURAL|2*x+n)) = f & f = %n.(n:NATURAL|%y.(y:NATURAL|2*y+n))'
], 'Test comparison of symbolic functions / sets with alpha-conversion').
cli_testcase(2172, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents.mch', '-init',
'-p', 'TIME_OUT', '30000',
'-evalf', ':prob-file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_0.eval',
'-evalt', ':prob-file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_1.eval',
'-evalf', ':prob-file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_2.eval'
% SearchEvents_monolithic_bmc_k_3.eval too slow
], 'Adapted version of test 2168 for prob').
cli_testcase(2173, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/Eval/SAT_uf20-02.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/Eval/SAT_uf20-02_pred.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/Eval/SAT_uf20-02_unsat.eval'
], 'Double check CDCL(T) solver for SAT constraints').
cli_testcase(2174, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE',
'../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching.mch',
'-p', 'TIME_OUT', '3000', '-init',
'-evalf', ':prob-file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_0.eval',
'-evalt', ':prob-file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_1.eval',
'-evalt', ':prob-file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_2.eval',
'-evalt', ':prob-file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_3.eval',
'-evalf', ':z3-free-file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_0.eval',
'-evalt', ':z3-free-file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_1.eval',
'-evalt', ':z3-free-file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_2.eval',
'-evalt', ':z3-free-file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_3.eval'
], 'Variation of test 2166 with z3 and prob; testing new :z3-free command').
cli_testcase(2175, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE',
'-p', 'TIME_OUT', '3000',
'-evalt', ':z3-double-check l = {1,2,4} & !x.(x:l => y /= x) & (#z.(z:l & y=z+z) <=> b=TRUE)',
'-evalt', ':z3-double-check x : POW({1,2,y}) & z:x & z>2', % check precomputation does not fail
'-evalt', ':z3-double-check !(x,y).(x|->y:[1,2,3] => v /= x)',
'-evalt', ':z3-cns DOM = 1..3 & Board : POW(DOM * DOM * DOM)', % check POW elimination
'-evalt', ':z3-cns Board : POW(DOM * DOM * DOM) & DOM <: INTEGER',
%'-evalt', ':z3-axm Board : POW(DOM * DOM * DOM) & DOM <: INTEGER', % unkown since Z3 4.12.2
'-evalt', ':z3-cns mxint = 500 & goal : -mxint ..mxint', % is now more performant
'-evalt', ':z3-double-check not(A\\/B=BOOL & A/\\B={}) & A={TRUE} & A \\/ B = BOOL', % check negated partition
%'-evalt', ':z3-double-check ((x:FIN(x) or x<:NATURAL1) => B=TRUE) & (x=1..10 or x = NATURAL) & B=TRUE', % TODO: mk_value fails
'-evalt', ':z3-file ../prob_examples/public_examples/Eval/argumentation_theory.eval'
], 'Check quantifier expansion for z3').
cli_testcase(2176, [cdclt,smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'-evalf', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & !ii.(ii:2..3 => aa(ii)/=aa(ii-1)) & ran(aa)={FALSE}',
%'-evalf', ':z3-double-check ii=1 & aa:1..3 --> BOOL & !ii.(ii:2..3 => aa(ii)/=aa(ii-1)) & ran(aa)={FALSE}', % unknown
%'-evalt', ':z3-double-check ii=1 & aa:1..3 --> BOOL & !ii.(ii:2..3 => aa(ii)/=aa(ii-1)) & ran(aa)={FALSE,TRUE}', % unknown
'-evalf', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & !ii.(ii:2..3 => aa(ii)/=aa(ii-1)) & ran(aa)={FALSE}',
%'-evalf', ':z3-double-check ii=1 & aa:1..3 --> BOOL & !ii.(ii:2..3 => aa(ii)/=aa(ii-1)) & ran(aa)={FALSE}', % unknown
'-evalf', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & {ii|aa(ii)=TRUE} = dom(aa) & FALSE:ran(aa)',
'-evalf', ':z3-double-check ii=1 & aa:1..3 --> BOOL & {ii|aa(ii)=TRUE} = dom(aa) & FALSE:ran(aa)',
'-evalt', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & SIGMA(ii).(ii|->TRUE:aa|ii) = 6',
'-evalf', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & SIGMA(ii).(ii|->TRUE:aa|ii) = 6 & FALSE:ran(aa)',
'-evalt', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & PI(ii).(ii|->TRUE:aa|ii+1) = 24',
'-evalf', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & PI(ii).(ii|->TRUE:aa|ii+1) = 24 & FALSE:ran(aa)',
'-evalt', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & UNION(ii).(ii|->TRUE:aa |{ii}) = 1..3',
'-evalf', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & UNION(ii).(ii|->TRUE:aa |{ii}) = 1..3 & FALSE:ran(aa)',
'-evalt', ':z3-double-check ii=1 & aa:1..3 --> BOOL & UNION(ii).(ii|->TRUE:aa |{ii}) = 1..3',
'-evalf', ':z3-double-check ii=1 & aa:1..3 --> BOOL & UNION(ii).(ii|->TRUE:aa |{ii}) = 1..3 & FALSE:ran(aa)',
'-evalt', ':cdclt-double-check ii=1 & aa:1..3 --> BOOL & INTER(ii).(ii|->TRUE:aa or ii=0|ii..(ii+1)) = 0..1',
'-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)',
'-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',
'-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'
% :z3 ii=1 & aa:1..3 --> BOOL & SIGMA(ii).(ii|->TRUE:aa|ii) = 6 % translation failed
], 'Check quantifier scoping for SMT solvers').
cli_testcase(2177, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents.mch', '-init',
'-p', 'TIME_OUT', '60000',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'false',
'-p', 'cdclt_perform_static_analysis', 'true',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem2.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug2.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug3.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd_contradiction.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug3.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd2.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd_contradiction.eval'
], 'Test well-definedness issue for CDCL(T) solver to not report unsatisfiability for satisfiable formulas: SearchEvents').
cli_testcase(2178, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/R6_Lights.eventb', '-init',
'-p', 'TIME_OUT', '60000',
'-p', 'cdclt_perform_static_analysis', 'true',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1_core.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1_core.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd3.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd_contradiction.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd_contradiction.eval'
], 'Test well-definedness issue for CDCL(T) solver to not report unsatisfiability for satisfiable formulas: LandingGearLights').
cli_testcase(2179, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents.mch', '-init',
'-p', 'TIME_OUT', '60000',
'-p', 'cdclt_perform_static_analysis', 'false',
'-p', 'cdclt_perform_symmetry_breaking', 'true',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'false',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem2.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug2.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug3.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd_contradiction.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug3.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd2.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd_contradiction.eval'
], 'Test well-definedness issue for CDCL(T) solver to not report unsatisfiability for satisfiable formulas without static analysis: SearchEvents').
cli_testcase(2180, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/R6_Lights.eventb', '-init',
'-p', 'cdclt_perform_static_analysis', 'false',
'-p', 'TIME_OUT', '60000',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1_core.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1_core.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd3.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd_contradiction.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd_contradiction.eval'
], 'Test well-definedness issue for CDCL(T) solver to not report unsatisfiability for satisfiable formulas without static analysis: LandingGearLights').
cli_testcase(2181, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '#file .(file:1..2)',
'-evalt', '#file . (file:1..2)'], 'Check #file can be used for existential quantifier').
cli_testcase(2182, [b_test,external,hash], ['stdlib/AssertionsForLibraryHash.mch', '-assertions', '-strict'], 'Assertions for LibraryHash').
cli_testcase(2183, [b_test,forall], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalf', '!(x,y).(x|->y : { (y,x),(1,2)} => x<y)',
'-evalf', '!(x,y).(x|->y : { (y,x),(1,2)} => x>y)',
'-evalf', '!(x,y).(x>0 & x|->y : { (y,10/x),(1,2)} => y/=2)',
'-evalt', '!(x,y).(x|->y : { (y,x),(1,2)} & x>0 & y>0 => x+y>0)'
], 'Test forall with sets reusing parameters').
cli_testcase(2184, [cbc,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/QueensWithEvents_ForallTest1.mch',
'-mc', 60, '-cc', 43, 82, '-strict'], 'Check forall instead of perm in N-Queens').
cli_testcase(2185, [cbc,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/QueensWithEvents_ForallTest2.mch',
'-mc', 60, '-cc', 7, 10, '-strict'], 'Check forall instead of perm in N-Queens').
cli_testcase(2186, [cbc,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/QueensWithEvents_ForallTest3.mch',
'-mc', 60, '-cc', 7, 10, '-strict'], 'Check forall instead of perm in N-Queens').
cli_testcase(2187, [cbc,forall], ['../prob_examples/public_examples/B/PerformanceTests/ForAll/QueensWithEvents_ForallTest2b.mch',
'-mc', 60, '-cc', 7, 10, '-strict'], 'Check forall instead of perm in N-Queens').
cli_testcase(2188, [b_test,forall], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'a:1..n --> BOOL & !i.(i|->TRUE:a => i mod 2=0) & n=40 & !i.(i|->FALSE:a => i mod 2=1)',
'-evalf', 'a:1..n --> BOOL & n=200 & !i.(i|->FALSE:a => i mod 2=1) & a(n)=FALSE',
'-evalf', 'a:1..n --> BOOL & n=200 & !i.(i|->FALSE:a => i mod 2=1) & a(2)=FALSE'
], 'Test forall for set membership with a pattern is not delaying').
cli_testcase(2189, [cbc,card,forall], ['../prob_examples/public_examples/B/Puzzles/Queens/NBishopsSets_v2.mch',
'-p', 'TIME_OUT', 5000, % set it higher for Windows bot
'-init'], 'See that ProB can solve this puzzle; variation of test 1631').
cli_testcase(2190, [cbc_refinement,refinement], [
'../prob_examples/public_examples/CSP/simple/RefinementChecks.csp',
'--MAIN', 'A', '-mc', '100',
'-save', '../prob_examples/public_examples/CSP/simple/RefinementChecks_A_spec.P'
], 'Save CSP state space for later refinement check').
cli_testcase(2191, [cbc_refinement,refinement], [
'../prob_examples/public_examples/CSP/simple/RefinementChecks.csp',
'--MAIN', 'C',
'-refchk', '../prob_examples/public_examples/CSP/simple/RefinementChecks_A_spec_saved.P'
], 'CSP refinement check against saved state space').
cli_testcase(2192, [cbc_refinement,refinement], [
'../prob_examples/public_examples/CSP/simple/RefinementChecks.csp',
'--MAIN', 'D',
'-refchk', '../prob_examples/public_examples/CSP/simple/RefinementChecks_A_spec_saved.P'
], 'CSP refinement check against saved state space').
cli_testcase(2193, [cbc_refinement,refinement], [
'../prob_examples/public_examples/CSP/simple/RefinementChecks.csp',
'--MAIN', 'E',
'-refchk', '../prob_examples/public_examples/CSP/simple/RefinementChecks_A_spec_saved.P'
], 'CSP refinement check against saved state space').
cli_testcase(2194,[private_source_not_available],[
'../private_examples/Thales/Hansen_FMTools_Issue2/WD_Issue.prob',
'-df', '-mc', 200, '-expcterr', goal_found,
'-p', 'TRY_FIND_ABORT', 'FALSE'], 'Ensure no wd error found').
cli_testcase(2195, [tickets, union], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-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]',
'-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})}',
'-p', 'TRY_FIND_ABORT', 'TRUE'], 'Ensure no wd error found due to quant_union_inter_let/find_one_point rules bug').
cli_testcase(2196, [error_checks], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-eval', 'x = {(1|->2)|->3, 44|->(55|->66)}',
'-expcterr', 'type_expression_error'],
'Ensure type error caught').
cli_testcase(2197, [kodkod], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
'-evalf', ':kodkod 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))',
'-evalt', ':kodkod 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))',
'-evalt', ':kodkod 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',
'-evalt', ':kodkod ({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))})={}',
'-evalt', ':kodkod 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',
'-evalt', ':kodkod ({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))})={}',
'-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'
], 'Ensure issue in kodkod integer cast typing solved').
cli_testcase(2198, [b_test], ['../prob_examples/public_examples/B/Implementations/Values/DefSetsPartiallyEnum.mch',
'../prob_examples/public_examples/B/Implementations/Values/DefSetsPartiallyEnumImp.imp',
'../prob_examples/public_examples/B/Implementations/Values/DefSetsPartiallyEnum_v2.mch',
'../prob_examples/public_examples/B/Implementations/Values/ArrayValuationAImp.imp',
'../prob_examples/public_examples/B/Implementations/Values/EnumSetImp.imp',
'-t', '-assertions', '-mc', 10, '-nodead'
], 'test VALUES clause can access constants in abstraction and check partial enumerated sets detection').
cli_testcase(2199, [smt], ['../prob_examples/public_examples/SMT/SendMoreMoney.smt2',
'../prob_examples/public_examples/SMT/KnightsKnaves.smt2'
], 'test Send More Money in SMTLib format').
cli_testcase(2200, [ltl], ['../prob_examples/public_examples/B/LTL/Tests/UnchangedOperator.mch',
'../prob_examples/public_examples/B/LTL/Tests/UnchangedOperator2.mch',
'-ltlassertions',
'-p', 'LTL_SAFETY_MODEL_CHECK', 'TRUE'
], 'test new LTL operators unchanged, changed, increasing, decreasing, BA').
cli_testcase(2201, [ltl], ['../prob_examples/public_examples/B/LTL/Tests/UnchangedOperator.mch',
'../prob_examples/public_examples/B/LTL/Tests/UnchangedOperator2.mch',
'-ltlassertions',
'-p', 'LTL_SAFETY_MODEL_CHECK', 'FALSE'
], 'test 2001 without LTL safety mc').
cli_testcase(2202, [tickets], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalf', 'ff:1..1<->BOOL & not (ff : setX --> setY <=> (ff: setX +-> setY & dom(ff) = setX))',
'-evalf', 'ff:1..3<->BOOL & gg:1..2<->BOOL & not (ff : setX --> setY <=> (ff: setX +-> setY & dom(ff) = setX))',
% these below were already false before fixing the ticket; they just test other similar dangerous calls:
'-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)))',
'-evalf', 'SIGMA(y).(y:S|y) = 2 & S<:0..1',
'-evalf', 'SIGMA(y).(y:S|y) = 2 & S<:0..1 & S={s1,s2}',
'-evalt', 'SIGMA(y).(y:S|y) = 1 & S<:0..1 & S={s1,s2}',
'-evalf', 'SIGMA(y).(y:S|y) = 4 & (S<:1..2 <=> f:1..2 --> BOOL) & f:1..2 +->BOOL & card(f)=2'
], 'check that subset-reification issue generating lists with duplicates is solved on SWI').
cli_testcase(2203, [tickets,union], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'UNION(x,y).(x:INTEGER & y=x+1|{x|->y}) = f & f(2)=3',
'-evalt', 'UNION(a,b).(a:1..2 & b:BOOL|{b|->a}) = UNION(b,a).(a:1..2 & b:BOOL|{b|->a})',
'-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})',
'-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)}'
,
'-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)}',
'-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)}'
], 'check UNION into comprehension set translation').
cli_testcase(2204,[wd,wd_prover],[
'-evalt', ':prove (x>1 & x<20) => not(x mod 20 = 0)',
'-evalt', ':prove (x>=1 & x<20) => not(x mod 20 = 0)',
'-evalt', ':prove (x>1 & x<y) => not(x mod y = 0)',
'-evalt', ':prove (x>=1 & x<20) => (x mod 20) >= 1',
'-evalu', ':prove (x>1 & x<=20) => not(x mod 20 = 0)',
'-evalu', ':prove (x>=1 & x<=20) => (x mod 20) >= 1',
'-evalu', ':prove x>1 => not(x mod 20 = 0)',
'-evalu', ':prove not(x mod 2 = 0) or not(x > 1)',
'-evalt', ':prove x mod 2 /= 2',
'-evalt', ':prove x mod 2 : 0..1',
'-evalt', ':prove x mod 2 < 2',
'-evalt', ':prove 2 mod x <= 2',
'-evalt', ':prove x mod 2 : NATURAL',
'-evalt', ':prove x mod 2 : {0,1}',
'-evalt', ':prove x mod 2 : {0,1,3}',
'-evalt', ':prove x:0..3 => x mod 4 : {0,1,2,3}',
'-evalt', ':prove x:0..3 => x mod 4 : {0,1,2,3,5}',
'-evalt', ':prove x:0..3 => x mod 6 : {0,1,2,3,4}',
'-evalt', ':prove x:0..3 => x mod 5 : {0,1,2,3,5}',
'-evalt', ':prove x:{1,2,3,4,5} => x mod 10 : {0,1,2,3,4,5,9}',
'-evalt', ':prove x:{1,3,5} => x mod 10 : {0,1,2,3,4,5,9}',
'-evalu', ':prove x mod 2 /= 1',
'-evalu', ':prove x mod 2 /= 0',
'-evalu', ':prove 2 mod x <= 1',
'-evalu', ':prove 2 mod x > 0',
'-evalu', ':prove x mod 2 : NATURAL1',
'-evalu', ':prove x:0..3 => x mod 5 : {0,1,3,5}',
'-evalu', ':prove x:{1,3,5,6} => x mod 10 : {0,1,2,3,4,5,9}',
'-evalu', ':prove x mod 3 < 2'
], 'check bug in modulo proof rule fixed').
cli_testcase(2205, [infinite, external, regex, let], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'f = %s.(s:STRING & REGEX_MATCH(s,"[a-z]+")=TRUE | s)',
'-evalt', 'f = %s.(s:STRING & REGEX_MATCH(s,"[a-z]+")=TRUE | s) & f("abz") = "abz"',
'-evalt', 'f = %s.(s:STRING & REGEX_MATCH(s,"[a-z]+")=TRUE | s) & "ab0" /: dom(f)',
'-evalt', 'f = %s.(s:STRING & GET_STRING_IS_DECIMAL(s) = TRUE| s) & f("10.0") = "10.0" & "a" /: dom(f)',
'-evalt', 'f = LET pat BE pat = "[a-z]+" IN %s.(s:STRING & REGEX_MATCH(s,pat)=TRUE | (pat,s)) END & f("abz")=r',
'-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"',
'-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
'-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
'-evalt', 'f = %x.(x /= "" | x^x) & f("a") = "aa"',
'-evalt', 'f = %x.("" /= x | x^x) & f("a") = "aa"',
'-evalt', 'f = %x.(x /= 0 | 100/x) & f(2) = 50',
'-evalt', 'f = %(x,y).(x /= 0 | y/x) & f(2,100) = 50',
'-evalt', 'f = %(x,y).(x /= y | y/(y-x)) & f(5,10) = 2',
'-evalt', 'f = %x.(x < y*y | x+x) & f(2)=res & y:3..5',
'-evalt', 'f = %x.(x > y*y | x+x) & f(200)=res & y:3..5',
'-evalt', 'f = %x.(x <= y*y | x+x) & f(2)=res & y:3..5',
'-evalt', 'f = %x.(x >= y*y | x+x) & f(200)=res & y:3..5',
'-evalt', 'f = %x.( y*y <= x | x+x) & f(200)=res & y:3..5'
], 'check detection of function as symbolic involving certain external predicates').
cli_testcase(2206, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents.mch', '-init',
'-p', 'TIME_OUT', '60000',
'-p', 'cdclt_perform_static_analysis', 'false',
'-p', 'cdclt_perform_symmetry_breaking', 'false',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'false',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem2.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug2.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug3.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd_contradiction.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/min_example_wd_problem2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v2_static_analysis_bug3.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd2.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SearchEvents/SearchEvents_monolithic_bmc_k_3_core_v3_wd_contradiction.eval'
], 'Test well-definedness issue for CDCL(T) solver to not report unsatisfiability for satisfiable formulas without static analysis and symmetry breaking: SearchEvents').
cli_testcase(2207, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/R6_Lights.eventb', '-init',
'-p', 'TIME_OUT', '60000',
'-p', 'cdclt_perform_static_analysis', 'true',
'-p', 'cdclt_perform_symmetry_breaking', 'false',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1_core.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1_core.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd_contradiction.eval'
], 'Test well-definedness issue for CDCL(T) solver to not report unsatisfiability for satisfiable formulas: LandingGearLights (static analysis but no symmetry breaking)').
cli_testcase(2208, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/R6_Lights.eventb', '-init',
'-p', 'TIME_OUT', '60000',
'-p', 'cdclt_perform_static_analysis', 'false',
'-p', 'cdclt_perform_symmetry_breaking', 'false',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1_core.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_1_core.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearLights/Ref6_CockpitLights_monolithic_bmc_k_6_wd_contradiction.eval'
], 'Test well-definedness issue for CDCL(T) solver to not report unsatisfiability for satisfiable formulas: LandingGearLights (no static analysis or symmetry breaking)').
cli_testcase(2209,[private_source_not_available],[
'../private_examples/ClearSy/2022/28_Apr/rule_RVF219/rule_RVF219_compo.mch',
'-execute_all', '-silent',
'-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',
'-evalt', 'card(caval__rule__2__ALL)=25504'
], 'Test performance issue with term_variables in exists').
cli_testcase(2210,[cbc,quantified,exists],[
'-evalt', '{x|x:1..10 & #y.(y>x & y*y >10)}=res',
'-evalt', 'card({x|x:1..10 & #y.(y>x & y*y >10)})=10'
], 'Check enumeration warning in existential quantifier not propagated out').
cli_testcase(2211,[wd,wd_prover],[
'-evalt', ':prove shock_absorber:INTEGER => not(shock_absorber : {ground,flight} \\ {shock_absorber})',
'-evalt', ':prove shock_absorber:INTEGER => (shock_absorber /: {ground,flight} \\ {shock_absorber})',
'-evalu', ':prove shock_absorber:INTEGER => not(shock_absorber /: {ground,flight} \\ {shock_absorber})',
'-evalt', ':prove x:INTEGER & x=shock_absorber => (x /: {ground,flight} \\ {shock_absorber})',
'-evalt', ':prove x:BOOL & x=shock_absorber => not(x : {ground,flight} \\ {shock_absorber})',
'-evalt', ':prove x<:BOOL & x /<: y => x/=y',
'-evalt', ':prove x<:BOOL & x /<: y => y/=x',
'-evalt', ':prove x<:BOOL & x /<: y => not(y=x)',
'-evalt', ':prove x>0 & y>0 => not(x>0 & y<=0)',
'-evalt', ':prove x>0 & y>0 => not(x<=0 & y>0)',
'-evalt', ':prove x>0 & y>0 => not(x<=0 & y<=1)',
'-evalu', ':prove x>0 & y>0 => not(x<=1 & y<=1)',
'-evalt', ':prove x>0 & y>0 => not(x<=0 or y<=0)',
'-evalu', ':prove x>0 & y>0 => not(x<=0 or y>0)',
'-evalt', ':prove x>0 => (y>0 => not(x<=0 or y<=0))',
'-evalt', ':prove x>0 => ( x=1 or x>1)',
'-evalu', ':prove x>0 => not( x=1 or x>1)',
'-evalt', ':prove x>0 => not( x/=1 & not(x>1))',
'-evalt', ':prove x>1 & y>2 => not( x>0 => not(y>2))',
'-evalt', ':prove a <:b & a /<<: {1,2} => b /<<: {1,2}', % requires to push all hyps (push_more_hyps option)
'-evalt', ':prove a ={} & b<:BOOL => b/<<:a',
'-evalt', ':prove a =BOOL & b<:BOOL => a/<<:b',
'-evalu', ':prove a ={} & b<:BOOL => a/<<:b',
'-evalu', ':prove a =BOOL & b<:BOOL => b/<<:a',
'-evalt', ':prove a ={} & b<:BOOL & a/=b => b/<:a',
'-evalt', ':prove a ={} & b<:BOOL & a/=b => not(b<:a)',
'-evalu', ':prove a ={} & b<:BOOL & a/=c => not(b<:a)',
'-evalt', ':prove a=b => (a>0 <=> b>0)',
'-evalu', ':prove a=b => (a>0 <=> b>=0)',
'-evalu', ':prove a>=b => (a>0 <=> b>0)',
'-evalt', ':prove a:INTEGER => (a>b <=> not(b>=a))',
'-evalt', ':prove a:INTEGER => not(a>b <=> not(a>b))',
'-evalu', ':prove a:INTEGER => not(a>b <=> not(a>=b))',
'-evalu', ':prove a<:BOOL => not(a<:b <=> b<:a)',
'-evalu', ':prove a<:BOOL => not(not(a<:b) <=> not(b<:a))',
'-evalt', ':prove a<:BOOL => not((a<:b) <=> not(a<:b))', % requires to push all hyps
'-evalt', ':prove a<:BOOL => not(not(a<<:b) <=> (a<<:b))', % ditto, requires push_more_hyps option
'-evalt', ':prove x<:INTEGER & inter({x,y,{1}}) : FIN(inter({x,y,{1}}))',
'-evalt', ':prove x<:POW(INTEGER) & inter({{1}}\\/x) : FIN(inter({{1}}\\/x))',
'-evalu', ':prove x<:POW(INTEGER) & inter({NATURAL}\\/x) : FIN(inter({NATURAL}\\/x))'
], 'check wd prover can deal with negations in goal').
cli_testcase(2212, [b_test,json_trace_replay], [
'../prob_examples/public_examples/B/Tester/Includes/InclQueue.mch',
'-trace_replay', 'json', '../prob_examples/public_examples/B/Tester/Includes/InclQueue.prob2trace'
], 'Check inclusion of machine with parameters').
cli_testcase(2213, [cbc,disprover,private], [
'../prob_examples/public_examples/ProofObligations/Tickets/TestPartialFunctionBuggyProofRule_ctx.pl',
'-check_disprover_result', 0,1,0,
'-p', 'DOUBLE_EVALUATION', 'TRUE',
'-export_po' % exercise the export_po_as_machine (nested_print_sequent_as_classicalb)
% this is also done in ProB for Rodin
],'Test this PO involving partial function cannot be proven').
cli_testcase(2214, [ltl], ['../prob_examples/public_examples/EventBPrologPackages/OperatingSystem/12301853/m03_proB_mch.eventb',
'--model-check', '-expcterr', 'model_check_incomplete' , '-cc', 465, 1662,
'-p', 'CLPFD', 'FALSE', '-p', 'MAX_OPERATIONS', 20,
'-ltlfile',
'../prob_examples/public_examples/EventBPrologPackages/OperatingSystem/12301853/LTL_m03.ltl'],
'Check Rodin LTL file format now supported').
cli_testcase(2215, [ltl], ['../prob_examples/public_examples/EventBPrologPackages/OperatingSystem/12301853/m06_proB_mch.eventb',
'--model-check', '-expcterr', 'model_check_incomplete' , '-cc', 309, 964,
'-p', 'CLPFD', 'FALSE', '-p', 'MAX_OPERATIONS', 30,
'-ltlfile',
'../prob_examples/public_examples/EventBPrologPackages/OperatingSystem/12301853/LTL_m06.ltl'],
'Check Rodin LTL file format now supported').
cli_testcase(2216, [ltl], ['../prob_examples/public_examples/EventBPrologPackages/OperatingSystem/12301853/m11_proB_mch.eventb',
'--model-check', '-cc', 105, 252,
'-p', 'CLPFD', 'FALSE', '-p', 'MAX_OPERATIONS', 30, '-p', 'MAX_INITIALISATIONS', 100,
'-ltlfile',
'../prob_examples/public_examples/EventBPrologPackages/OperatingSystem/12301853/LTL_m11.ltl'],
'Check Rodin LTL file format now supported').
cli_testcase(2217, [eventb_test,operation_reuse],
['../prob_examples/examples/RodinModels/Pacemaker/M4_VVIR_prob_mch.eventb',
'-mc', 100000, '-cc', 25814, 42617 , '-p', 'OPERATION_REUSE', 'TRUE', '-p', 'COMPRESSION', 'TRUE',
'-expcterr', 'model_check_incomplete'
], 'Check Pacemaker model with operation reuse.').
cli_testcase(2218, [eventb_test,operation_reuse],
['../prob_examples/examples/RodinModels/Pacemaker/M4_VVIR_prob_mch.eventb',
'-cbc', all,
'-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 100
], 'Check that all proof info available for Pacemaker model (with conjuncts as invariants).').
cli_testcase(2219, [tickets], ['../prob_examples/public_examples/B/ErrorMachines/ParseErrors/SemicolonError.mch',
'-expcterrpos', parse_error, 6, 17,
'-expcterrpos', parse_error, 8, 18, '-expcterr', 'load_main_file'
], 'Check semicolons detected'). % https://github.com/hhu-stups/prob-issues/issues/141
cli_testcase(2220, [b_test,json_trace_replay,visb], [
'../prob_examples/public_examples/B/VisB/TrafficLight/TrafficLight.mch', '-init',
'-visb-click', 'peds_green',
'-visb-click', 'peds_red',
'-visb-click', 'cars_yellow_1',
'-visb-click', 'cars_green',
'-visb-click', 'cars_yellow_2',
'-visb-click', 'cars_red',
'-visb-click', 'peds_green',
'-visb', '../prob_examples/public_examples/B/VisB/TrafficLight/traffic_light.json',
'../prob_examples/public_examples/B/VisB/TrafficLight/TrafficLight_Trace.html',
'-his', '../prob_examples/public_examples/B/VisB/TrafficLight/TrafficLight_Trace.txt'
%'-his_option','json' % cannot be tested for equality at moment because of metadata
],
'Check VisB click response').
cli_testcase(2221, [b_test,infinite,memoize,recursion], [
'../prob_examples/public_examples/B/RecursiveFunctions/Fibonacci_Memoized.mch', '-assertions', '-init',
'-csv', 'prob_memo_profile', 'user_output',
'-csv', 'constants_analysis', 'user_output',
'-assertions'],
'test new prob_memo_profile csv command').
cli_testcase(2222, [xtl,ctl], ['../prob_examples/public_examples/XTL/microwave.P',
'-ctlformulat', 'AG ({closed} or {open})',
'-ctlformulat', 'EF ( EG ({closed}))',
'-ctlformulaf', 'EG ({closed})',
'-ctlformulat', 'EF ({heat})',
'-ctlformulaf', 'EF ( AG ({closed}))',
'-ctlformulaf', 'AF ({heat})',
'-ctlformulat', 'AX ({closed})',
'-ctlformulat', 'AX AX({heat} or {open})'
], 'Testing CTL for XTL model').
cli_testcase(2223,[cbc,external],[
'-evalt', '{v|%(r,s).(r:INTEGER|r+s)(0|->%(x,y).(x:INTEGER|x*y)(v|->v))=10000} = {-100,100}',
'-evalt', '{v|%(r,s).(r:INTEGER|r*s)(v|->%(x,y).(x:INTEGER|x*y)(v|->v))=1000} = {10}',
'-evalt', '{v|%(r,s).(r:INTEGER|r*s)(v|->%(x,v).(x:INTEGER|x*v)(v|->v))=1000} = {10}',
'-evalf', '%(r,s).(r:INTEGER|r+s)(0|->%(x,y).(x:INTEGER|x*y)(v|->v))=1000',
'-evalf', '%(r,s).(r:INTEGER|r*s)(v|->%(x,y).(x:INTEGER|x*y)(v|->v))=10000',
'-evalf', '%(r,s).(r:INTEGER|r*s)(v|->%(x,v).(x:INTEGER|x*v)(v|->v))=10000',
'-evalt', '(%(x,y).(x:INTEGER|%v.(v:INTEGER|v+x*y))(v|->v))(0)=10000',
'-evalf', '(%(x,y).(x:INTEGER|%v.(v:INTEGER|v+x*y))(v|->v))(0)=1000',
'-evalt', '{v|(%(x,y).(x:INTEGER|%v.(v:INTEGER|v+x*y))(v|->v))(0)=10000}={-100,100}',
'-evalt', 's=STRINGIFY(%(r,s).(r:INTEGER|r*s)(v|->%(x,y).(x:INTEGER|x*y)(v|->v))) & s = "v * (v * v)"'
], 'Check lambda function call inlining').
cli_testcase(2224, [error_checks,wd], [
'../prob_examples/public_examples/B/FeatureChecks/DEFINITIONS/DefCallStackDisplay.mch',
'../prob_examples/public_examples/B/FeatureChecks/DEFINITIONS/DefCallStackDisplay2.mch',
'../prob_examples/public_examples/B/FeatureChecks/DEFINITIONS/DefCallStackDisplay3.mch',
'-model_check',
'-expcterr', well_definedness_error
],
'exercise printing of call stack').
cli_testcase(2225,[b_test,operation_calls_in_expr],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tickets/OpCallsInExpr/OpCallInExpression.mch',
'../prob_examples/public_examples/B/Tickets/OpCallsInExpr/OpCallInExpression_v4.mch',
'../prob_examples/public_examples/B/Tickets/OpCallsInExpr/OpCallInExpression2.mch',
'-mc', '1000',
'-assertions'
], 'Test calling operations in expressions mixed with allowing local calls').
cli_testcase(2226,[b_test,operation_calls_in_expr],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tickets/OpCallsInExpr/OpCallInExpression_v2.mch',
'-init',
'-expcterrpos', type_error, 13, 31, '-expcterr', load_main_file
], 'Detect erroneous operation call').
cli_testcase(2227,[b_test,operation_calls_in_expr],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tickets/OpCallsInExpr/OpCallInExpression_v3.mch',
'-init',
'-expcterrpos', type_error, 14, 11, '-expcterr', load_main_file
], 'Detect erroneous operation call').
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',
'-p', 'OPTIMIZE_AST', 'FALSE'], 'Test 297 without OPTIMIZE_AST.').
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').
cli_testcase(2230, [eventb_test, theories, json_trace_replay],
['-mc', 100, '-expcterr', 'model_check_incomplete', '-assertions',
'-trace_replay', 'json', '../prob_examples/public_examples/EventBPrologPackages/Theory/TestTheoryFloats1_mch.prob2trace',
'../prob_examples/public_examples/EventBPrologPackages/Theory/TestTheoryFloats1_mch.eventb'],
'Check support for real operators').
cli_testcase(2231, [eventb_test, theories, json_trace_replay,strings],
['-mc', 3, '-assertions', '-nodead',
'-p', 'AUTO_DETECT_THEORY_MAPPING', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Theory/StandardLibrary/RealTheoryTests1_ctx.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Theory/TestStringTheory1_ctx.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Theory/TestRealsOpTheory_ctx.eventb'],
'Check support for strings, unicode REAL and new preference').
cli_testcase(2232, [eventb_test, theories, clpfd_tables],
['-mc', 100, '-opterr', 'model_check_incomplete', '-assertions', '-nodead',
'-opterr', 'virtual_time_out',
'-p', 'AUTO_DETECT_THEORY_MAPPING', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Theory/StandardLibrary/Sampler_mch.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Theory/StandardLibrary/Sampler2_mch.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Theory/StandardLibrary/JobQueue_mch.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Theory/StandardLibrary/ConnectedNetwork_mch.eventb'],
% Sampler2 creates a simulation_error when using SICStus 4.7 standard table/2 constraint
'Check support for standard library without .ptm theory mapping file and fix issue with SICS table/2').
cli_testcase(2233, [cbc,sigma], [
'-evalt', ' data = {TRUE|->0, FALSE|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
'-evalt', ' data = {1|->0, 2|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
'-evalt', ' data = {1|->-1, 2|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-2',
'-evalt', ' data = {1|->1, 2|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=0',
'-evalt', ' data = {1|->-1, 2|->-1} & res = PI(x,y).(x|->y:data|y) & res=1',
'-evalt', ' data = {1|->0, 2|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res<0',
'-evalt', ' data = {1|->0, 2|->-1} & res = PI(x,y).(x|->y:data|y) & res=0',
'-evalt', ' data = {1|->2, 2|->-1} & res = PI(x,y).(x|->y:data|y) & res=-2',
'-evalt', ' data = {1|->0, 3|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
'-evalt', ' data = {1|->0, 2|->0, 3|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
'-evalt', ' data = {1|->0, 2|->0, 3|->-1, 4|->0} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
'-evalt', ' data = {1|->0, 2|->0, 3|->-1, 4|->0, -1|->0} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
'-evalt', ' data = {1|->0, 2|->0, 3|->-1, 4|->0, -1|->2} & res = SIGMA(x,y).(x|->y:data|y) & res=1',
'-evalt', ' data = {1|->0, 2|->0, 3|->-1, 5|->0, -11|->2} & res = SIGMA(x,y).(x|->y:data|y) & res=1',
'-evalt', ' data = {"a"|->0, "b"|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
'-evalt', ' data = {(1,1)|->0, (1,2)|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
'-evalt', ' data = {(1,1)|->0, (2,1)|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
'-evalt', ' data = {1|->0, 1|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
'-evalt', ' data = {(1,1)|->0, (1,1)|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
'-evalt', ' data = {(1,1)|->0, (1,1)|->-1, (1,2)|->0} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
'-evalt', ' data = {rec(f:1)|->0, rec(f:2)|->-1} & res = SIGMA(x,y).(x|->y:data|y) & res=-1',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
], 'check bug in clpfd:table/2 circumvented').
cli_testcase(2234, [tla,visb,cbc], ['../prob_examples/public_examples/TLA/TLA_Examples/EinsteinRiddle/Einstein.tla',
'-cbc', all, '-expecterr', cbc,
'-visb_with_vars', '../prob_examples/public_examples/TLA/TLA_Examples/EinsteinRiddle/Einstein_tla.json',
'../prob_examples/public_examples/TLA/TLA_Examples/EinsteinRiddle/Einstein.html'
], 'check TLA model can be solved and visualised'). % see also test 2090
cli_testcase(2235, [visb], ['../prob_examples/public_examples/B/Mathematical/AI/MCTS.mch',
'-animate', 100,
'-dot', 'custom_graph', '../prob_examples/public_examples/B/Mathematical/AI/MCTS_100.dot',
% we could also generate .pdf
'-visb_with_vars', '../prob_examples/public_examples/B/Mathematical/AI/MCTS_visb.json',
'../prob_examples/public_examples/B/Mathematical/AI/MCTS_100.html'
], 'check MCTS with VisB and CustomGraph').
cli_testcase(2236, [b_test,strings], [
'-evalt', ' size("a//") = 3',
'-evalt', ' size("a// ") = 4',
'-evalt', ' "abc//def" = "abc/" ^ "/def"',
'-evalt', ' size("a// ") = 4 // comment',
'-evalt', ' size("a// ") = /* comment */ 4 // comment',
'-evalt', ' size("a\\\\") = 2'
], 'check double slash in strings').
cli_testcase(2237, [laws], ['../prob_examples/public_examples/B/Laws/ArithmeticLaws.mch',
'../prob_examples/public_examples/B/Laws/ArithmeticExpLaws.mch',
'-p', 'CLPFD', 'FALSE',
'-mc', '100000', '-cs', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE'], 'Test 295 without CLPFD.').
cli_testcase(2238,[tickets,json_trace_replay],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tickets/Gruteser1/Ticket_clpfd_Rangierfahrt.mch',
'-trace_replay', 'json', '../prob_examples/public_examples/B/Tickets/Gruteser1/Ticket_clpfd_Rangierfahrt.prob2trace'
], 'Check opt_ground_atom accidental cut issue solved').
cli_testcase(2239,[tickets,json_trace_replay],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tickets/Gruteser1/Rangierfahrt0_prob.mch',
'-trace_replay', 'json', '../prob_examples/public_examples/B/Tickets/Gruteser1/ProblemTrace.prob2trace'
], 'Check opt_ground_atom accidental cut issue solved on larger example'). % step 24 is the important one
cli_testcase(2240,[tickets,operation_reuse,json_trace_replay],[ % prob-issues #238
'../prob_examples/public_examples/B/Tickets/Vu_TraceReplayOpReuse/Poker.mch', '-p', 'OPERATION_REUSE', 'TRUE',
'-trace_replay', 'json', '../prob_examples/public_examples/B/Tickets/Vu_TraceReplayOpReuse/Poker.prob2trace'
], 'Check operation caching copies max reached infos to ensure executed by predicate is used by trace replay').
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',
'-cc', '1361', '25696', '-p', 'MAX_INITIALISATIONS', 5], 'Ensure safety mc inspects entire state space').
cli_testcase(2242,[b_test,json_trace_replay],[
'../prob_examples/public_examples/B/Other/Leftpad/Leftpad_i.imp',
'-trace_replay', 'json', '../prob_examples/public_examples/B/Other/Leftpad/Leftpad_i.prob2trace'
], 'Check VALUES clause with interval as set').
cli_testcase(2243,[ltl,external],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/LTL/Tests/NonDetOutput.mch',
'-ltlformulat', 'G {GET_IS_DET("Set")=TRUE}',
'-ltlformulaf', 'G {GET_IS_DET_OUTPUT("Choose")=TRUE}',
'-ltlformulat', 'G {NON_DET_STATE=FALSE}',
'-ltlformulaf', 'G {NON_DET_OUTPUT_STATE=FALSE}',
'-ltlformulat', 'G {not("Set" : NON_DET_OUTPUT_OPERATIONS)}',
'-ltlformulaf', 'G {not("Choose" : NON_DET_OUTPUT_OPERATIONS)}'
], 'Check using external determinism checking functions in LTL').
cli_testcase(2244,[wd],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', ':check-ast x/0 = x mod 0',
'-evalt', ':check-ast first({})=1 => last({})=2',
'-evalt', ':check-ast last({})=1 => tail([3,2])=[2]',
'-evalt', ':check-ast (min({})=1 or max({})=1) <=> {}(2)>0',
'-evalt', ':check-ast (-1)**2 = x',
'-evalt', ':check-ast 2>3 => (-1)**2 = x',
'-evalt', ':check-ast #lkyde.(union(lkyde) <: {FALSE,TRUE})'
], 'Run a few ASTs with WD conditions through check-ast').
cli_testcase(2245,[b_test,refinement,json_trace_replay],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/FeatureChecks/InclusionChecks/SimpleRefSees/Ref1.ref',
'-trace_replay', 'json', '../prob_examples/public_examples/B/FeatureChecks/InclusionChecks/SimpleRefSees/Ref1.prob2trace'
], 'Check inclusion at abstract and refined level').
cli_testcase(2246,[b_test,refinement,json_trace_replay],[ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/KILOK/Aufteilung/Rangierfahrt_KI_prob.mch',
'-trace_replay', 'json', '../prob_examples/examples/B/KILOK/Aufteilung/Rangierfahrt_KI_prob.prob2trace'
], 'Check inclusion at abstract and refined level').
cli_testcase(2247,[b_test,refinement,json_trace_replay],[
'../prob_examples/examples/B/KILOK/Aufteilung/Rangierfahrt_KI.mch',
'-trace_replay', 'json', '../prob_examples/examples/B/KILOK/Aufteilung/Rangierfahrt_KI.prob2trace'
], 'Check inclusion at abstract and refined level, in particular for deferred sets'). % machine has invariant violation
cli_testcase(2248,[cbc,tickets],[
'-evalt', 'mousePositionBlockSlot : POW(INTEGER) & not(mousePositionBlockSlot = {})',
'-evalt', 'mp : POW(INTEGER) & isClickedBlock = mp & not(mp <: blockedTime) & not(mp = {})',
'-p', 'TRACE_INFO', 'TRUE', '-p', 'SMT', 'TRUE'
], 'Check trace value printing issue fixed').
cli_testcase(2249, [cdclt], [%'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/R4_Handle.eventb', '-init',
'-p', 'TIME_OUT', '60000',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/test.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_0.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction4.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution.eval',
%'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution2.eval', % timeout
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution3.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution4.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution2.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution3.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution5.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution6.eval',
%'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution7.eval', % timeout
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution8.eval',
%'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution9.eval', % timeout
%'-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
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/test.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_0.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction2.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction2.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction3.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction4.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution3.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution4.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution3.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution4.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution5.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution6.eval',
%'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution7.eval', % timeout
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution8.eval'
%'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution9.eval', % timeout
], 'Double check CDCL(T) solver for BMC constraints of Landing Gear R4 Handle').
cli_testcase(2250, [cdclt], [ %'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/R4_Handle.eventb', '-init',
'-p', 'TIME_OUT', '60000',
'-p', 'cdclt_perform_static_analysis', 'false',
'-p', 'cdclt_perform_symmetry_breaking', 'false',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/test.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_0.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction2.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction4.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution2.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution3.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution4.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution2.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution3.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution5.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution6.eval',
%'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution7.eval', % timeout
%'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution8.eval', % timeout
%'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution9.eval', % timeout
%'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution10.eval', % timeout
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/test.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_0.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction2.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction2.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction3.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction4.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution3.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution4.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution3.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution4.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution5.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution6.eval',
%'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution7.eval', % timeout
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution8.eval'
%'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution9.eval', % timeout
%'-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
], 'Double check CDCL(T) solver without static analysis and symmetry breaking for BMC constraints of Landing Gear R4 Handle').
cli_testcase(2251, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/R4_Handle.eventb', '-init',
'-p', 'TIME_OUT', '60000',
%'-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/test.eval', % timeout
%'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_0.eval', % unknown
%'-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1.eval', % unknown
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction2.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction2.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction3.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction4.eval',
'-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution.eval',
%'-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution2.eval', % unknown
'-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution3.eval',
%'-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution4.eval', % unkown
%'-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution.eval', % timeout
%'-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution2.eval', % unknown
'-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution3.eval',
%'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/test.eval', % unknown
%'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_0.eval', % unknown
%'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1.eval', % occasional unknown
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_contradiction2.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction2.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction3.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_contradiction4.eval',
'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution.eval',
%'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution2.eval', % occasional unknown
'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution3.eval'
%'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_1_solution4.eval', % unknown
%'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution.eval', % unknown
%'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LandingGearHandle/Ref4_ControllerHandle_monolithic_bmc_k_2_solution2.eval', % unknown
%'-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
], 'Double check Z3 interface for BMC constraints of Landing Gear R4 Handle').
cli_testcase(2252, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/PM_M0_AAI.eventb', '-init',
'-p', 'TIME_OUT', '60000',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Change_Pace_Int.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF_with_Sensor.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_ON.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Sense_ON.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_tic.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Change_Pace_Int.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF.eval',
%'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF_with_Sensor.eval', % timeout
%'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_ON.eval', % timeout
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Sense_ON.eval'
%'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_tic.eval' % timeout
], 'Double check CDCL(T) solver for inductive invariant constraints of a pacemaker model').
cli_testcase(2253, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/PM_M0_AAI.eventb', '-init',
'-p', 'TIME_OUT', '60000',
'-p', 'cdclt_perform_static_analysis', 'false',
'-p', 'cdclt_perform_symmetry_breaking', 'false',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Change_Pace_Int.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF_with_Sensor.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_ON.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Sense_ON.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_tic.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Change_Pace_Int.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF.eval',
%'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF_with_Sensor.eval', % timeout
%'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_ON.eval', % timeout
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Sense_ON.eval'
%'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_tic.eval' % timeout
], 'Double check CDCL(T) solver without static symmetry breaking and static analysis for inductive invariant constraints of a pacemaker model').
cli_testcase(2254, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/PM_M0_AAI.eventb', '-init',
'-p', 'TIME_OUT', '5000',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Change_Pace_Int.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF_with_Sensor.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_ON.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Sense_ON.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_tic.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Change_Pace_Int.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_OFF_with_Sensor.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Pace_ON.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_Sense_ON.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_tic.eval'
], 'Double check integration of Z3 for inductive invariant constraints of a pacemaker model').
cli_testcase(2255, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'maxNrOfInitialisations', '1',
'-p', 'TIME_OUT', '60000',
'../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/PM_M1_VOOR.eventb', '-init',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
%'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval', % timeout
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval'
], 'Double check CDCL(T) solver for inductive invariant constraints of a pacemaker model').
cli_testcase(2256, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'maxNrOfInitialisations', '1',
'-p', 'TIME_OUT', '60000',
'-p', 'cdclt_perform_static_analysis', 'false',
'-p', 'cdclt_perform_symmetry_breaking', 'false',
'../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/PM_M1_VOOR.eventb', '-init',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
%'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval', % timeout
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval'
%'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval' % timeout
], 'Double check CDCL(T) solver without static symmetry breaking and static analysis for inductive invariant constraints of a pacemaker model').
cli_testcase(2257, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'maxNrOfInitialisations', '1',
'-p', 'TIME_OUT', '20000',
'../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/PM_M1_VOOR.eventb', '-init',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval'
], 'Double check integration of Z3 for inductive invariant constraints of a pacemaker model').
cli_testcase(2258, [kodkod, tickets], [
'../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/PM_M1_VOOR.eventb',
'-init', '-p', 'SOLVER_FOR_PROPERTIES', 'kodkod'], 'Check division bug in Kodkod interval analysis').
cli_testcase(2259, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE',
'../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching.mch', '-init',
'-p', 'TIME_OUT', '60000',
'-evalt', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/core_bug.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_0.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_1.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_2.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_3.eval',
% same constraints but not considering the current state
'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/core_bug.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_0.eval',
'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_1.eval',
'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_2.eval',
'-evalt', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_3.eval'
], 'Double check integration of Z3 solver for BMC constraints of LargeBranching').
cli_testcase(2260, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase.tla', '-init',
'-p', 'TIME_OUT', '60000',
%'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_0.eval', % unknown in Gitlab pipeline
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_1.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_2.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_3.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_23.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_24.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_25.eval',
%'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_0.eval', % unknown in Gitlab pipeline
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_1.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_2.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_3.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_23.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_24.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/SimpleTwoPhase/SimpleTwoPhase_monolithic_bmc_k_25.eval'
], 'Double check integration of Z3 solver for BMC constraints of SimpleTwoPhase').
cli_testcase(2261, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'../prob_examples/public_examples/EventBPrologPackages/BinarySearch/binary_search_prob_mch.eventb', '-init',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_5.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_10.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_5.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_10.eval'
], 'Double check CDCL(T) solver for BMC constraints of a binary search model').
cli_testcase(2262, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'-p', 'cdclt_perform_static_analysis', 'false',
'-p', 'cdclt_perform_symmetry_breaking', 'false',
'../prob_examples/public_examples/EventBPrologPackages/BinarySearch/binary_search_prob_mch.eventb', '-init',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_5.eval',
%'-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
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_5.eval'
%'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_10.eval'
], 'Double check CDCL(T) solver without static symmetry breaking and static analysis for BMC constraints of a binary search model').
cli_testcase(2263, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'../prob_examples/public_examples/EventBPrologPackages/BinarySearch/binary_search_prob_mch.eventb', '-init',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_0.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_1.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_5.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_10.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_0.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_1.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_5.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BinarySearch/binary_search_prob_mch_monolithic_bmc_k_10.eval'
], 'Double check integration of Z3 for BMC constraints of a binary search model').
cli_testcase(2264, [cbc,tickets], [
'-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
'-evalt', 'x=SIGMA(y).(y:1..n|y) & x = PI(y).(y:1..n|y) & n:2..10'
], 'Check issue in norm_expr fixed').
cli_testcase(2265, [private], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '1000', '-p', 'CLPFD', 'FALSE', '-pref_group', 'integer', 'int32', '-noinv',
'-execute_all', '-animate_stats',
'-evalt', 'aa41=TRUE & aa42=FALSE & aa44=TRUE & aa45=FALSE & aa48=TRUE & aa50=TRUE & card(aa49)=160',
'../prob_examples/examples/B/ClearSy/Olaf/rule_Regle_P3_NID_C/rule_olaf_bugly.mch'],'Data validation run').
cli_testcase(2266,[private],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/ClearSy/Caval/N_ITERa_avec_DV_sans_DV/rule_avec_DV_bugly.mch',
'-execute_all', '-animate_stats',
'-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
'-p', 'TRY_FIND_ABORT', 'FALSE', '-p', 'DATA_VALIDATION', 'TRUE',
% '-p', 'LIFT_EXISTS', 'TRUE', % should also work without this
'-execute_expect_steps', 44,
'-evalt', 'card(aa100)=243 & aa101=TRUE & card(aa102)=128 & aa103=TRUE',
'-evalt', 'card(aa111)=234 & aa112=TRUE & card(aa119)=246 & aa120=TRUE',
'-evalt', 'card(aa96)=110 & aa97=TRUE & card(aa98)=110 & aa99=TRUE',
%'-silent',
'-noinv'], 'Scrambled version of test 1945').
cli_testcase(2267, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'../prob_examples/public_examples/B/Simple/TwoPurses.mch', '-init',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/TwoPurses/TwoPurses_monolithic_bmc_k_0.eval',
% '-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/TwoPurses/TwoPurses_monolithic_bmc_k_1.eval', % sometimes times out
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/TwoPurses/TwoPurses_monolithic_bmc_k_0.eval'
%'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/TwoPurses/TwoPurses_monolithic_bmc_k_1.eval' % successful but takes some time
], 'Double check CDCL(T) solver for BMC constraints of a simple model with nested quantified formulas and WD conditions.').
cli_testcase(2268,[private],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/ClearSy/Caval/rule_SSO_SLOT_MSG_ID_SET_SSO_Well_def/rule_SSO_SLOT_bugly.mch',
'-execute_all', '-animate_stats',
'-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
'-p', 'DATA_VALIDATION', 'TRUE',
'-p', 'COMPRESSION', 'TRUE',
'-execute_expect_steps', 6,
'-evalt', 'aa33=TRUE & aa34=TRUE & aa36=TRUE & aa37=TRUE & aa39=TRUE & aa40=FALSE & aa41={} &aa42=TRUE & aa43=FALSE',
'-silent'
], 'Scrambled version of 1950; ensure wd-problem solved').
cli_testcase(2270,[private],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/ClearSy/Caval/rule_Test__RGP_71237__RI_091/rule_DebugPv10_bugly.mch',
'../prob_examples/examples/B/ClearSy/Caval/rule_Test__RGP_71237__RI_091/rule_DebugPv11_bugly.mch',
'-execute', 9, '-animate_stats', '-silent',
'-evalt', 'aa650=FALSE & aa651=TRUE & aa718=TRUE & aa716=TRUE & aa717=(NATURAL1 * {[]}) & aa721=(NATURAL1 * {FALSE})',
'-p', 'CLPFD', 'FALSE', '-p', 'TIME_OUT', 1000,
'-p', 'DATA_VALIDATION', 'TRUE',
'-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.').
cli_testcase(2271,[private],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/ClearSy/Caval/2019_June/string_tail/rule_nok_bugly.mch',
'-execute', 4, '-animate_stats', '-silent',
'-expcterr', deadlock,
'-execute_expect_steps', 3,
'-evalt', 'aa747=TRUE',
'-evalt', 'aa748=FALSE & aa749={({}|->TRUE)}'
], 'Scrambled version of test 1973, Ensure pending co-routing in reverse of sequence solved').
cli_testcase(2272,[private],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/ClearSy/Caval/2019_June/performance/toto_ko_bugly.mch',
'-execute', 4, '-animate_stats', '-expcterr', deadlock,
'-execute_expect_steps', 3,
'-evalt', 'aa6=TRUE',
'-evalt', 'aa7=TRUE',
'-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').
cli_testcase(2273,[private],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', % Note: generated virtual timeout, no longer does after override does not try to expand symbolic closures anymore
'../prob_examples/examples/B/ClearSy/Caval/2019_Aug/call_residue/rule_erreur_bugly.mch',
'-p', 'RAISE_ABORT_IMMEDIATELY', 'FALSE', % necessary as of 3974491412f39ab8b6beea3d2a7c47e7c56315ae
'-execute_all', '-animate_stats', '-noinv',
'-execute_expect_steps', 23,
'-evalt', 'aa518=TRUE',
'-evalt', 'aa553=TRUE',
'-evalt', 'aa555=TRUE'], 'Scrambled version of test 1977; Ensure we have no call_residue internal error').
cli_testcase(2274,[private],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/ClearSy/Caval/2019_Sep/rule_dummy/rule_dummy_acc_bugly.mch',
'-execute_all', '-animate_stats', '-noinv',
'-execute_expect_steps', 3,
'-evalt', 'aa32=TRUE',
'-evalt', 'card(aa33)=4299'
], 'Scrambled version of 1980, Ensure that compilation of set_extension works properly').
cli_testcase(2275,[private,regex],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/ClearSy/Caval/2019_Sep/non_ground_closure/rule_bugly.mch',
'-execute_all', '-animate_stats', '-noinv',
'-execute_expect_steps', 13,
'-evalt', 'aa155=TRUE',
'-evalt', 'aa157=TRUE',
'-evalt', 'card(aa158)=254',
'-evalt', 'aa159=TRUE',
'-evalt', 'card(aa160)=254'
], 'Scrambled version of 1981; Ensure that no internal error due to non-ground closure').
cli_testcase(2276,[private],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'TRUE',
'-p', 'DATA_VALIDATION', 'TRUE',
'../prob_examples/examples/B/ClearSy/Caval/2020/01_Jan/regressions2/rule_Regle_Transverse_Variable_Q_DIR/rule_bugly.mch', '-p', 'BUGLY', 'TRUE',
'-execute_all', %'-silent',
'-animate_stats',
'-execute_expect_steps', 6,
'-evalt', 'aa40=TRUE & aa42=TRUE & aa44=TRUE & aa46=TRUE',
'-evalt', 'card(aa41) = 1187 & card(aa47) = 180'
], 'Scrambled version of test 2002, Ensure useless existentially quantified variable (value) does not perturb enumeration').
cli_testcase(2277,[private],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'TRUE',
'-p', 'DATA_VALIDATION', 'TRUE',
'../prob_examples/examples/B/ClearSy/Caval/2020/01_Jan/ticket_record_typing/ruleERR_missingdata_bugly.mch',
'-execute_all',
'-execute_expect_steps', 3, %'-silent',
'-evalt', 'aa646=TRUE',
'-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)}'
], 'Scrambled version of 2003; Ensure problem with type checker and wrongly sorted record fields solved').
cli_testcase(2278,[private],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'TRUE',
'-p', 'DATA_VALIDATION', 'TRUE',
'../prob_examples/examples/B/ClearSy/Caval/2020/01_Jan/ticket_record_typing/ruleOK_noExpectedName_bugly.mch',
'-execute_all', '-execute_expect_steps', 3,
'-silent',
'-evalt', 'caval__rule__1__done=TRUE',
'-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)} '
], 'Scrambled version of test 2004; Variation of test 2003 with file which did not exhibit initial problem').
cli_testcase(2279,[private],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'FALSE',
'-p', 'DATA_VALIDATION', 'TRUE',
'../prob_examples/examples/B/ClearSy/Caval/2020/01_Jan/memory/Debug__2486__INF/rule_OPS_SDS_2486/rule_bugly.mch',
%'../private_examples/ClearSy/2020/01_Jan/memory/Debug__2486__TO_STRING/rule_OPS_SDS_2486/rule.mch',
'-execute', 4, %'-execute_all', '-execute_expect_steps', 5, %'-silent',
'-animate_stats',
'-evalt', 'aa151=TRUE & aa153=TRUE & aa155=FALSE'
], '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.').
cli_testcase(2280, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'-p', 'cdclt_perform_symmetry_breaking', 'true',
'../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M0_mch.eventb', '-init',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M0_mch_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M0_mch_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M0_mch_monolithic_bmc_k_2.eval',
'-eval', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M0_mch_monolithic_bmc_k_0.eval',
'-eval', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M0_mch_monolithic_bmc_k_1.eval',
'-eval', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M0_mch_monolithic_bmc_k_2.eval'
], 'Double check CDCL(T) solver for BMC constraints that cannot be decided due to the use of unfixed deferred sets.').
cli_testcase(2281, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'-p', 'cdclt_perform_symmetry_breaking', 'true',
'../prob_examples/public_examples/EventBPrologPackages/SSF/Bepi_Soton/M1_mch.eventb', '-init',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M1_mch_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M1_mch_monolithic_bmc_k_1.eval',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M1_mch_monolithic_bmc_k_2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M1_mch_monolithic_bmc_k_0.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M1_mch_monolithic_bmc_k_1.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Bepi_Soton/M1_mch_monolithic_bmc_k_2.eval'
], 'Double check CDCL(T) solver for BMC constraints some of which cannot be decided due to the use of unfixed deferred sets.').
cli_testcase(2282, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'-p', 'cdclt_use_idl_theory_solver', 'true',
'../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/PM_M0_AAI.eventb', '-init',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_1.eval',
'-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
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_2.eval'
], 'Double check CDCL(T) solver for BMC constraints including IDL constraints.').
cli_testcase(2283,[private_source_not_available],[
'-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 20000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
'../private_examples/ClearSy/2023/rules_GDE_TAILLE_loss/rule_CHAMPS_COMMUNS_AUX_FICHIERS_MCMDORIGINE_RVF64_MCMD_FOLIO.mch',
'-execute_all', '-execute_expect_steps', 10, %'-silent',
'-animate_stats',
'-evalt', 'card(caval__rule__3__ALL)=426',
'-evalt', 'card(caval__rule__4__ALL)=395',
'-evalt', 'card(caval__rule__6__ALL)=395',
'-evalt', 'card(caval__rule__8__ALL)=563',
'-evalt', 'caval__rule__8__done=TRUE'
], 'Issue with allow_to_lift_exists annotation for domain/range solved.'). % takes about 70 seconds; has strongly nested type with huge cardinalities
cli_testcase(2284,[tickets],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '{x|x<:BOOL & card(x) <= 0} = {{}}',
'-evalt', '{x|x<:BOOL & card(x) = 0} = {{}}',
'-evalt', '{x|x<:BOOL & card(x) > 0} = {{TRUE,FALSE},{TRUE},{FALSE}}',
'-evalt', '{x|x<:BOOL & card(x) >= 1} = {{TRUE,FALSE},{TRUE},{FALSE}}'
], 'Detect card to equal/not_equal empty_set transformations work correctly').
cli_testcase(2285,[b_test,refinement,json_trace_replay],[
'../prob_examples/public_examples/B/Tester/TraceReplay/CheckOptimizedReplay.mch',
'-expcterr', 'replay_json_trace_file', % it is actually a warning for imprecise replay
'-expcterr', 'trace_replay', % ditto
'-evalt', 'cnt=5 & pc=1', % check we are in right end state
'-trace_replay', 'json', '../prob_examples/public_examples/B/Tester/TraceReplay/CheckOptimizedReplay.prob2trace'
], 'Check flexible replay where parameter is negated').
cli_testcase(2286,[infinite,cbc],[
'-evalt', 'closure1({1|->2,2|->3}) : 1..3 <-> 1..3',
'-evalf', 'closure({1|->2,2|->3}) : 1..3 <-> 1..3',
'-evalf', 'closure({1|->2,2|->3}) : INTEGER <-> 1..3',
'-evalf', 'closure({1|->2,2|->3}) : 1..3 <-> INTEGER',
'-evalf', 'closure({1|->2,2|->3}) : 1..3 <->> 1..3',
'-evalf', 'closure({1|->2,2|->3}) : 1..3 <<-> 1..3',
'-evalf', 'closure({1|->2,2|->3}) : 1..3 <<->> 1..3',
'-evalf', 'closure({1|->2,2|->3}) : 1..3 +-> 1..3',
'-evalf', 'closure({1|->2,2|->3}) : 1..3 +->> 1..3',
'-evalf', 'closure({1|->2,2|->3}) : 1..3 --> 1..3',
'-evalf', 'closure({1|->2,2|->3}) : 1..3 -->> 1..3',
'-evalf', 'closure({1|->2,2|->3}) : 1..3 >-> 1..3',
'-evalf', 'closure({1|->2,2|->3}) : 1..3 >->> 1..3',
'-evalf', 'closure({1|->2,2|->3}) : 1..3 >+> 1..3',
'-evalt', 'f=%x.(x:INTEGER|x*x) & f:INTEGER +-> INTEGER',
'-evalf', 'f=%x.(x:INTEGER|x*x) & f:INTEGER >+> INTEGER'
% does not work yet: closure({1|->2,2|->3}) /: 1..3 <-> 1..3
], 'Check infinite reflexive closure result can be checked symbolically').
cli_testcase(2287,[private_source_not_available],[
'-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 25000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
'../private_examples/ClearSy/2023/Machines_perf_0111/Thales_All/rule_zcpa2.mch',
'-noinv', % there are invariant violations
'-execute_all', '-execute_expect_steps', 5, %'-silent',
'-animate_stats',
'-evalt', 'caval__rule__1__done=TRUE & caval__rule__2__done=TRUE',
'-evalt', 'card(caval__rule__1__ALL)=96',
'-evalt', 'card(caval__rule__2__ALL)=17'
], 'Issue with virtual timeout in exists for rel_composition/iterate solved.'). % takes about 30 seconds
cli_testcase(2288, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '20000',
'../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/PM_M0_AAI.eventb', '-init',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_0.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_1.eval',
'-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
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_0.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_1.eval',
'-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_AAI/M0_AAI_monolithic_bmc_k_2.eval'
], 'Double check Z3 solver for BMC constraints including IDL constraints.').
cli_testcase(2289, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '1000',
'-p', 'z3_solve_for_animation', 'true',
'../prob_examples/public_examples/B/SmtSolverTests/unfixed_deferred_sets/simple_unfixed_deferred_sets.mch', '-init',
'-evalt', ':z3-double-check f:BOOL --> DS3',
'-evalt', ':z3-double-check f:BOOL >-> DS3',
'-evalf', ':z3-double-check !x.(x:INTEGER => card(DS) = x)',
'-evalf', ':z3-double-check !x.(x:INTEGER => card(DS3) = x)',
'-evalf', ':z3-double-check f:1..4 >-> DS3',
'-evalf', ':z3-double-check f:1..4 >->> DS3',
'-evalf', ':z3-double-check f:BOOL -->> DS3',
'-evalt', ':z3-double-check x:INTEGER & card(DS) = x',
'-evalt', ':z3-double-check x:INTEGER & card(DS3) = x',
'-evalt', ':z3-double-check f:1..3 -->> DS3',
'-evalt', ':z3-double-check f:BOOL <-> DS3',
'-evalt', ':z3-free-double-check f:BOOL --> DS3',
'-evalt', ':z3-free-double-check f:BOOL >-> DS3',
'-eval', ':z3-free-double-check !x.(x:INTEGER => card(DS) = x)', % unfixed deferred set
'-eval', ':z3-free-double-check !x.(x:INTEGER => card(DS3) = x)', % unfixed deferred set
'-eval', ':z3-free-double-check f:1..4 >-> DS3', % unfixed deferred set
'-eval', ':z3-free-double-check f:1..4 >->> DS3', % unfixed deferred set
'-eval', ':z3-free-double-check f:BOOL -->> DS3', % unfixed deferred set
'-evalt', ':z3-free-double-check x:INTEGER & card(DS) = x',
'-evalt', ':z3-free-double-check x:INTEGER & card(DS3) = x',
'-evalt', ':z3-free-double-check f:1..3 -->> DS3',
'-evalt', ':z3-free-double-check f:BOOL <-> DS3',
'-eval', ':z3-free-double-check f:1..5 -->> (DS3*(1..2))', % nested unfixed deferred set
'-eval', ':z3-free-double-check f:1..6 -->> (DS3*(1..2))'
], 'Double check Z3 solver for constraints involving unfixed deferred sets.').
cli_testcase(2290, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'../prob_examples/public_examples/B/SmtSolverTests/unfixed_deferred_sets/simple_unfixed_deferred_sets.mch', '-init',
'-evalt', ':cdclt-double-check f:BOOL --> DS3',
'-evalt', ':cdclt-double-check f:BOOL >-> DS3',
'-evalf', ':cdclt-double-check !x.(x:INTEGER => card(DS) = x)',
'-evalf', ':cdclt-double-check !x.(x:INTEGER => card(DS3) = x)',
'-evalf', ':cdclt-double-check f:1..4 >-> DS3',
'-evalf', ':cdclt-double-check f:1..4 >->> DS3',
'-evalf', ':cdclt-double-check f:BOOL -->> DS3',
'-evalt', ':cdclt-free-double-check x:INTEGER & card(DS) = x',
'-evalt', ':cdclt-free-double-check x:INTEGER & card(DS3) = x',
'-evalt', ':cdclt-double-check f:1..3 -->> DS3',
'-evalt', ':cdclt-double-check f:BOOL <-> DS3',
'-evalt', ':cdclt-free-double-check f:BOOL --> DS3',
'-evalt', ':cdclt-free-double-check f:BOOL >-> DS3',
'-eval', ':cdclt-free-double-check !x.(x:INTEGER => card(DS) = x)', % unfixed deferred set
'-eval', ':cdclt-free-double-check !x.(x:INTEGER => card(DS3) = x)', % unfixed deferred set
'-eval', ':cdclt-free-double-check f:1..4 >-> DS3', % unfixed deferred set
'-eval', ':cdclt-free-double-check f:1..4 >->> DS3', % unfixed deferred set
'-eval', ':cdclt-free-double-check f:BOOL -->> DS3', % unfixed deferred set
'-evalt', ':cdclt-free-double-check x:INTEGER & card(DS) = x',
'-evalt', ':cdclt-free-double-check x:INTEGER & card(DS3) = x',
'-evalt', ':cdclt-free-double-check f:1..3 -->> DS3',
'-evalt', ':cdclt-free-double-check f:BOOL <-> DS3',
'-eval', ':cdclt-free-double-check f:1..5 -->> (DS3*(1..2))', % nested unfixed deferred set
'-eval', ':cdclt-free-double-check f:1..6 -->> (DS3*(1..2))'
], 'Double check CDCL(T) solver for constraints involving unfixed deferred sets.').
cli_testcase(2291, [external,reals,wd], [
'-evalt', 'max({2.0,3.0,x})=r & x:{2.0,4.1} & r>3.0',
'-evalt', 'min({2.0,3.0,x})=r & x:{2.0,1.1} & r<2.0',
'-evalf', 'min({2.0,3.0,x})=r & x:{2.0,4.1} & r>3.0',
'-evalt', 'max(ran(%x.(x:1..100|2.0 / real(x)))) = 2.0',
'-evalt', 'min(ran(%x.(x:1..100|2.0 / real(x)))) = 0.02',
'-evalt', 'min(ran(%x.(x:1..100|-2.0 / real(x)))) = -2.0',
'-evalt', ':wd ll<:REAL & ll/={} & ll:FIN(ll) & ff=max(ll)', % from test 2018 with REAL
'-evalt', ':wd ll<:REAL & ll/={} & ll:FIN(ll) & ff=min(ll)',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE'
], 'check min and max work with reals').
cli_testcase(2292, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '1000',
'-p', 'z3_solve_for_animation', 'true',
'../prob_examples/public_examples/TLC/NoError/safecap2549260349036854403.mch', '-init',
'-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))}',
'-eval', ':z3-double-check not(tl : TRAIN +-> AMBIT) & tl = {tt |-> AD}',
'-eval', ':z3-double-check aa : TRAIN -->> AMBIT',
'-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))}',
'-eval', ':z3-free-double-check not(tl : TRAIN +-> AMBIT) & tl = {tt |-> AD}',
'-eval', ':z3-free-double-check aa : TRAIN -->> AMBIT'
], 'Double check Z3 solver for constraints involving unfixed deferred sets.').
cli_testcase(2293, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'../prob_examples/public_examples/TLC/NoError/safecap2549260349036854403.mch', '-init',
'-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))}',
'-eval', ':cdclt-double-check not(tl : TRAIN +-> AMBIT) & tl = {tt |-> AD}',
'-eval', ':cdclt-double-check aa : TRAIN -->> AMBIT',
'-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))}',
'-eval', ':cdclt-free-double-check not(tl : TRAIN +-> AMBIT) & tl = {tt |-> AD}',
'-eval', ':cdclt-free-double-check aa : TRAIN -->> AMBIT'
], 'Double check CDCL(T) solver for constraints involving unfixed deferred sets.').
cli_testcase(2294, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'../prob_examples/public_examples/B/PerformanceTests/ModelChecking/BooleanFunctions.mch', '-init',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BooleanFunctions/BooleanFunctions_monolithic_bmc_k_3.eval',
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BooleanFunctions/BooleanFunctions_monolithic_bmc_k_4.eval', % sometimes throws enumeration warning
% '-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
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BooleanFunctions/BooleanFunctions_monolithic_bmc_k_6.eval', % can take some time
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BooleanFunctions/BooleanFunctions_monolithic_bmc_k_3.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BooleanFunctions/BooleanFunctions_monolithic_bmc_k_4.eval'
% '-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BooleanFunctions/BooleanFunctions_monolithic_bmc_k_5.eval' % sometimes unknown on buildbot
%'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/BooleanFunctions/BooleanFunctions_monolithic_bmc_k_6.eval' % can take some time
], 'Double check CDCL(T) solver for constraints involving choice points within ProB\'s constraint solver for which we use chronological backtracking instead of backjumping.').
cli_testcase(2295, [eventb_test, theories], [
'-p', 'AUTO_DETECT_THEORY_MAPPING', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Theory/Float/ctx_float_tests_nodiv_ctx.eventb',
'-assertions'],
'Check that Event-B float theory with inductive datatype').
cli_testcase(2296, [cbc], [
'../prob_examples/public_examples/EventBPrologPackages/Tickets/Cansell_RingLead/elect2_2_mch.eventb',
'-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').
cli_testcase(2297, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '{y|y<:BOOL & %x.(x:INTEGER|x+1)(card(y))=2} = {{FALSE},{TRUE}}',
'-evalt', '{x|x<:BOOL & %x.(x:INTEGER|x+1)(card(x))=2} = {{FALSE},{TRUE}}',
'-evalt', '{v|(%(x,v).(x:INTEGER|x*v)(v|->v))=100} = {-10,10}'
], 'Check no issues with variable clashes and lambda function (inlining)').
cli_testcase(2298,[private_source_not_available],[
'-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 20000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
'../private_examples/ClearSy/2019_May/perf_3264/rule_186.mch',
'-execute', 49, %'-silent',
'-animate_stats',
'-evalt', 'card(ic___OPS_SDS_3264_BBS)=218',
'-evalt', 'card(ic___OPS_SDS_3264_DPS)=185',
'-evalt', 'card(ic___edge_chaining)=304',
'-evalt', 'card(ic___ns___edge_paths)=17186',
'-evalt', 'caval__ic___ns___edge_paths__initialized=TRUE',
'-evalt', 'caval__ic___edge_normal_chaining__done=TRUE',
'-evalt', 'caval__ic___OPS_SDS_3264_OTHER_DP_IN_BLOCK__done = TRUE',
'-evalt', 'caval__acc___edge__LINK_DOWN_TANGENT__done=TRUE'
], 'Issue with lambda treatment of b_test_closure.'). % takes about 62 seconds for 49 steps; difficult step is number 51
cli_testcase(2299, [cbc,cbc_tests], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/TestCaseGeneration/Ontology/Person_incremental.mch',
'-cbc_sequence_with_target', 'add', '{(hasSpeed |-> 0)} : dom(testcases)',
'-cbc_sequence_with_target', 'add', '{(hasSpeed |-> 1)} : dom(testcases)'
], 'Check issue with expansion of large set solved').
cli_testcase(2300, [cbc], [%'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '/*@symbolic */ {x|x:1..100000000 & x / 22 > 10} = x & (x={} <=> B=TRUE)',
'-evalt', '/*@symbolic */ {x|x>2 & x / 22 > 10} = x & (x={} <=> B=TRUE)',
'-evalf', '/*@symbolic */ {x|x>2 & x / 22 > 10} = x & (x={} <=> B=TRUE) & /*@symbolic */ {x|x>2 & x / 23 > 11} = x & (x={} <=> B=FALSE)',
'-evalt', '/*@symbolic */ {x|x>2 & x / 22 > 10} = x & (x*{1}) /= (x*{2})',
% some with WD conditions:
'-evalt', '/*@symbolic */ {x|x:1..100000000 & x mod 22=1} = x & (x={} <=> B=TRUE)',
'-evalt', '/*@symbolic */ {x|x>2 & x mod 22=1} = x & (x={} <=> B=TRUE)',
'-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)',
'-evalt', '/*@symbolic */ {x|x>2 & x mod 22=1} = x & (x*{1}) /= (x*{2})',
'-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))) '
], 'Check that empty-ness check of closures has been improved').
cli_testcase(2301, [csp_test], [
'../prob_examples/public_examples/CSP/Tickets/304/SetChannelSynchronisation.csp',
'-t'
], 'Check issue 304 with synchronisation of CSP sets').
cli_testcase(2302, [cbc], [%'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'id0 <: {1} & INTEGER - id0 +-> {} : FIN1(INTEGER +-> {})',
'-evalt', 'id0 <: {1} & INTEGER - id0 +-> {} : POW1(INTEGER +-> {})',
'-evalt', 'id0 <: {1} & INTEGER - id0 +-> {} : FIN(INTEGER +-> {})',
'-evalt', 'INTEGER --> {1} : FIN1(INTEGER --> {1})'
], 'Check no problem with inf Prolog term for cardinality').
cli_testcase(2303, [infinite,b_test,json_trace_replay], [
'../prob_examples/public_examples/B/PerformanceTests/DeferredSets/InfiniteDeferredSets.mch',
'../prob_examples/public_examples/B/PerformanceTests/DeferredSets/InfiniteDeferredSets2.mch',
'-trace_replay', 'json', % model name removed in trace file
'../prob_examples/public_examples/B/PerformanceTests/DeferredSets/InfiniteDeferredSets.prob2trace',
'-expcterr', 'virtual_time_out', % TODO: should this be generated here?
'-evalt', 'ID2 /= ID3 & {iv}:FIN1(ID) & {iv,ID2,ID3,ID4}:FIN1(ID)',
'-evalt', '#ss.(ss<:ID & card(ss) = 3)',
'-evalt', '#ss.(ss<:ID & card(ss) = 20)',
'-evalt', 'ss={iv,ID2,ID3,ID4} & ii /: ss',
'-evalf', 'ID : FIN(ID)',
'-evalt', 'not(ID = {iv})',
'-evalf', '(ID = {iv})',
'-evalt', 'iv:ID',
'-evalt', '#x.(x /= iv)',
'-evalt', 'not(#x.(ID = {x}))',
'-evalf', '(#x.(ID = {x}))',
'-evalf', '(B=TRUE <=> ({x}=ID)) & (B=TRUE <=> ({x} /= ID))',
'-evalt', 'f:BOOL >-> ID',
'-evalf', 'f:BOOL >->> ID'
], 'Check issue 304 with synchronisation of CSP sets').
cli_testcase(2304, [wd,wd_prover], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/ProofDirected/benchmarks/mondex_m3.eventb',
'-silent',
'-wd', 65, 72, '-timeout', 400 % timeout per PO
], 'Test we no longer prove all POs'). % some were unprovable, old remove_finite cleanup rule was unsound for proving
cli_testcase(2305, [external,reals,json_trace_replay], [
'../prob_examples/public_examples/B/Tester/TraceReplay/TestNonDetInitReplayReals.mch',
'-trace_replay', 'json', '../prob_examples/public_examples/B/Tester/TraceReplay/TestNonDetInitReplayReals.prob2trace',
'-evalt', 'ff(aa)=30.0 & ff(bb)=21.0'
], 'Check trace replay with becomes element of :: and reals work').
cli_testcase(2306, [infinite,eventb_test,json_trace_replay], [
'../prob_examples/examples/EventBPrologPackages/SEMCODT/MachineSystemLibrary_mch.eventb',
'-expcterr', 'virtual_time_out', % TODO: should this be generated here?
'-trace_replay', 'json', '../prob_examples/examples/EventBPrologPackages/SEMCODT/MachineSystemLibrary_mch.prob2trace'
], 'Check infinite deferred set works').
cli_testcase(2307, [b_test,let], [%'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'LET x BE x=1+1 IN %y.(y:0..x|y+x+x) END (x) = res & x=0 & res=4',
'-evalf', 'LET x BE x=1+1 IN %y.(y:0..x|y+x+x) END (x) = res & x=0 & res=6',
'-evalt', 'LET x BE x=1+1 IN %y.(y:0..x|y+x+x) END (xx) = res & xx=0 & res=4'
], 'Check lambda inlining with LET expressions').
cli_testcase(2308, [external,reals,json_trace_replay], [
'../prob_examples/public_examples/B/ErrorMachines/UninitialisedVAR/Person_LeiTai.mch',
'-trace_replay', 'json', '../prob_examples/public_examples/B/ErrorMachines/UninitialisedVAR/Person_LeiTai.prob2trace',
%Note: if we animate one step further we get a problem reading an uninitialised variable
'-evalt', 'card(testcases)=16'
], 'Check no time-out in invariant due to closure expansion for WF priority').
cli_testcase(2309, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-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
'-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
'-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
'-evalt', ':cdclt-double-check x:INTEGER & s:POW(1..10) & x=min(s)', % add s/={}
'-evalt', ':cdclt-double-check x:INTEGER & s:POW(1..10) & x=max(s)', % add s/={}
'-evalt', ':cdclt-double-check x:INTEGER & {(1,2)}(x)=2', % add x:dom({(1,2)})
'-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
'-evalt', ':cdclt-double-check #(y,n).(y:-10..10 & n:-10..10 & IF n>7 THEN 1/y ELSE 1/n END<100)',
'-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))'
], 'Check rewriting of if- and let-expressions and some WD conditions for the SMT solver').
cli_testcase(2310,[private_source_not_available],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../private_examples/ClearSy/2023/rules_GDE_TAILLE_loss/rule_CHAMPS_COMMUNS_AUX_FICHIERS_MCMDORIGINE_RVF64_MCMD_FOLIO.mch',
'-execute_all', '-animate_stats', '-noinv',
'-execute_expect_steps', 10, '-p', 'TIME_OUT', 30000,
'-evalt', 'caval__rule__8__done=TRUE',
'-evalt', 'card(caval__rule__3__ALL)=426 & card(caval__rule__4__ALL)=395 & card(caval__rule__6__ALL)=395' ],
'Ensure no timeout due to exists not lifted'). % now takes about 70 seconds for 10 steps; see e99501de85ca9cba167aec3cbae67c1271121b32
cli_testcase(2311, [proz,json_trace_replay], [
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/Z/Daniel/Praxis/network2.tex',
'-trace_replay', 'json', '../prob_examples/public_examples/Z/Daniel/Praxis/network2.prob2trace',
'-evalt', 'card({wsIdle,wsEditing})=2',
'-evalt', 'wsWaiting({1}) = wsWaiting({x})'
], 'Check JSON trace replay works with freetype ids in trace').
cli_testcase(2312, [eventb_test, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/ListTest1.eventb', '-init',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'cons(2,nil) /= nil',
'-evalf', 'cons(2,nil) = cons(3,x)',
'-evalt', 'cons(x,nil) /= nil & x>2 & x<10',
'-evalt', 'card({cons(2,nil) , cons(3,nil)})=2',
'-evalt', 'cons(TRUE,nil) /= cons(FALSE,nil)'
% '-evalt', 'card({cons(2,nil) , cons(3,nil)})=2 & cons(TRUE,nil) /= cons(FALSE,nil)' % does not work yet; type error
], 'Checking using polymorphic freetype constructors in formulas').
cli_testcase(2313,[private],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'FALSE',
'-p', 'DATA_VALIDATION', 'TRUE',
'../prob_examples/examples/B/ClearSy/Caval/2023/Machines_perf0323/Lowesoft/rule_Eq_9_internal_bugly.mch',
'-execute_all', '-execute_expect_steps', 4, %'-silent',
'-animate_stats',
'-evalt', 'aa56=TRUE & card(aa57)=9670 & aa58=TRUE & aa59={}'
], '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
cli_testcase(2314,[private_source_not_available],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'FALSE',
'-p', 'DATA_VALIDATION', 'TRUE',
'../private_examples/ClearSy/2023/Machines_perf_0323/Lowesoft/rule_Rule_Eq_0009.mch',
'-execute_all', '-execute_expect_steps', 4, %'-silent',
'-animate_stats',
'-evalt', 'caval__rule__1__done=TRUE & card(caval__rule__1__ALL)=9670 & caval__rule__2__done=TRUE & card(caval__rule__2__ALL)=795'
], 'version of 2313 not scrambled'). % tests fix in 30e348cf02697748b3f902c7f7e7fd2bccd279bb
cli_testcase(2315, [laws,data_validation], [
'../prob_examples/public_examples/B/Laws/RelLaws.mch',
'../prob_examples/public_examples/B/Laws/EqualityLaws.mch',
'../prob_examples/public_examples/B/Laws/BoolLaws.mch',
'../prob_examples/public_examples/B/Laws/ArithmeticLaws.mch',
'../prob_examples/public_examples/B/Laws/SetLaws.mch',
'../prob_examples/public_examples/B/Laws/SetLawsNat.mch',
'../prob_examples/public_examples/B/Laws/CardinalityLaws.mch',
'../prob_examples/public_examples/B/Laws/FunLaws.mch',
'../prob_examples/public_examples/B/Laws/SubstitutionLaws.mch',
'../prob_examples/public_examples/B/Laws/BoolLaws_SetCompr.mch',
'../prob_examples/public_examples/B/Laws/SetLawsPow.mch',
'../prob_examples/public_examples/B/Laws/SetLawsPowPow.mch',
'../prob_examples/public_examples/B/Laws/SetRelLaws_NatBool.mch',
'../prob_examples/public_examples/B/Laws/RelLaws_BOOL1.mch',
'../prob_examples/public_examples/B/Laws/RelLaws_BOOL2.mch',
'../prob_examples/public_examples/B/Laws/RelLaws_BOOL3.mch',
'../prob_examples/public_examples/B/Laws/RelLaws_STRING1.mch',
'../prob_examples/public_examples/B/Laws/RelLaws_REC1.mch',
'../prob_examples/public_examples/B/Laws/FunLawsRecStrings.mch',
'-mc', '500', '-cs', '-nogoal', '-nodead', '-strict','-p', 'DOUBLE_EVALUATION', 'TRUE', '-opterr', 'model_check_incomplete',
'-p', 'CLPFD', 'TRUE', '-p', 'DATA_VALIDATION', 'TRUE'], 'Laws (297,...) with DATA_VALIDATION.').
cli_testcase(2316,[private_source_not_available],[
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'RAISE_ABORT_IMMEDIATELY', 'FALSE',
'-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser', '-noinv',
'../private_examples/ClearSy/2023/perf_0704/rule_genz.mch',
'-execute_all', '-execute_expect_steps', 17, %'-silent',
'-animate_stats',
'-evalt', 'caval__rule__1__done=TRUE & card(caval__rule__1__ALL)=1808 & card(ic___Elementary_ZoneKpMax)=1809'
], 'test we do not lift gz,bmz_name exists and idle waitflag works without duplication of calls'). % takes around 90 secs
cli_testcase(2317,[wd,wd_prover],[
'-evalt', ':prove x<:INTEGER & card(x):0..1 => x:FIN(x)',
'-evalt', ':prove x<:INTEGER & card(x)<= y => x:FIN(x)',
'-evalt', ':prove x<:INTEGER & card(x)<= 10 => x:FIN(x)',
'-evalt', ':prove x<:INTEGER & card(x)< 10 => x:FIN(x)',
'-evalt', ':prove x<:INTEGER & 10>card(x) => x:FIN(x)',
'-evalt', ':prove x<:INTEGER & y>=card(x) => x:FIN(x)',
'-evalt', ':prove real(1) /= 0.0',
'-evalt', ':prove real(1) /= real(0)',
'-evalt', ':prove floor(1.1) = ceiling(0.9)',
'-evalt', ':prove floor(1.1) /= ceiling(1.1)',
'-evalu', ':prove real(0) /= 0.0'
], 'check wd prover can use previous card hyps to prove finite and some simple real literals').
cli_testcase(2318,[cbc],[
'-evalt', 'iterate(%x.(x:NATURAL|x+2),2000)[{20}] = {4020}',
'-evalt', 'iterate(%x.(x:NATURAL|x+2),2000)(20) = 4020',
'-evalt', 'iterate(%x.(x:NATURAL|x+2),20000)[{20}] = {40020}',
'-evalt', 'iterate(%x.(x:1..20100|x+2),10000)[{20}] = {20020}',
% now also check that image of closure / closure1 still works:
'-evalt', 'closure1(%x.(x:NATURAL|x/2))[{20}] = {10,5,2,1,0}',
'-evalt', 'closure1(%x.(x:1..1000|x/2))[{20}] = {10,5,2,1,0}',
'-evalt', 'closure(%x.(x:NATURAL|x/2))[{20}] = {20,10,5,2,1,0}',
'-evalt', 'closure(%x.(x:1..1000|x/2))[{20}] = {20,10,5,2,1,0}'
], 'check performance improvement for image of iterate').
cli_testcase(2319,[smt_solver_integration],[
'-evalt', ':z3-double-check a:REAL',
'-evalt', ':z3-double-check a:REAL & a=1.1',
'-evalt', ':z3-double-check a:REAL & a=-1.1',
'-evalt', ':z3-double-check a:REAL & a/=b',
'-evalt', ':z3-double-check a:REAL & a=1.2*b',
'-evalt', ':z3-double-check a:REAL & a=1.2+b',
'-evalt', ':z3-double-check a:REAL & a=1.2-b',
'-evalt', ':z3-double-check a:REAL & a=1.2/b',
'-evalt', ':z3-double-check a:REAL & b/=0.0 & a=1.2/b',
'-evalt', ':z3-double-check a:REAL & b/=0.0 & b/=1.0 & a=1.2/b',
'-evalt', ':z3-double-check a:REAL & a=1.2*0.5',
'-evalf', ':z3-double-check a:REAL & a=1.2*0.5 & a /= 0.6',
'-evalt', ':z3-double-check a:REAL & a=1.2/0.5',
'-evalt', ':z3-double-check a:REAL & a=1.2+0.5',
'-evalt', ':z3-double-check a:REAL & a=1.2-0.5',
'-evalt', ':z3-double-check a:REAL & a=1.2-0.5',
'-evalt', ':z3-double-check a:REAL & a=max({1.1,1.2,1.3})',
'-evalf', ':z3-double-check a:REAL & a=max({1.1,1.2,1.3}) & a/=1.3',
'-evalt', ':z3-double-check a:REAL & a=min({1.1,1.2,1.3})',
'-evalf', ':z3-double-check a:REAL & a=min({1.1,1.2,1.3}) & a/=1.1',
'-evalt', ':z3-double-check a=1.0/49.0',
'-evalt', ':z3-double-check 0.0=0.0/49.0',
'-evalt', ':z3-double-check a=1.0/1000000000.0',
'-evalt', ':z3 x*2.2=4.4 & x=2.0',
'-evalf', ':z3 x*2.2=4.4 & x=3.0',
'-evalt', ':z3 a=3.2*8.9 & a=28.48',
'-evalt', ':z3-double-check a=3.2/8.9',
'-evalt', ':z3-double-check a=3.2/8.9*3.564',
'-evalt', ':z3-double-check floor(4.2) = 4',
'-evalt', ':z3-double-check floor(4.9) = 4',
'-evalt', ':z3-double-check floor(-4.2) = -5',
'-evalt', ':z3-double-check floor(-4.9) = -5',
'-evalt', ':z3-double-check ceiling(4.2) = 5',
'-evalt', ':z3-double-check ceiling(4.9) = 5',
'-evalt', ':z3-double-check ceiling(-4.2) = -4',
'-evalt', ':z3-double-check ceiling(-4.9) = -4',
'-evalt', ':z3 a:REAL & a=3.2+8.90000000000001 & floor(a)=b & a=12.10000000000001 & b=12',
'-evalt', ':z3 a:REAL & a=3.2+8.9 & floor(a)=b & a=12.1 & b=12',
'-evalf', ':z3 a:REAL & a=3.2+8.9 & floor(a)=b & a=12.1 & b=10',
'-evalf', ':z3 !(id0).(id0 : REAL => 0 <= floor(id0))',
'-evalf', ':z3 !(id0).(id0 : REAL => 0 <= ceiling(id0))',
'-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)',
'-evalt', ':z3-double-check id1 : INTEGER & real(id1) = 0.0',
'-evalf', ':z3-double-check id1 : INTEGER & real(id1) = 0.0 & id1 = 1',
'-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})))',
'-evalt', ':z3-double-check id3 : INTEGER & (42.994762156651845 / 7.561341603220248) * real(id3) <= real(ceiling(29.615766387109186))',
'-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)'
%'-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
%'-evalt', ':z3-double-check a=max({1.2,1.3,1.4,0.4}) & b=ceiling(a)',
%'-evalt', ':z3-double-check a=min({1.2,1.3,1.4,0.4}) & b=floor(a+0.35)',
%'-evalt', ':z3-double-check a=min({1.2,1.3,1.4,0.4}) & b=ceiling(a*3.2)',
], 'simple formulas to double check real support of Z3').
cli_testcase(2320,[tickets, infinite],[
'-evalt', 'ran(id2) <: BOOL & {} <<: (pred ; id2)'
], 'check symbolic composition works with list value'). % required type argument to construct closure
cli_testcase(2322,[tickets, wd],[
'-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)))'
%'-expcterr', well_definedness_error % was evalnw but with reification of REAL comparison (3b3f2834dde2a25ffc480300bdf5e11f28a4aabf) we now find solution
], 'check no pending coroutine').
cli_testcase(2323, [external,wd], [
'-evalt', ':wd x>0 & r:BOOL<->BOOL & iterate(r,x) = res',
'-evalf', ':wd x<10 & r:BOOL<->BOOL & iterate(r,x) = res',
'-evalt', ':wd x:NATURAL & r:BOOL<->BOOL & iterate(r,x) = res',
'-evalt', ':wd x<:BOOL & r:BOOL<->BOOL & iterate(r,card(x)) = res',
'-evalt', ':wd x<:1..10 & r:BOOL<->BOOL & iterate(r,card(x)) = res',
'-evalt', 'r : BOOL<->BOOL & (x:3..4 => iterate(r,y) = iterate(r,y-1)) & y:0..10 & x>10 & x<100'
], 'check wd works with iterate ').
cli_testcase(2324, [external,tickets], [
'-evalt', ':prob (id0 : seq1(REAL) & real(MININT) = first(id0)) <=> prj2(REAL,REAL)(id1) <= id2'
], 'ensure default instantiation for REAL generated in case term not needed').
cli_testcase(2325, [wd], [ '-p', 'TRACE_INFO', 'TRUE',
'-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}))'
], 'test improved WD treatment for predicate components'). % WFE grounded at end for all components in one go
cli_testcase(2326, [wd], [ '-p', 'TRACE_INFO', 'TRUE',
'-evalnwd', '(card(inter({rr|rr : POW(INTEGER) & rr = NATURAL1})) <= 1 & SIGMA(id0).(id0 : BOOL|79 * MININT) >= MU(inter({rr|rr : POW(INTEGER) & rr = NATURAL1})))',
'-evalnwd', '(card(inter({rr|rr : POW(INTEGER) & rr = NATURAL1})) <= 1 & SIGMA(id0).(id0 : BOOL|79 * MININT) < 2)',
'-expcterr', 'well_definedness_error'
], 'test improved WD treatment for predicate components'). % WFE grounded at end for all components in one go
cli_testcase(2327, [b_test], [
'-eval', '{xx,xx|xx:BOOL} =res & res:BOOL<->BOOL',
'-expcterr', 'type_expression_error'
], 'test duplicate ids in comprehension set detected').
cli_testcase(2328, [b_test,infinite, total_function], [ '-p', 'TRACE_INFO', 'TRUE',
'-eval', '(id10 ; id11) : STRING --> BOOL & ran(id10)<:BOOL',
'-eval', '(id10 ; id11) : STRING --> BOOL & ran(id10)<:BOOL & id11 = id(BOOL)', % this one could be solved in principle
'-evalt', '(id10 ; id11) : STRING --> BOOL & ran(id10)<:BOOL & id11 = id(BOOL) & id10 = STRING*{TRUE}',
'-expcterr', 'eval_string_enum_warning'
], 'test no call_residue due to symbolic total function closure').
cli_testcase(2329, [wd], [
'-evalnwd', 'max(NATURAL1)>0',
'-evalnwd', 'max(NATURAL)>0',
'-evalnwd', 'max(INTEGER)>0',
'-evalnwd', 'min(INTEGER)<0',
'-expcterr', 'well_definedness_error'
], 'test reporting of min/max of unbounded global sets as non wd').
cli_testcase(2330, [tickets], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-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))',
'-evalt', 'x={NATURAL1,NATURAL} & y:x & 0:y' % was also working before
], 'Check no enumeration warning thrown during normalisation').
cli_testcase(2331, [b_test], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '{x\x22c5\x:1..10|x*x} = {1,4,9,16,25,36,49,64,81,100}', % \x22c5\ is Unicode dot
'-evalt', '{x\x22c5\x:1..10|x*x} = {1,4,9,16,25,36,49,64,81,100}',
'-evalt', '{x,y\x22c5\x:1..5 & y:2..3|x*y} = {2,3,4,6,8,9,10,12,15}',
'-evalt', '{x\x22c5\ x:{x,y\x22c5\x:1..5 & y:2..3|x*y} & x<12 & x>9|x*10} = {100}',
'-evalt', 'prj2(prj1(1|->2|->3)) = 2',
'-evalt', 'prj1(prj1(1|->2|->3)) = 1',
'-evalt', 'prj2(1|->2|->3) = 3',
'-evalt', 'prj2(prj1(1|->2|->3)) = prj2(INTEGER,INTEGER)(prj1(INTEGER*INTEGER,INTEGER)(1|->2|->3))', % mix
'-evalt', 'prj2(INTEGER,INTEGER)[{2}*{3}] = {3}' % old style still works
], 'Check new Event-B prj1/prj2 and set comprehension syntax').
cli_testcase(2332, [tickets,card], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '(INTEGER /\\ id0) /= {} & INTEGER /\\ id0 : FIN(INTEGER /\\ id0) & card(id0) <= 1 & MU(INTEGER /\\ id0) = 111',
'-evalt', '(INTEGER /\\ id0) /= {} & INTEGER /\\ id0 : FIN(INTEGER /\\ id0) & card(INTEGER /\\ id0) <= 1 & MU(INTEGER /\\ id0) = 0',
'-evalt', '(INTEGER /\\ id0) /= {} & INTEGER /\\ id0 : FIN(INTEGER /\\ id0) & card(INTEGER /\\ id0) <= 1 & MU(INTEGER /\\ id0) >= 0'
], 'Check cyclic term issue in construct_interval_closure solved').
cli_testcase(2333, [tickets,card,wd], [
'-evalnwd', 'id1 <: INT & 1 < card(seq1(id1))',
'-evalnwd', ' id1 <: INT & 1 + ceiling(id0) < card(seq1(id1))',
'-opterr', 'eval_string_enum_warning',
'-expcterr', 'well_definedness_error'
], 'Check CLPFD unification with inf is prevented').
cli_testcase(2334,[smt_solver_integration],[
'-evalt', ':z3-double-check size([]) /: {}'
], 'ensure bug in size of empty sequence for Z3 fixed').
cli_testcase(2335,[infinite,external],[
'-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
'-evalnwd', '(INTEGER<->id1) /= {} & card(INTEGER<->id1) <= 1 & MU(INTEGER<-> id1) /= {x,y | x : INTEGER & y : BOOL & bfalse}',
'-opterr', 'eval_string_enum_warning',
'-expcterr', 'well_definedness_error'
], 'ensure no representation error due to infinite cardinality').
cli_testcase(2336, [infinite], [
'-evalt', 'INTEGER /= {x}',
'-evalf', 'INTEGER = {x}',
'-evalt', '{x} /= INTEGER',
'-evalt', 'REAL /= {x}',
'-evalt', 'FLOAT /= {x}',
'-evalt', 'NATURAL /= {x}',
'-evalt', 'NATURAL1 /= {x}',
'-evalt', 'STRING /= {x}',
'-evalt', '{x,y} /= INTEGER',
'-evalt', '{x,y} /= REAL',
'-evalt', '{x,y,z} /= INTEGER',
'-evalt', '{x,y,z} /= INTEGER <=> B=TRUE',
'-evalt', '{x,y,z} /= INTEGER <=> B=TRUE & card({x,y,z})=3',
'-evalt', '{x|x>1} /= {x}',
'-evalt', '{x|x<2} /= {x}',
'-evalt', '{x} /= {z|z>100}'
%'-evalt', '{x,y,z} /= {z|z>100} <=> B=TRUE' % does not work yet
], 'test not equal with infinite global sets succeed').
cli_testcase(2337, [wd,tickets], [
'-evalt', '{id19,id20|id19 : BOOL & id20 <: INTEGER}(id1) = x'
% in principle this is a WD error as the relation is not a function
% here this leads to x not being assigned a value as id20 is marked as do_not_enumerate
], 'test no pending co-routines for WD issue').
cli_testcase(2338, [infinite,tickets], [
'-evalf', 'not({1|->2} : INTEGER <->> {2})',
'-evalt', '({1|->2} : INTEGER <->> {2})',
'-evalt', 'not({1|->2,2|->3} : INTEGER <->> {2})',
'-evalt', 'not({1|->3,2|->3} : INTEGER <->> {2,3})',
'-evalt', 'not({1|->2,2|->4} : INTEGER <->> {2,3,4})',
'-evalf', 'not({1|->4,2|->2} : INTEGER <->> {2,4})',
'-evalt', '({1|->4,2|->2} : INTEGER <->> {2,4})',
'-evalf', 'not({1|->4,2|->3} : INTEGER <->> 3..4)',
'-evalt', '({1|->4,2|->3} : INTEGER <->> 3..4)'
], 'test issue with negation of surjection_relation').
cli_testcase(2339, [infinite,tickets,reals], [
'-evalt', 'not(REAL <<: {})',
'-evalt', 'not(FLOAT <<: {})',
'-evalt', 'not(FLOAT <<: {1.0})',
'-evalt', 'not(REAL <<: {1.0})',
'-evalt', 'not(REAL <<: {1.0}) & not( REAL <: {}) & not( REAL <: {1.0})',
'-evalf', 'REAL <<: {}',
'-evalf', 'REAL <: {}',
'-evalf', 'REAL <: {1.0,2.0}',
'-evalf', 'FLOAT <: {1.0,2.0}'
], 'test issue with negation of strict subset for reals').
cli_testcase(2340, [laws,reals], ['../prob_examples/public_examples/B/Laws/RealLaws.mch', '-mc', '500', '-nogoal', '-nodead', '-strict'], 'Some Laws about the REAL datatype').
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').
cli_testcase(2342, [tickets,records], [
'-eval', 'rec(a:1,a:2) = rec(a:1)',
'-expcterr', 'type_expression_error'
], 'test duplicate record field with same type detected').
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.').
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',
'-expcterr', 'refinement_check_fails'], 'Test failure trace refinement checking for B finds counter example.').
cli_testcase(2345, [cbc,json_trace_replay],['../prob_examples/public_examples/B/PerformanceTests/SAT_Tests/IceCream_Generic.mch',
'-trace_replay', 'json', '../prob_examples/public_examples/B/PerformanceTests/SAT_Tests/IceCream_Generic.prob2trace'],
'Test example is now solved without SMT mode.').
cli_testcase(2346, [cbc],['../prob_examples/examples/EventBPrologPackages/Stock/concreteTrace_ctx.eventb',
'-init'],
'Test propagation of empty total function range to relation').
cli_testcase(2347, [cbc,random],['../prob_examples/public_examples/B/Mathematical/Info4/TuringMachine_Cook_SAT.mch',
'-evalt', ':prob #Alphabet.(1:Alphabet)', % and check existential quantifier with clash not removed
'-evalt', '#Alphabet.(1:Alphabet)', % ditto
'-evalt', ':prob #Alphabet.(I/:Alphabet)', % ditto
'-evalf', '!x.(x : POW(Alphabet) => card(x) = 3)', % ditto
'-init'],
'Test SAT-style encoding of Cook of TM works').
cli_testcase(2348, [tickets,records], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-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} = {}',
'-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} = {}',
'-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} = {}'
], 'Test expansion of disjointness of set extensions').
cli_testcase(2349, [csp_test], [
'../prob_examples/public_examples/CSP/other/Kleine/needham-schroeder.csp', '-assertions'],
'Test no call residues due to ignore_infinite_datatypes kludge.').
cli_testcase(2350, [tickets,external], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-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
'-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
'-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
'-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)'
],
'Test equality reification for floating numbers fixed.').
cli_testcase(2351, [b_test,records], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'CLPFD', 'FALSE', % ensure fast without CLPFD propagations
'-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
'-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)'
], 'Test performance of looking up records').
cli_testcase(2352, [smt_solver_integration], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
% see smt_solvers_interface/ast_cleanup_for_smt.pl and smt_solvers_interface/set_rewriter.pl
'-evalt', ':z3-double-check x:INTEGER & card({x,y,z}) < 3',
'-evalt', ':z3-double-check x:INTEGER & 3 > card({x,y,z})',
'-evalt', ':z3-double-check x:INTEGER & card({x,y,z}) <= 2',
'-evalt', ':z3-double-check x:INTEGER & 2 >= card({x,y,z})',
'-evalt', ':z3-double-check x:INTEGER & card({x,y,z}) < 4',
'-evalt', ':z3-double-check x:INTEGER & 4 > card({x,y,z})',
'-evalt', ':z3-double-check x:INTEGER & card({x,y,z}) <= 4',
'-evalt', ':z3-double-check x:INTEGER & 4 >= card({x,y,z})',
'-evalt', ':z3-double-check x:INTEGER & card({x,y,z}) <= 3',
'-evalt', ':z3-double-check x:INTEGER & 3 >= card({x,y,z})',
'-evalt', ':z3-double-check x:INTEGER & card({x,y,z}) >= 3',
'-evalt', ':z3-double-check x:INTEGER & 3 >= card({x,y,z})',
'-evalf', ':z3-double-check x:INTEGER & card({x,y,z}) > 3',
'-evalf', ':z3-double-check x:INTEGER & 3 < card({x,y,z})',
'-evalt', ':z3-double-check x:INTEGER & card({x,y,z}) > 2',
'-evalt', ':z3-double-check x:INTEGER & 2 < card({x,y,z})',
'-evalt', ':z3-double-check x:INTEGER & card({x,y,z}) >= 1',
'-evalt', ':z3-double-check x:INTEGER & 1 <= card({x,y,z})',
'-evalt', ':z3-double-check x:INTEGER & card({x,y}) = 1',
'-evalt', ':z3-double-check x:INTEGER & 1 = card({x,y})',
'-evalt', ':z3-double-check x:INTEGER & card({x,y}) /= 1',
'-evalt', ':z3-double-check x:INTEGER & 1 /= card({x,y})',
'-evalf', ':z3-double-check x:INTEGER & card({x,y,z}) = 0',
'-evalf', ':z3-double-check x:INTEGER & 0 = card({x,y,z})',
'-evalt', ':z3-double-check x:INTEGER & card({x,y,z}) = 3',
'-evalt', ':z3-double-check x:INTEGER & 3 = card({x,y,z})',
'-evalf', ':z3-double-check x:INTEGER & card({x,y,z}) = 0',
'-evalf', ':z3-double-check x:INTEGER & card({x,y,z}) >= 4',
'-evalf', ':z3-double-check x:INTEGER & 4 <= card({x,y,z})',
'-evalf', ':z3-double-check x:INTEGER & 0 = card({x,y,z})',
'-evalt', ':z3-double-check x:POW(INTEGER) & card(x) = 0', % these rules also work for sets that are not statically finite
'-evalt', ':z3-double-check x:POW(INTEGER) & 0 = card(x)',
'-evalt', ':z3-double-check x:POW(INTEGER) & card(x) /= 0',
'-evalt', ':z3-double-check x:POW(INTEGER) & 0 /= card(x)',
'-evalt', ':z3-double-check x:POW(INTEGER) & card(x) > 0',
'-evalt', ':z3-double-check x:POW(INTEGER) & 0 < card(x)'
], 'Test rewriting of cardinality constraints using finite sets for Z3.').
cli_testcase(2353, [b_test,external,records,rulesdsl,xml], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/Rules/RailML_Simple/RailML3_IS.rmch',
'-execute_all', '-execute_expect_steps', 86,
'-evalt', 'RailML3_IS_NETWORK_IDS={"nw01"} & card(RailML_spotLocation)=41 & card(RailML_signalIS)=13 & card(RailML_netRelation)=13',
'-evalt', 'card(warnings_linearLocation_Counterexamples)=72 & warnings_level_Counterexamples={}',
'-evalt', 'card(warnings_spotLocation_Counterexamples)=41 & warnings_netRelation_Counterexamples={}',
'-evalt', 'TEST /= {}'
], 'Test avl indexed lookup for complex records with set field values works').
cli_testcase(2354, [cbc], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'SOLVER_STRENGTH', 10, % will force attempt_reification
'-evalt', ':prob n=2000 & f:1..n-->BOOL & !i.(i:2..n => (f(i)=TRUE =>f(i-1)=FALSE)) & f(1)=TRUE'
], 'Test performance wrt reification').
cli_testcase(2355, [satsolver_test], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', ':sat-double-check x=TRUE or x=FALSE',
'-evalf', ':sat-double-check x=TRUE & x=FALSE',
'-evalt', ':sat-double-check x=TRUE & (x=TRUE => y=TRUE) & (y=TRUE => x=TRUE)',
'-evalf', ':sat-double-check x=TRUE & (x=TRUE => y=TRUE) & (y=TRUE => x=FALSE)',
'-evalt', ':sat-double-check x=TRUE & (x=TRUE <=> y=TRUE) & (y=TRUE <=> z=TRUE)',
'-evalt', ':sat-double-check n=12 & f:1..n-->BOOL & !i.(i:2..n => (f(i)=TRUE =>f(i-1)=FALSE)) & f(1)=TRUE',
'-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',
'-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',
'-evalt', ':sat-double-check n=12 & f:1..n-->BOOL & card({i|i:1..n & f(i)=TRUE})=1',
'-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',
'-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',
'-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',
'-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',
'-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',
'-evalt', ':sat-double-check f:1..3-->BOOL & card({y|y:1..3 & f(y)=TRUE}) <=2 &f(1)=TRUE & f(3)=TRUE',
'-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',
'-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))',
'-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))',
'-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
'-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',
'-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',
'-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',
'-evalt', ':sat-double-check f:1..n --> BOOL & n=50 & f(1)=TRUE & !i.(i:2..n => f(i) /= f(i-1))',
'-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',
'-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',
'-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',
'-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',
'-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'
], 'Test new satsolver backend.').
cli_testcase(2356, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/ABZ16_m6.eventb', '-init',
'-p', 'TIME_OUT', '60000',
'-eval', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_0.eval',
'-eval', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_1.eval',
'-eval', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_2.eval',
'-eval', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_3.eval',
'-eval', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_1.eval',
'-eval', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/ABZ16_m6/m6_monolithic_bmc_k_2.eval'
], 'Double check integration of Z3 for BMC constraints of ABZ16_m6 containing unfixed deferred sets').
cli_testcase(2357,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 20000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
'../private_examples/ClearSy/2023/error_0720/rule_CHAMPS_COMMUNS_AUX_FICHIERS_MCMDOUVERTUREITIAU_RVF65_MCMD_FOLIO.mch',
'-execute_all', '-execute_expect_steps', 15, %'-silent',
'-animate_stats',
'-evalt', 'card(caval__rule__12__ALL)=8',
'-evalt', 'caval__rule__1__ALL={({}|->{109}|->{}|->TRUE)}',
'-evalt', 'caval__rule__10__ALL={} & caval__rule__11__ALL={}',
'-evalt', 'caval__rule__2__ALL={} & caval__rule__5__ALL={} & caval__rule__6__ALL={}',
'-evalt', 'caval__rule__13__done=TRUE'
], 'Issue used_ids field wrong fro memoization closure leading to identifier not found error'). % fixed in c5e3cd063a89b7b6d3c8c255ec6517ee76981415
cli_testcase(2358,[private,regex],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'PROB_SAFE_MODE', 'TRUE',
'-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 20000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
'../prob_examples/examples/B/ClearSy/Caval/2023/error_0720/rule_RVF65_bugly.mch',
'-execute_all', '-execute_expect_steps', 15, %'-silent',
'-animate_stats',
'-evalt', 'card(aahm)=16',
'-evalt', 'aajl={({}|->{109}|->{}|->TRUE)}',
'-evalt', 'aarl={} & aatl={}',
'-evalt', 'aall={} & aahl={} & aadm={}',
'-evalt', 'aaam=TRUE'
], 'Bugly version of test 2357'). % not sure the original error also occurs with this model
cli_testcase(2359,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 20000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
'../private_examples/ClearSy/2023/Machines_0731/rule_OPS_SDS_4537/rule.mch',
'-execute_all', '-execute_expect_steps', 3, %'-silent',
'-animate_stats',
'-evalt', 'caval__rule__1__ALL={} & caval__Compute_Variables_CounterExamples={}',
'-evalt', 'caval__rule__1__done=TRUE'
], 'Test no virtual time-out (ZC_PROP_1 in UNION used only in one disjunct)').
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').
cli_testcase(2361,[private,data_validation,external,regex],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', 2000, '-p', 'DATA_VALIDATION', 'TRUE', '-animate_all',
'../prob_examples/examples/B/ClearSy/Caval/2023/perf_0810/RVF354_MDYS_op1.mch',
'-evalt', 'card(rule_check_1)=1108 & rule_done_1=TRUE'
], 'Test Caval prob-users example works fast'). % was still slow with 1.12.1, fast since 6796bf80d653dbdfa2f88a30980158c82af0a5ec
cli_testcase(2362,[private,data_validation,external,regex],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', 2000, '-p', 'DATA_VALIDATION', 'TRUE', '-animate_all',
'../prob_examples/examples/B/ClearSy/Caval/2023/perf_0810/RVF354_MDYS_op2.mch',
'-evalt', 'card(rule_check_2)=1108 & rule_done_2=TRUE'
], 'Test Caval prob-users example works fast'). % ditto, was still slow with 1.12.1
cli_testcase(2363, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE',
'../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching.mch', '-init',
'-p', 'TIME_OUT', '60000',
'-p', 'cdclt_use_idl_theory_solver', 'true',
'-evalt', ':cdclt-double-check -ct <= -2 & ct <= 33554432',
'-evalt', ':cdclt-double-check -ct <= -2 & not(-ct <= -33554432) & ct <= 33554432',
'-evalt', ':cdclt-double-check -ct <= -2 & -ct <= -2 & not(-ct <= -33554432) & ct <= 33554432 & ct__ <= 0 & not(-ct__ <= -33554432)',
'-evalf', ':cdclt-double-check ct <= 2 & -ct <= -2 & not(-ct <= -33554432) & ct <= 33554432 & ct__ <= 0 & not(-ct__ <= -33554432) & ct__ <= 33554432',
'-evalf', ':cdclt-double-check lim <= 33554432 & -lim <= -33554432 & ct <= 2 & -ct <= -2 & not(-ct <= -33554432) & ct <= 33554432 & ct__ <= 0 & not(-ct__ <= -33554432) & ct__ <= 33554432',
'-evalt', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/core_bug.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_4.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_5.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_6.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_7.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_8.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_9.eval',
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_10.eval', % sometimes times out on Windows
'-evalt', ':cdclt-free-double-check -ct <= -2 & ct <= 33554432',
'-evalt', ':cdclt-free-double-check -ct <= -2 & not(-ct <= -33554432) & ct <= 33554432',
'-evalt', ':cdclt-free-double-check -ct <= -2 & -ct <= -2 & not(-ct <= -33554432) & ct <= 33554432 & ct__ <= 0 & not(-ct__ <= -33554432)',
'-evalt', ':cdclt-free-double-check ct <= 2 & -ct <= -2 & not(-ct <= -33554432) & ct <= 33554432 & ct__ <= 0 & not(-ct__ <= -33554432) & ct__ <= 33554432',
'-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',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/core_bug.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_0.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_1.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_2.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_3.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_4.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_5.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_6.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_7.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_8.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_9.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_10.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_11.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_12.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_13.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_14.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_15.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_16.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_17.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_18.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_19.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_20.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_21.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_22.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_23.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_24.eval',
'-evalt', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/LargeBranching/LargeBranching_monolithic_bmc_k_25.eval'
], 'Double check CDCL(T) using the additional IDL solver similar to test 2166.').
cli_testcase(2364, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', ':idl x:INTEGER & x>y',
'-evalf', ':idl x:INTEGER & x>y & y>x',
'-evalt', ':idl x:INTEGER & x=1',
'-evalf', ':idl x:INTEGER & x<3 & x>3',
'-evalf', ':idl x:INTEGER & x<3 & x-1>3',
'-evalt', ':idl x:INTEGER & x<3 & y<4',
'-evalt', ':idl x:INTEGER & x<3 & y-2>4',
'-evalt', ':idl x:INTEGER & x<3 & y-2<4',
'-evalf', ':idl x:INTEGER & x<3-2 & x-2>(-1)',
'-evalt', ':idl x:INTEGER & x+y<x+2',
'-evalt', ':idl x:INTEGER & x-y<=2 & y-z<=1 & z-x<=-1',
'-evalf', ':idl x:INTEGER & x-y<=2 & y-z<=1 & z-x<=-4',
'-evalf', ':idl x:INTEGER & x<y+3 & y<=z+2 & z<x-4',
'-evalf', ':idl x:INTEGER & x<=z-6 & x<=w-3 & y<=x+3 & z<=y+2 & z<=w-1 & w<=y+5',
'-evalt', ':idl x:INTEGER & x<=z-5 & x<=w-3 & y<=x+3 & z<=y+2 & z<=w-1 & w<=y+5',
'-evalf', ':idl x:INTEGER & x<=z-5 & x<=w-3 & y<=x+3 & z=y+2 & z=w-1 & w=y+5',
'-evalt', ':idl x:INTEGER & x=w-3 & y=x+3 & z=y+2'
], 'Simple tests for the graph-based solver for the IDL.').
cli_testcase(2365, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'-p', 'maxNrOfInitialisations', '1',
'../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/PM_M1_VOOR.eventb', '-init',
'-p', 'cdclt_use_idl_theory_solver', 'true',
'-p', 'cdclt_perform_static_analysis', 'true',
'-p', 'cdclt_perform_symmetry_breaking', 'true',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval'
], 'Double check CDCL(T) using the additional IDL solver for constraints from inductive invariant checking of a pacemaker model.').
cli_testcase(2366, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'-p', 'maxNrOfInitialisations', '1',
'../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/PM_M1_VOOR.eventb', '-init',
'-p', 'cdclt_use_idl_theory_solver', 'true',
'-p', 'cdclt_perform_static_analysis', 'false',
'-p', 'cdclt_perform_symmetry_breaking', 'false',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval'
], 'Double check CDCL(T) using the additional IDL solver as in test 2365 but without the additional static analysis.').
cli_testcase(2367, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'-p', 'maxNrOfInitialisations', '1',
'../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/PM_M0_VOO.eventb', '-init',
'-p', 'cdclt_use_idl_theory_solver', 'true',
'-p', 'cdclt_perform_static_analysis', 'true',
'-p', 'cdclt_perform_symmetry_breaking', 'true',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_4.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_5.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_6.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_7.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_1.eval'
%'-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
], 'Double check CDCL(T) using the additional IDL solver for constraints from bounded model checking of a pacemaker model.').
cli_testcase(2368, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'-p', 'maxNrOfInitialisations', '1',
'../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/PM_M0_VOO.eventb', '-init',
'-p', 'cdclt_use_idl_theory_solver', 'true',
'-p', 'cdclt_perform_static_analysis', 'false',
'-p', 'cdclt_perform_symmetry_breaking', 'false',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_4.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_5.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_6.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_7.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_2.eval'
], 'Double check CDCL(T) using the additional IDL solver as in test 2367 but without the additional static analysis.').
cli_testcase(2369, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'-p', 'maxNrOfInitialisations', '1',
'../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/PM_M3_AAI.eventb', '-init',
'-p', 'cdclt_use_idl_theory_solver', 'true',
'-p', 'cdclt_perform_static_analysis', 'true',
'-p', 'cdclt_perform_symmetry_breaking', 'true',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_4.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_5.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_6.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_7.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_1.eval',
'-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
%'-evalf', ':cdclt-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_3.eval'
], 'Double check CDCL(T) using the additional IDL solver for constraints from bounded model checking of a pacemaker model.').
cli_testcase(2370, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'-p', 'maxNrOfInitialisations', '1',
'../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/PM_M3_AAI.eventb', '-init',
'-p', 'cdclt_use_idl_theory_solver', 'true',
'-p', 'cdclt_perform_static_analysis', 'true',
'-p', 'cdclt_perform_symmetry_breaking', 'true',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_4.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_5.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_6.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_7.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_1.eval',
'-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
%'-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
], 'Double check CDCL(T) using the additional IDL solver as in test 2369 but without the additional static analysis.').
cli_testcase(2371, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'-p', 'maxNrOfInitialisations', '1',
'../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/PM_M1_VOOR.eventb', '-init',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_0.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_2.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_0.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_monolithic_bmc_k_1.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Acler_sensed.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_OFF.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Pace_ON.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Decrease_Interval.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_Increase_Interval.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M1_VOOR/M1_VOOR_tic.eval'
], 'Double check Z3 using constraints from inductive invariant checking of a pacemaker.').
cli_testcase(2372, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'-p', 'maxNrOfInitialisations', '1',
'../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/PM_M0_VOO.eventb', '-init',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_0.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_1.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_2.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_3.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_4.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_5.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_6.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_7.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_0.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_1.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_2.eval',
'-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
'-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_4.eval',
'-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_5.eval',
'-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_6.eval',
'-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M0_VOO/M0_VOO_monolithic_bmc_k_7.eval'
], 'Double check Z3 using constraints from boundel model checking of a pacemaker.').
cli_testcase(2373, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'-p', 'maxNrOfInitialisations', '1',
'../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/PM_M3_AAI.eventb', '-init',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_0.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_1.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_2.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_3.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_4.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_5.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_6.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_7.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_0.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_1.eval',
'-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
'-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_3.eval',
'-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_4.eval',
'-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_5.eval',
'-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_6.eval',
'-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/PM_M3_AAI/M3_AAI_monolithic_bmc_k_7.eval'
], 'Double check Z3 using constraints from boundel model checking of a pacemaker refinement used in test 2372.').
cli_testcase(2374, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot.mch', '-init',
'-p', 'cdclt_perform_static_analysis', 'true',
'-p', 'cdclt_perform_symmetry_breaking', 'true',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_4.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_5.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_6.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_7.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_8.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_9.eval',
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_10.eval', % sometimes times out on Windows
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_1.eval'
], 'Double check CDCL(T) for constraints from bounded model checking of a lightbot model.').
cli_testcase(2375, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot.mch', '-init',
'-p', 'cdclt_perform_static_analysis', 'false',
'-p', 'cdclt_perform_symmetry_breaking', 'false',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_4.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_5.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_6.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_7.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_8.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_9.eval',
%'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_10.eval', % sometimes times out on Windows
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_1.eval'
], 'Double check CDCL(T) for the same constraints used in test 2374 but without the additional static analysis.').
cli_testcase(2376, [cdclt], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot.mch', '-init',
'-p', 'cdclt_use_idl_theory_solver', 'true',
'-p', 'cdclt_perform_static_analysis', 'true',
'-p', 'cdclt_perform_symmetry_breaking', 'true',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_1.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_2.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_3.eval',
'-evalf', ':cdclt-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_4.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_0.eval',
'-evalf', ':cdclt-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_1.eval'
], 'Double check CDCL(T) for the same constraints used in test 2374 but using the additional IDL solver.').
cli_testcase(2377, [smt_solver_integration], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'TIME_OUT', '60000',
'../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot.mch', '-init',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_0.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_1.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_2.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_3.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_4.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_5.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_6.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_7.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_8.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_9.eval',
'-evalf', ':z3-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_10.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_0.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_1.eval',
'-evalf', ':z3-free-double-check #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_2.eval',
'-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_3.eval', % cannot be solved by ProB in time
'-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_4.eval',
'-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_5.eval',
'-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_6.eval',
'-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_7.eval',
'-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_8.eval',
'-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_9.eval',
'-evalf', ':z3-free #file ../prob_examples/public_examples/B/SmtSolverTests/Lightbot/Lightbot_monolithic_bmc_k_10.eval'
], 'Double check Z3 for constraints from bounded model checking of a lightbot model.').
cli_testcase(2378, [setlog], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', ':slog-double-check f:1..3 --> 1..3 & card(ran(f))=3 & f(1)>1',
'-evalt', ':slog-double-check f:INTEGER+->INTEGER & dom(f)=1..2 & dom(f)/=1..1 & f/={}',
'-evalt', ':slog-double-check f:INTEGER+->INTEGER & dom(f)=1..2 & dom(f)/=1..1 & f/={} & ran(f)=1..2',
'-evalt', ':slog-double-check f:INTEGER+->INTEGER & dom(f)<:1..2 & dom(f)/=1..1 & dom(f)/={}',
'-evalt', ':slog-double-check a<:1..3 & (2:a <=> 3:a) & (2:a <=> 1/:a) & a /\\ 1..1 = {}',
'-evalf', ':slog-double-check ff:1..3<->BOOL & gg:1..3<->BOOL & not ((dom(ff\\/gg) = dom(ff) \\/ dom(gg)) )', % now failing with 14h version of setlog, and quite a few more below
'-evalf', ':slog-double-check f:1..3 --> BOOL & f~:BOOL +-> INTEGER',
'-evalf', ':slog-double-check f:1..3 --> BOOL & f~:BOOL +-> INTEGER & card(ran(f))<=2',
'-evalt', ':slog-double-check x:BOOL & x/=TRUE',
'-evalf', ':slog-double-check x:BOOL & x/=TRUE & x/=FALSE',
'-evalt', ':slog-double-check s<:1..10 & not(1..3 <:s or s<:1..3)',
'-evalf', ':slog-double-check f:1..3 --> BOOL & f~:BOOL +-> INTEGER & ran(f) <: {TRUE,FALSE}',
'-evalf', ':slog-double-check x <: {TRUE,FALSE} & {TRUE} <: x & {FALSE}<: x & x/= BOOL',
'-evalf', ':slog-double-check x<:1..3 & not(2:x <=> 3:x) & 3:x & 2:x',
'-evalt', ':slog-double-check x:1..10 & #y.(y:BOOL & y=TRUE & x<2)',
'-evalt', ':slog-double-check x:1..10 & !y.(y:1..9 => x>y)',
'-evalt', ':slog x <: 1..5 & r[x]=x & r[{1}] /= {1} & card(x)=3',
'-evalt', ':slog x <: 1..5 & r[x]=x & r[{1}] /= {1} & card(x)=3 & r[{2}]={2}',
'-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
'-evalt', ':slog x>0 & x:S & x=max(S)',
'-evalt', ':slog x>0 & x:S & (x=max(S) or (y:S & y>x))',
'-evalt', ':slog x>0 & x:S & not(x=max(S)) & (y:S & y>x)',
'-evalt', ':slog x>1 & x:S & !y.(y:S => y<=x)',
%'-evalt', ':slog x>1 & x:S & !y.(y:S => #z.(z:S & z>y))', % translation failed
'-evalt', ':slog-double-check {x|x:1..10 & x>z} = 3..10',
% idl from test 2364
'-evalt', ':slog x:INTEGER & x>y',
'-evalf', ':slog-double-check x:INTEGER & x>y & y>x',
'-evalt', ':slog-double-check x:INTEGER & x=1',
'-evalf', ':slog-double-check x:INTEGER & x<3 & x>3',
'-evalf', ':slog-double-check x:INTEGER & x<3 & x-1>3',
'-evalt', ':slog-double-check x:INTEGER & x<3 & y<4',
'-evalt', ':slog x:INTEGER & x<3 & y-2>4',
'-evalt', ':slog-double-check x:INTEGER & x<3 & y-2<4',
'-evalf', ':slog-double-check x:INTEGER & x<3-2 & x-2>(-1)',
'-evalt', ':slog x:INTEGER & x+y<x+2',
'-evalt', ':slog x:INTEGER & x-y<=2 & y-z<=1 & z-x<=-1',
'-evalf', ':slog x:INTEGER & x-y<=2 & y-z<=1 & z-x<=-4',
'-evalf', ':slog x:INTEGER & x<y+3 & y<=z+2 & z<x-4',
'-evalf', ':slog x:INTEGER & x<=z-6 & x<=w-3 & y<=x+3 & z<=y+2 & z<=w-1 & w<=y+5',
'-evalt', ':slog x:INTEGER & x<=z-5 & x<=w-3 & y<=x+3 & z<=y+2 & z<=w-1 & w<=y+5',
'-evalf', ':slog x:INTEGER & x<=z-5 & x<=w-3 & y<=x+3 & z=y+2 & z=w-1 & w=y+5',
'-evalt', ':slog x:INTEGER & x=w-3 & y=x+3 & z=y+2',
% from test 2309
'-evalt', ':slog-double-check x:INTEGER & s:POW(1..10) & x=min(s)',
'-evalt', ':slog-double-check x:INTEGER & s:POW(1..10) & x=max(s)',
'-evalt', ':slog-double-check x:INTEGER & {(1,2)}(x)=2',
% from test 2211
'-evalf', ':slog-double-check not(x<:BOOL & x /<: y => x/=y)',
'-evalf', ':slog-double-check not(x<:BOOL & x /<: y => y/=x)',
'-evalf', ':slog-double-check not(x<:BOOL & x /<: y => not(y=x))',
'-evalf', ':slog not(x>0 & y>0 => not(x>0 & y<=0))',
'-evalf', ':slog not(x>0 & y>0 => not(x<=0 & y>0))',
'-evalf', ':slog not(x>0 & y>0 => not(x<=0 & y<=1))',
'-evalt', ':slog not(x>0 & y>0 => not(x<=1 & y<=1))',
'-evalf', ':slog not(x>0 & y>0 => not(x<=0 or y<=0))',
'-evalt', ':slog not(x>0 & y>0 => not(x<=0 or y>0))',
'-evalf', ':slog not(x>0 => (y>0 => not(x<=0 or y<=0)))',
'-evalf', ':slog not(x>0 => ( x=1 or x>1))',
'-evalt', ':slog not(x>0 => not( x=1 or x>1))',
'-evalf', ':slog not(x>0 => not( x/=1 & not(x>1)))',
'-evalf', ':slog not(x>1 & y>2 => not( x>0 => not(y>2)))',
'-evalf', ':slog not(a <:b & a /<<: {1,2} => b /<<: {1,2})',
'-evalf', ':slog not(a ={} & b<:BOOL => b/<<:a)',
'-evalf', ':slog-double-check not(a =BOOL & b<:BOOL => a/<<:b)',
'-evalt', ':slog-double-check not(a ={} & b<:BOOL => a/<<:b)',
'-evalt', ':slog-double-check not(a =BOOL & b<:BOOL => b/<<:a)',
'-evalf', ':slog-double-check not(a ={} & b<:BOOL & a/=b => b/<:a)',
'-evalf', ':slog-double-check not(a ={} & b<:BOOL & a/=b => not(b<:a))',
'-evalt', ':slog-double-check not(a ={} & b<:BOOL & a/=c => not(b<:a))',
'-evalf', ':slog not(a=b => (a>0 <=> b>0))',
'-evalt', ':slog not(a=b => (a>0 <=> b>=0))',
'-evalt', ':slog not(a>=b => (a>0 <=> b>0))',
'-evalf', ':slog not(a:INTEGER => (a>b <=> not(b>=a)))',
'-evalf', ':slog not(a:INTEGER => not(a>b <=> not(a>b)))',
'-evalt', ':slog not(a:INTEGER => not(a>b <=> not(a>=b)))',
'-evalt', ':slog not(a<:BOOL => not(a<:b <=> b<:a))',
'-evalt', ':slog not(a<:BOOL => not(not(a<:b) <=> not(b<:a)))',
'-evalf', ':slog not(a<:BOOL => not((a<:b) <=> not(a<:b)))',
'-evalf', ':slog not(a<:BOOL => not(not(a<<:b) <=> (a<<:b)))',
'-evalf', ':slog-double-check x:POW({1,2}) & 3:x',
'-evalf', ':slog-double-check x:POW({1,2}) & card(x)>2',
'-evalt', ':slog-double-check x:FIN1({1,2}) & 2:x & card(x)=2',
'-evalf', ':slog-double-check x: 1..3 +-> 1..2 & 3:ran(x)',
'-evalt', ':slog-double-check x: 1..3 +-> 1..2 & 2:ran(x)',
'-evalf', ':slog-double-check x: 1..2 +-> NATURAL1 & 0:ran(x)',
'-evalt', ':slog-double-check x: 1..2 +-> NATURAL & 0:ran(x)',
'-evalf', ':slog-double-check x: 0..2<->1..2 & 0:ran(x)',
'-evalf', ':slog-double-check x: 1..2<->1..2 & 0:ran(x)',
'-evalf', ':slog-double-check x: 1..2<->1..2 & 0:dom(x)',
'-evalt', ':slog-double-check x: 0..2<->1..2 & 0:dom(x)',
'-evalf', ':slog-double-check x: NATURAL1<->1..2 & 0:ran(x)',
'-evalt', ':slog x: NATURAL1<->1..2 & 2:ran(x)',
'-evalf', ':slog-double-check x: NATURAL1<->1..2 & 0:dom(x)',
'-evalt', ':slog-double-check x: NATURAL<->1..2 & 0:dom(x)',
'-evalf', ':slog-double-check x: NATURAL1 +-> 1..2 & 0:dom(x)',
'-evalt', ':slog-double-check x: NATURAL +-> 1..2 & 0:dom(x)',
'-evalt', ':slog-double-check x: NATURAL1 +-> NATURAL1 & 1:dom(x) & 1:ran(x)',
'-evalf', ':slog-double-check x: NATURAL1 +-> NATURAL1 & (0:dom(x) or 0:ran(x))',
'-evalt', ':slog x: NATURAL1 +-> NATURAL1 & (1:dom(x) or 0:ran(x))',
'-evalt', ':slog-double-check x <: NATURAL1 & x<:0..1 & card(x)=1',
'-evalf', ':slog-double-check x <: NATURAL1 & x<:0..1 & card(x)=2',
'-evalf', ':slog-double-check x : NATURAL1 <-> 0..1 & dom(x)<:-1..0 & x /= {}',
'-evalt', ':slog-double-check x /: NATURAL1 <-> INTEGER & dom(x)<:-1..1 & ran(x)<:3..4',
'-evalf', ':slog x /: NATURAL1 <-> INTEGER & dom(x)<:1..2 & ran(x)<:3..4',
'-evalt', ':slog-double-check x<: -1..2 & not(x<:NATURAL)',
'-evalf', ':slog-double-check x<: 1..2 & not(x<:NATURAL)',
'-evalf', ':slog-double-check x:POW1(NATURAL1) & x<:-1..0',
'-evalt', ':slog-double-check x:POW1(NATURAL1) & x<:0..1',
'-evalt', ':slog-double-check x/:POW1(NATURAL) & x<:-1..0',
'-evalf', ':slog-double-check x/:POW(NATURAL) & x<:2..3',
'-evalt', ':slog-double-check x/:POW1(NATURAL) & x<:2..3',
'-evalf', ':slog-double-check x/:POW1(NATURAL) & x<:2..3 & x/={}',
'-evalt', ':slog-double-check f:1..2 +-> 1..2 & not(f \\/ {1 |-> 1} : INTEGER +->INTEGER)',
'-evalf', ':slog-double-check f:1..2 +-> 1..2 & not(f \\/ {1 |-> f(1)} : INTEGER +->INTEGER)',
'-evalt', ':slog-double-check f:1..2 +-> 1..2 & not(f <+ {3 |-> 1} : 1..2 +->INTEGER)',
'-evalf', ':slog-double-check f:1..2 +-> 1..2 & not(f <+ {1 |-> 1} : 1..2 +->INTEGER)',
'-evalt', ':slog-double-check f:1..2 +-> 1..2 & not(f \\/ {1 |-> 3} : 1..2 +->INTEGER)',
'-evalt', ':slog-double-check f:1..2 +-> 1..2 & not(f \\/ {1 |-> 1} : 1..2 +->1..2)',
'-evalt', ':slog-double-check f:BOOL --> POW(1..2) & not(f <+ {TRUE|->1..3} : BOOL +-> POW(1..2))',
'-evalf', ':slog-double-check f:BOOL --> POW(1..2) & not(f <+ {TRUE|->1..2} : BOOL +-> POW(1..2))',
'-evalt', ':slog-double-check x = POW(1 .. 2)',
'-evalt', ':slog-double-check f: BOOL --> (BOOL +-> BOOL) & f(TRUE):BOOL-->BOOL',
'-evalt', ':slog-double-check f: BOOL --> (BOOL +-> BOOL) & f(FALSE)={}',
'-evalt', ':slog-double-check f: BOOL --> POW(BOOL) & f(TRUE)={TRUE} & f(FALSE)={}',
'-evalt', ':slog-double-check f: BOOL --> POW(BOOL) & f(TRUE):POW1(BOOL) & f(FALSE)={}'
% does not work :slog-double-check f: BOOL --> (BOOL +-> BOOL) & f(FALSE)={} & f(TRUE):BOOL-->BOOL
% times out: :slog f:BOOL +-> BOOL & not(f <+ {TRUE |-> TRUE} : BOOL +->BOOL)
], 'Simple tests for setlog solver.').
cli_testcase(2379, [eventb_test, theories, reals], ['../prob_examples/examples/EventBPrologPackages/Toulouse/Dupont/RealsTest_mch.eventb',
'--model-check', '-cc', '7', '6', '-nodead',
'-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'plus(Rone,Rone) |-> Rone : gt', '-evalt', 'plus(Rone,Rzero) = Rone',
'-evalt', 'times(Rone,Rzero) = Rzero',
'-evalt', 'plus(Rone,Rzero) : RReal'
], 'Checking real theory with currying of binary operators').
cli_testcase(2380, [eventb_test, theories], ['../prob_examples/public_examples/EventBPrologPackages/Theory/SeqTest1.eventb', '-mc', 2000, '-nodead', '-strict',
'-p', 'TRY_FIND_ABORT', 'TRUE'], 'Test 1156 for Seq theory with TRY_FIND_ABORT').
cli_testcase(2381, [b_test,json_trace_replay,visb], [
'../prob_examples/examples/EventBPrologPackages/Toulouse/Mendil/T_TemperatureMachine_mch.eventb',
'-expcterr', virtual_time_out,
'-evalt', 'unit(xx)=Kelvin & value(xx)=-100',
'-evalf', 'unit(xx)=Kelvin & unit(xx)=Celsius',
'-trace_replay', 'json', '../prob_examples/examples/EventBPrologPackages/Toulouse/Mendil/T_TemperatureMachine_presentation.prob2trace',
'-visb', '../prob_examples/examples/EventBPrologPackages/Toulouse/Mendil/Temp_VisB.json',
'../prob_examples/examples/EventBPrologPackages/Toulouse/Mendil/Temp_VisB.html'], 'Check JSON replay and VisB HTML generation with theory operators').
cli_testcase(2382, [eventb_test, theories, reals], [
'../prob_examples/examples/EventBPrologPackages/Toulouse/Dupont/SimpleRealsPlusTest_ctx.eventb',
'-evalt', 'plus(Rone,Rzero) : RReal',
'-evalt', 'plus(Rone,Rzero) : RRealPlus',
'-assertions'],
'Check that reals are allowed for type checking in Event-B theories that use reals').
cli_testcase(2383, [b_test,wd], [
'../prob_examples/examples/EventBPrologPackages/Toulouse/Mendil/T_TemperatureMachinePrefix_mch.eventb',
'-p', 'TRY_FIND_ABORT', 'TRUE', '-expcterr', model_check_incomplete,
'-expcterr', virtual_time_out, '-mc', 100], 'Check no spurious WD errors').
cli_testcase(2384, [b_test,wd], [
'-evalf', 'bla = %x.(x:NATURAL|x+1) & bla /: POW(NATURAL*NATURAL)', % was wrong
'-evalt', 'bla = %x.(x:NATURAL|x+1) & bla : POW(NATURAL*NATURAL)',
'-evalt', 'bla = %x.(x:NATURAL|x-1) & bla /: POW(NATURAL*NATURAL)',
'-evalf', 'bla = %x.(x:NATURAL|x-1) & bla : POW(NATURAL*NATURAL)'
], 'Check issue in symbolic subset check solved'). % bug was in get_subset_counter_example_closure
cli_testcase(2385, [b_test], [
'./distribution_examples/Simple/ACounter.mch',
'./distribution_examples/Simple/Bakery0.mch',
'./distribution_examples/Simple/Bakery1.mch',
'./distribution_examples/Simple/GCD.mch',
'./distribution_examples/Simple/KnightsKnaves.mch',
% './distribution_examples/Simple/Lift.mch', % invariant violation
'./distribution_examples/LessSimple/CSM.mch',
'./distribution_examples/LessSimple/Schleusen.mch',
'./distribution_examples/LessSimple/SATLIB_blocksworld_medium.mch',
'./distribution_examples/LessSimple/SATLIB_uf20-903.mch',
'./distribution_examples/LessSimple/Sieve.mch',
'./distribution_examples/LessSimple/Sorting.mch',
'./distribution_examples/LessSimple/SortingUnicode.mch',
% './distribution_examples/LessSimple/TravelAgency.mch', % invariant violation
'./distribution_examples/LessSimple/phonebook.mch',
%'./distribution_examples/LessSimple/phonebook6.mch', % invariant violation
'./distribution_examples/LessSimple/scheduler.mch',
'./distribution_examples/LessSimple/tictac.mch',
'./distribution_examples/LessSimple/GraphColouring/GraphColouringNAT.mch',
'./distribution_examples/Records/Schleusen_Records.mch',
'./distribution_examples/Refinement/Server.mch',
'./distribution_examples/Refinement/ServerR.ref',
'./distribution_examples/Tutorial/StackConstructive.mch',
'./distribution_examples/Puzzles/Farmer.mch',
'./distribution_examples/Puzzles/GardnerSwitchingPuzzle_v2.mch',
'./distribution_examples/Puzzles/GolombRuler2.mch',
'./distribution_examples/Puzzles/Hanoi.mch',
'./distribution_examples/Puzzles/KissPassion.mch',
'./distribution_examples/Puzzles/NoNeighboursProblem.mch',
'./distribution_examples/Puzzles/PexSolve.mch',
'./distribution_examples/Puzzles/RussianPostalPuzzle.mch',
'./distribution_examples/Puzzles/SendMoreMoney.mch',
'./distribution_examples/Puzzles/SubsetSum2.mch',
'./distribution_examples/Puzzles/SudokuSETS9.mch',
'./distribution_examples/Puzzles/TrainTorchPuzzle.mch',
'./distribution_examples/Puzzles/WhoKilledAgatha.mch',
'./distribution_examples/GraphicalAnimation/BlocksWorldGeneric.mch',
'./distribution_examples/GraphicalAnimation/CopySavePasteTools.mch',
'./distribution_examples/GraphicalAnimation/Hanoi.mch',
'./distribution_examples/GraphicalAnimation/Jars.mch',
'./distribution_examples/GraphicalAnimation/LatinSquares.mch',
'./distribution_examples/GraphicalAnimation/Lift0.mch',
'./distribution_examples/GraphicalAnimation/Lift2.mch',
'./distribution_examples/GraphicalAnimation/Lift3.mch',
'./distribution_examples/GraphicalAnimation/Mandelbrot.mch',
'./distribution_examples/GraphicalAnimation/NQueens.mch',
'./distribution_examples/GraphicalAnimation/NQueens.mch',
'./distribution_examples/GraphicalAnimation/NQueensBig.mch',
'./distribution_examples/GraphicalAnimation/Puzzle8.mch',
'./distribution_examples/GraphicalAnimation/RushHour.mch',
'./distribution_examples/GraphicalAnimation/SamuraiSudoku_Hard.mch',
'./distribution_examples/GraphicalAnimation/SendMoreMoney.mch',
'./distribution_examples/GraphicalAnimation/SudokuAsConstant.mch',
'./distribution_examples/GraphicalAnimation/TwoQueensSevenKnights.mch',
'./distribution_examples/GraphicalAnimation/gol.mch',
'./distribution_examples/GraphicalAnimation/gol_v2.mch',
'./distribution_examples/GraphicalAnimation/scheduler.mch',
'-init', '-mc', 15, '-opterr', model_check_incomplete, '-nogoal', '-nodead' ], 'Check distribution examples can be loaded').
cli_testcase(2386, [b_test,cbc], [
'-evalf', 'x1 : (0 .. 4294967295) & x2 : (0 .. 255) & res = x1 / 2 ** x2 & res <0',
'-evalf', 'x1 : (0 .. 4294967295) & x2 : (0 .. 255) & res = x1 / 2 ** x2 & res > 4294967295',
'-evalf', 'x1 : (0 .. 4294967295) & x2 : (0 .. 255) & res = x1 / 2 ** x2 & res /: (0 .. 4294967295)',
'-evalt', 'x1 : (0 .. 4294967295) & x2 : (0 .. 255) & res = x1 / 2 ** x2 & res /: (1 .. 4294967295)'
], 'Check no CLPFD overflow').
cli_testcase(2387,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 2000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
'../private_examples/ClearSy/2023/perf_1124/rule.mch',
'-execute_all', '-execute_expect_steps', 5, %'-silent',
'-animate_stats',
'-evalt', 'card(caval__rule__1__ALL)=303',
'-evalt', 'card(caval__rule__2__ALL)=303',
'-evalt', 'card(caval__rule__3__ALL)=71',
'-evalt', 'caval__rule__3__done=TRUE'
], 'Fix issue in STRING_JOIN sorting too early').
cli_testcase(2388,[private,external,strings],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 2000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
'../prob_examples/examples/B/ClearSy/Caval/2023/perf_1124/rule_bugly.mch',
'-execute_all', '-execute_expect_steps', 5, %'-silent',
'-evalt', 'card(aaxc)=303',
'-evalt', 'card(aazc)=303',
'-evalt', 'card(aabd)=71',
'-evalt', 'aayc=TRUE'
], 'Fix issue in STRING_JOIN sorting too early'). % bugly version of test 2387
cli_testcase(2389, [b_test,infinite], [
'-evalt', 'NEG /\\ NATURAL = {} & NEG \\/ NATURAL = INTEGER ',
'-evalt', 'NEG /\\ NATURAL = {} & NEG \\/ NATURAL = INTEGER & -1:NEG & -1000:NEG & 0 /: NEG & 1/:NEG',
'-evalt', 'NEG /\\ NATURAL1 = {} & NEG \\/ NATURAL1 = INTEGER & -1:NEG & -1000:NEG & 0 : NEG & 1/:NEG',
'-evalt', 'NEG = {x|x < 0} & NEG /\\ NATURAL = {}',
'-evalt', 'NEG = {x|x < 1} & NEG /\\ NATURAL1 = {}',
'-evalf', 'NEG = {x|x < 1} & NEG /\\ NATURAL = {}',
'-evalt', 'NEG = {x|x < 1} & NEG \\/ NATURAL1 = INTEGER',
'-evalt', 'NEG = {x|x < 1} & NEG \\/ NATURAL = INTEGER',
'-evalt', 'NEG = {x|x /: NATURAL} & NEG \\/ NATURAL =INTEGER',
'-evalt', 'NEG = {x|x /: NATURAL} & NEG \\/ NATURAL1 = res & res /= INTEGER & 0/:res & 1000:res',
'-evalt', 'NEG = {x|x /: NATURAL} & NEG /\\ NATURAL = {}',
'-evalt', 'NEG = {x|x /: NATURAL} & NEG /\\ NATURAL1 = {}',
'-evalt', 'NEG = {x|x /: NATURAL1} & NEG /\\ NATURAL1 = {}',
'-evalf', 'NEG = {x|x /: NATURAL1} & NEG /\\ NATURAL = {}',
'-evalt', 'NEG = {x|x /: NATURAL1} & NATURAL1 /\\ NEG = {}'
], 'Check infinite partition works').
cli_testcase(2390, [b_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'./distribution_examples/Simple/Lift.mch', % invariant violation
'./distribution_examples/LessSimple/TravelAgency.mch', % invariant violation
'./distribution_examples/LessSimple/phonebook6.mch', % invariant violation
'-init', '-mc', 1500, '-bf',
'-expcterr', invariant_violation, '-nogoal', '-nodead' ], 'Check distribution examples can be loaded').
cli_testcase(2391, [external,json_trace_replay], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/ExternalFunctions/JSON/ReadProB2JSON.mch',
'-trace_replay', 'json', '../prob_examples/public_examples/B/ExternalFunctions/JSON/ReadProB2JSON.prob2trace'
], 'Check READ_JSON').
cli_testcase(2392, [cbc], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt_file', '../prob_examples/public_examples/B/B2SAT/pigeon/pigeon_bv_simple2_expanded2.eval',
'-evalt_file', '../prob_examples/public_examples/B/B2SAT/pigeon/pigeon_bv_simple2_expanded3.eval',
'-evalt_file', '../prob_examples/public_examples/B/B2SAT/pigeon/pigeon_bv_simple2_expanded5.eval'
], 'Check many quantifiers and disjunctions and merging of FD info from disjuncts').
cli_testcase(2393, [satsolver_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/B2SAT/pigeon/Pigeon_30_bv.mch', '-init',
'-properties'
], 'Test b2sat performance and quantifier expansion'). %SET_PREF_SOLVER_FOR_PROPERTIES
cli_testcase(2394, [smt_solver_integration], [
'-evalf', ':z3-sat A=TRUE & A=FALSE',
'-evalf', ':z3-sat A=TRUE & (A=FALSE or B=TRUE) & B=FALSE',
'-evalt', ':z3-sat A=TRUE & B=TRUE',
'-evalt', ':z3-sat A=TRUE & B=TRUE & (A=FALSE or B=FALSE or C=TRUE)',
'-evalf', ':z3-sat A=TRUE & B=TRUE & (A=FALSE or B=FALSE or C=TRUE) & C=FALSE',
'-evalt', ':z3-sat (A=TRUE => B=FALSE) & A=FALSE & B=TRUE',
'-evalf', ':z3-sat (A=TRUE => B=FALSE) & A=TRUE & B=TRUE',
'-evalf', ':z3-sat (A=TRUE <=> B=FALSE) & A=TRUE & B=TRUE',
'-evalt', ':z3-sat (A=TRUE <=> B=FALSE) & A=TRUE & B=FALSE',
'-evalt', ':z3-sat not(A=TRUE)',
'-evalf', ':z3-sat not(A=TRUE) & A=TRUE'
], 'Some simple tests for Z3 SAT solver').
cli_testcase(2395, [satsolver_test,smt_solver_integration], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', ':sat-z3-double-check x=TRUE or x=FALSE',
'-evalf', ':sat-z3-double-check x=TRUE & x=FALSE',
'-evalt', ':sat-z3-double-check x=TRUE & (x=TRUE => y=TRUE) & (y=TRUE => x=TRUE)',
'-evalf', ':sat-z3-double-check x=TRUE & (x=TRUE => y=TRUE) & (y=TRUE => x=FALSE)',
'-evalt', ':sat-z3-double-check x=TRUE & (x=TRUE <=> y=TRUE) & (y=TRUE <=> z=TRUE)',
'-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',
'-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',
'-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',
'-evalt', ':sat-z3-double-check n=12 & f:1..n-->BOOL & card({i|i:1..n & f(i)=TRUE})=1',
'-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',
'-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',
'-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',
'-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',
'-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',
'-evalt', ':sat-z3-double-check f:1..3-->BOOL & card({y|y:1..3 & f(y)=TRUE}) <=2 &f(1)=TRUE & f(3)=TRUE',
'-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',
'-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))',
'-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))',
'-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
'-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',
'-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',
'-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',
'-evalt', ':sat-z3-double-check f:1..n --> BOOL & n=50 & f(1)=TRUE & !i.(i:2..n => f(i) /= f(i-1))',
'-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',
'-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',
'-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',
'-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',
'-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'
], 'Test new satsolver backend (test 2355) but with Z3 as sat solver.').
cli_testcase(2396, [cbc,external,strings], [
'-evalt', '{x,y|conc([x,"_",y])="a_b"} = {("a"|->"b")}',
'-evalt', '{x|conc(x) = "a_b" & size(x)=3 & x(2)="_"} = {["a","_","b"]}',
'-evalt', '{x|conc(x) = "a_b" & size(x)=3 & x(2)=""} = {["","","a_b"],["a","","_b"],["a_","","b"],["a_b","",""]}',
'-evalf', 'conc(x)="a_b" & x(2)="x" & size(x)<3' % <4 does not work yet
], 'Test predicates with conc for strings').
cli_testcase(2397, [tickets,json_trace_replay], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tickets/LetPredicateReify/tictac_MCTS.mch',
'-trace_replay', 'json', '../prob_examples/public_examples/B/Tickets/LetPredicateReify/tictac_MCTS.prob2trace',
'-evalt', 'WIN(0) or WIN(1)',
'-evalt', 'not(WIN(1) => WIN(0))'
], 'Check let_predicate predicate reuse issue solved').
cli_testcase(2398, [tickets], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-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})}',
'-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'
], 'Check let_predicate predicate reuse issue solved').
cli_testcase(2399, [eventb_test,theories], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/EventBPrologPackages/Floats/AitSadoune_MEDI2023/TestPowOperator_ctx.eventb',
'../prob_examples/examples/EventBPrologPackages/Floats/AitSadoune_MEDI2023/TestFloatTheory2_ctx.eventb',
'../prob_examples/examples/EventBPrologPackages/Floats/AitSadoune_MEDI2023/TestFloatTheory3_ctx.eventb',
'-init', '-assertions'],'Check float theory with axiomatic operators via set comprehensions').
cli_testcase(2400, [eventb_test,theories,json_trace_replay], [
'../prob_examples/examples/EventBPrologPackages/Floats/AitSadoune_MEDI2023/mch_floating_point_speed2_v2.eventb',
'-trace_replay', 'json', '../prob_examples/examples/EventBPrologPackages/Floats/AitSadoune_MEDI2023/mch_floating_point_speed2_v2.prob2trace',
'-expcterr', 'virtual_time_out'],'Check overriding direct def predicate operators via set comprehensions').
cli_testcase(2401, [laws], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', '{n|n>0 & 2**n <= 7} = 1..2',
'-evalt', '{n|n>0 & 2**n <= 8} = 1..3',
'-evalt', '{n|n>0 & 2**n <= 1024} = 1..10',
'-evalt', '{n|n>0 & 2**n <= 1023} = 1..9',
'-evalt', '{n|n>0 & 2**n <= 2000} = 1..10',
'-evalt', '{n|n>0 & 2**n <= 2**33+1} = 1..33',
'-evalt', '{n|n>0 & 3**n <= 3**10} = 1..10',
'-evalt', '!b.(b:2..10 => {n|n>0 & b**n <= b**10} = 1..10)',
'-evalt', '!b.(b:2..10 => {n|n>0 & b**n <= b**11-1} = 1..10)'
], 'Check power propagation').
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',
'-dot', 'last_error', '../prob_examples/public_examples/EventBPrologPackages/MultiLevel/TestMC_m1_sim_error.dot'], 'Test dot visualisation of simulation error from test 148').
cli_testcase(2403, [eventb_test,theories], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Theory/Inductive/BaumTest_ctx.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Theory/Inductive/BaumTest2_ctx.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Theory/Inductive/TestInductiveRecOp_ctx.eventb',
'-init', '-assertions'],'Check inductive datatypes').
cli_testcase(2404, [tickets], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'DATA_VALIDATION', 'TRUE',
'-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',
'-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}'
],'Check interference between predicate reuse of exists in reification and non-required predicates').
cli_testcase(2405,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 2000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
'../private_examples/ClearSy/2024/perf_0126/rule_RVF192_MSVI_FOLIO.mch',
'-execute_all', '-execute_expect_steps', 3, %'-silent',
'-animate_stats',
'-evalt', 'card(caval__rule__1__ALL)=0',
'-evalt', 'caval__rule__1__done=TRUE'
], 'Check interference between predicate reuse of exists in reification and non-required predicates').
cli_testcase(2406,[private_source_not_available],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'JVM_PARSER_HEAP_MB', '12000', '-p', 'TIME_OUT', 2000, '-p', 'DATA_VALIDATION', 'TRUE', '-release-java-parser',
'../private_examples/ClearSy/2023/Machines_perf_0323/CCSL/rule_TYPES_AUTORISES_RVF3_GEN__MRGA.mch',
'-execute_all', '-execute_expect_steps', 3, %'-silent',
'-animate_stats',
'-evalt', 'card(caval__rule__1__ALL)=84458',
'-evalt', 'caval__rule__1__done=TRUE'
], 'Performance check for non-det reification of exists').
cli_testcase(2407, [eventb_test,theories,json_trace_replay], [
'../prob_examples/examples/EventBPrologPackages/ABZ2023/Mammar_v15/M3_sep5_mch.eventb',
'-trace_replay', 'json', '../prob_examples/examples/EventBPrologPackages/ABZ2023/Mammar_v15/M3_sep5_mch.prob2trace',
'-expcterr', 'setup_constants_unknown',
'-expcterr', 'virtual_time_out'],'Check prob-ignore label recognised with 8722 hyphen').
cli_testcase(2408, [eventb_test], ['../prob_examples/examples/EventBPrologPackages/ABZ2023/Mammar_v16/C2_ctx.eventb', '-mc', '10', '-strict',
'-nodead', '-expcterr', 'model_check_incomplete'], 'Test cardinality inference for deferred set works').
cli_testcase(2409, [eventb_test,theories,json_trace_replay,visb], [
'../prob_examples/examples/EventBPrologPackages/ABZ2023/Mammar_v19/M8_mch.eventb',
'-trace_replay', 'json', '../prob_examples/examples/EventBPrologPackages/ABZ2023/Mammar_v19/M8_mch.prob2trace',
'-visb', '../prob_examples/examples/EventBPrologPackages/ABZ2023/Mammar_v19/visualization/AMAN_M8_vis.json',
'../prob_examples/examples/EventBPrologPackages/ABZ2023/Mammar_v19/m8_VisB.html'
],'Check that new description_event terms recognised').
cli_testcase(2410, [kodkod], [ '-p', 'KODKOD_RAISE_WARNINGS', 'TRUE',
'-evalt', ':kodkod sss - {TRUE} = {} & sss = {TRUE} '
,'-evalt', ':kodkod sss - {TRUE} = {FALSE} & sss /= {FALSE}'
,'-evalf', ':kodkod sss - {TRUE} = {FALSE} & FALSE /: sss'
,'-evalt', ':kodkod sss - {1,4,5} = {} & sss = {1,4,5}'
], 'check constraint propagation bug for set_subtraction fixed').
cli_testcase(2411, [b_test, imp, refinement,while], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/B2Sol/SAC_2024_CaseStudy/B_weth_i.imp', '-mc', 100,
'-expcterr', 'model_check_incomplete'
], 'Check visibility and $0 access in invariant of while loops').
cli_testcase(2412, [b_test, operation_reuse,while], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-p', 'OPERATION_REUSE', 'TRUE', '-p', 'COMPRESSION', 'TRUE',
'../prob_examples/public_examples/B/PerformanceTests/codegenerator/SetCardBig.mch', '-mc', 100,
'-cc', 3,3
], 'Check correct read info for while loop').
cli_testcase(2413,[private,systerel],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/Systerel/Ticket_C578.EML.010/bug65anofirst_wo_adc_pragma.mch',
'-p', 'DOUBLE_EVALUATION', 'FALSE', '-aa', 4, 0, 0, '-init', '-p', 'CLPFD', 'FALSE', % much slower with CLPFD
%'-p', 'SYMBOLIC', 'TRUE', % this takes very long
'-p', 'TIME_OUT', 10000
], 'Check ticket Ticket_C578.EML.010 from 2013'). % used to be big difference from source, much slower than with probcli
cli_testcase(2414, [smt_solver_integration], [
'../prob_examples/public_examples/EventBPrologPackages/Abrial_Train_Ch17/Train_1_beebook_tlc.mch', '-init',
'-p', 'TIME_OUT', '30000',
'-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))',
'-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))',
'-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)',
'-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))'
], 'check AST optimization for z3').
cli_testcase(2415, [cbc,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'-evalt', 'F=%x.(x:INTEGER|x+1) & F /: FIN(F)',
'-evalt', 'F=%x.(x>2|x+1) & F /: FIN(F)',
'-evalt', 'F=%x.(x>2 or x=0|x+1) & F /: FIN(F)',
% '-evalt', 'F=%x.(x=10 or x<0|x+1) & F /: FIN(F)', % does not work yet
'-evalt', 'F= %(x,y).(x=y+1 & y=x+1 | x+y) & F : FIN(F)',
'-evalt', 'F=%x.(x:NATURAL1 & x/=2 & x/=4| x+1)',
'-evalt', 'F=%afh.(afh: INTEGER +-> INTEGER & afh/={} | card(afh))',
'-evalt', 'F=%afh.(afh: INTEGER +-> INTEGER & {}/=afh | card(afh))',
'-evalt', 'F=%afh.(afh: INTEGER <-> INTEGER & {}/=afh | card(afh))',
'-evalt', 'F=%afh.(afh: INTEGER --> INTEGER & {}/=afh | card(afh))',
'-evalt', 'F=%afh.(afh: BOOL --> INTEGER & {}/=afh | card(afh))',
'-evalt', 'F=/*@symbolic*/{x| x:S1 or x:S2} & F /: FIN(F) & S1<:INTEGER & S1 = NATURAL1 & S2 <: 1..5',
'-evalt', 'F=/*@symbolic*/{x| x:S1 or x:S2} & F /: FIN(F) & S1<:INTEGER & S1 <: 1..5 & S2 = NATURAL1',
'-evalt', 'F=%x.(x:NATURAL1 & x/=2 & x/=4| x+1) & F /: FIN(F)',
'-evalt', 'F=%x.(x:POW(NATURAL1) & x/={}| card(x)) & F /: FIN(F)',
'-evalt', 'F=%x.(x:POW(INTEGER) & x/={}| card(x)) & F /: FIN(F)',
'-evalt', 'F=%afh.(afh: INTEGER --> INTEGER & {}/=afh | card(afh)) & F /: FIN(F)',
'-evalt', 'F=%afh.(afh: POW(INTEGER --> INTEGER) & {}/=afh | card(afh)) & F /: FIN(F)',
'-evalt', 'F=%afh.(afh: seq(STRING +-> INTEGER) & {}/=afh | card(afh)) & F /: FIN(F)',
'-evalf', 'F=%afh.(afh: seq({}) & afh:INTEGER<->INTEGER & {}/=afh | card(afh)) & F /: FIN(F)',
'-evalt', 'F=%afh.(afh: seq({}) & afh:INTEGER<->INTEGER & {}/=afh | card(afh)) & F : FIN(F)',
'-evalt', '%(afh,afi).(afh: INTEGER +-> INTEGER & afh/={} & afi: INTEGER |afi)=F & F/:FIN(F)'
], 'check improved infinite detection allowing not_equal works').
cli_testcase(2416, [b_test,closure1,infinite,wd], ['../prob_examples/public_examples/B/Tickets/Hansen7/ClosureTest_NotWD.mch', '-init',
'-expecterr', 'well_definedness_error', '-opterr', 'setup_constants_unknown',
'-opterr', 'virtual_time_out', '-expcterr', 'setup_constants_fails'
], 'Version of test 1879 where wd error not masked by failure').
cli_testcase(2417, [eventb_test,theories,json_trace_replay,visb], [
'../prob_examples/public_examples/B/Tickets/TraceReplaySlow/Execute_by_Predicate_Problem_Enumerated.mch',
'-p', 'MAX_OPERATIONS', 0, % avoid virtual_time_out
'-trace_replay', 'json', '../prob_examples/public_examples/B/Tickets/TraceReplaySlow/Execute_by_Predicate_Problem_Enumerated.prob2trace'
],'Check that execute by predicate with seq. composition and becomes_such works').
cli_testcase(2418, [eventb_test,card], [
'../prob_examples/examples/EventBPrologPackages/Soton/Property/c0_property_Prob_ctx_v1.eventb',
'-init'], 'Check deferred set detection works via card(.) axiom of other deferred set').
cli_testcase(2419, [eventb_test,card], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/EventBPrologPackages/Toulouse/Riviere/bdi/TermsContext_ctx.eventb',
'-p', 'DEFAULT_SETSIZE', 20,
'-init'], 'Check deferred max set size detection works via card(.) and partition').
cli_testcase(2420, [eventb_test,infinite,theories], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/EventBPrologPackages/Toulouse/Riviere/bdi/bdireasoning_mch_v2.eventb',
'-p', 'DEFAULT_SETSIZE', 20,
'-init'], 'Check no virtual time-out due to function with symbolic results').
cli_testcase(2421, [b_test,proz,theories,infinite],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/NewSyntax/FreeTypeInFreeType.mch',
'-init','-assertions'],
'Check freetypes can use fields with other freetypes as type').
cli_testcase(2422, [tla,reals,external],['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/TLA/Reals/Demo01_generated.mch',
'-init'],
'Check TLA+ division via CHOOSE is treated').
cli_testcase(2423, [reals,external], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'REAL_SOLVER', float_solver,
'-evalt', '{x|0.001 + x = 1000.0} = {999.999}',
'-evalt', '{x|x+1.0=3.0} = {y|y=3.0-1.0}',
'-evalt', '{x|x-1.0=3.0} = {y|y=3.0+1.0}',
'-evalf', 'X+10.0e10 = 1.0e-9 & sol=-1.0E+11 & (X=sol or X=RNEXT(sol) or RNEXT(sol)=X)'
], 'check deterministic constraint propagation for real addition/subtraction').
cli_testcase(2424, [reals,external], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'REAL_SOLVER', float_solver,
'-evalt', '{x,y,ok|RNEXT(100.0) = x & x = RNEXT(y) & (y=100.0 <=> ok=TRUE)} = {(100.00000000000001|->100.0|->TRUE)}',
'-evalt', 'REPSILON>0.0',
'-evalt', 'RNEXT(0.0) = REPSILON',
'-evalt', 'RMAXFLOAT > 10.0E30'
], 'check new float operators').
cli_testcase(2425, [reals,external], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'REAL_SOLVER', precise_float_solver,
'-evalt', '{x|0.001 + x = 1000.0} = {999.999}',
'-evalt', '{x|0.001 - x = 1000.0} = {-999.999}',
'-evalt', '{x|300.0-x=20.0} = {280.0}',
'-evalt', '{x|x-180.0=20.0} = {200.0}',
'-evalf', 'X+10.0e10 = 1.0e-9 & sol=-1.0E+11 & (X=sol or X=RNEXT(sol) or RNEXT(sol)=X)', % non-solution rejected
'-evalt', '{x|10.0e10 = 1.0e-9-x} = {-1.0E+11}', % but it is a solution for minus
'-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
'-evalt', '{x|1.0 = 3.0 - x} = {2.0}',
'-evalt', '{x|2.0*x=4.0} = {2.0}',
'-evalt', '{x|x*2.0=4.0} = {2.0}',
'-evalf', 'x*0.0 = 2.0',
'-evalt', 'x * 12.0 = 4.0 & RPREV(p)=4.0/12.0 & x:{p,1.0,2.0}' % check that succ accepted as solution
%'-evalt', '{x|x+1.0=3.0} = {y|y=3.0-1.0}', % rejected due to ambiguous solution
], 'check deterministic constraint propagation with default precise solver'). % these tests rely on 64-bit floats
cli_testcase(2426, [wd], [
'-evalt', ':wd x:seq(1..10) & !i.(i:2..size(x) => x(i-1)<x(i))'
], 'check wd works with arithmetic manipulations of sequence indexes ').
cli_testcase(2427, [private_source_not_available], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/examples/B/PlanPro/PlanProGross.mch', '-init',
'-release-java-parser', '-p', 'JVM_PARSER_HEAP_MB', 12000, '-p', 'COMPRESSION', 'TRUE',
'-p', 'jvm_parser_fastrw', 'TRUE', '-p', 'TIME_OUT', 30000
], 'check SICS 4.9 call_cleanup performance problem solved'). % source is available but test takes quite long
cli_testcase(2428, [eventb_test,infinite,theories], [
'../prob_examples/examples/EventBPrologPackages/Toulouse/Riviere/HorlageDeepInstance_ctx.eventb', '-init',
'-evalt', 'BAP(clock)[{tick_midnight}][Inv(clock) /\\ Grd(clock)[{tick_midnight}]] <: Inv(clock)',
'-evalt', 'BAP(clock)[{tick_min}][Inv(clock) /\\ Grd(clock)[{tick_min}]] <: Inv(clock)',
'-evalt', 'BAP(clock)[{tick_min}][AP(clock)] = {1|->0}',
'-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)
'check symbolic image treatment works').
cli_testcase(2429, [eventb_test,infinite,theories], [
'../prob_examples/examples/EventBPrologPackages/Toulouse/Riviere/HorlogeDeepMachine_mch.eventb', '-model-check', '-noass',
'-cc', 1442, 1442],
'check symbolic image treatment works'). % still generates a lot of enum warnings on the console, TODO: fix
cli_testcase(2430, [reals,external], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE', '-p', 'REAL_SOLVER', precise_float_solver,
'-evalt', '{x|x + 2.0 = 3.0} = {0.9999999999999998,0.9999999999999999,1.0,1.0000000000000002}',
'-evalt', 'card({x|x + 2.0 = 3.0}) = 4',
'-evalt', 'card({x|x + 1.0 = 3.0}) = 2',
'-evalt', 'card({x|x + 2.5 = 3.0}) = 7',
'-evalt', '0.5000000000000002 : ({x|x + 2.5 = 3.0})',
'-evalt', 'x + 2.99 = 3.0 & x:{0.01, 0.02}',
'-evalt', '{x|x*3.0 = 4.0} = {1.3333333333333333,1.3333333333333335}',
'-evalt', '{x,y|x+0.005 = 0.006 & y+0.005 = x} = {(0.001|->-0.004)}',
'-evalt', '{y|y+0.005 = 0.0009999999999999998} = {}',
'-evalf', 'y+0.005 = 0.0009999999999999998',
'-evalf', 'y*y = -0.01',
%'-evalt', 'y*y = 0.0', % can be solved but currently generates enumeration warning as there are many solutions
'-evalt', 'y*y = 4.0',
'-evalt', '{y|y*y = 16.0}={-4.0,4.0}',
'-evalt', '{y|y*y = 100.0}={-10.0, 10.0}',
'-evalt', '{y|y*y = 3.0}={}',
'-evalt', '{y|y**2 = 16.0}={-4.0,4.0}',
'-evalt', '{y|y**2 = 100.0}={-10.0, 10.0}',
'-evalt', '{y|y**2 = 3.0}={}',
'-evalt', 'c=card({y|y*y=x}) & x = 2.0E-309 & c=14', % there are 7 square roots
'-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
'-evalt', '{i|i:10..20 & 10.0**i + 1.0 = 10.0**i} = 16..20',
'-evalt', '{y|y/2.0 = 4.0}={8.0}',
'-evalt', '{x|x / 0.01 = 3.0}={0.03,0.030000000000000002}',
'-evalt', '{x|RABS(x) = 2.0} = {2.0, -2.0}',
'-evalt', '{x|RABS(x) = -2.0} = {}',
'-evalt', '{x|RABS(x) = 0.0} = {0.0}',
'-evalt', '{x| -x = 2.0} = {-2.0}',
'-evalt', '{y|x = RSQRT(y)}=r & x=4.0 & r={16.0,16.000000000000004}',
'-evalt', '{y|x = RSQRT(y)}=r & x=-4.0 & r={}'
], 'check non-deterministic constraint propagation with default precise solver'). % these tests rely on 64-bit floats
cli_testcase(2431, [reals,json_trace_replay,visb], [
'../prob_examples/public_examples/B/VisB/Physics/MovingParticles4.mch',
'-trace_replay', 'json', '../prob_examples/public_examples/B/VisB/Physics/MovingParticles4.prob2trace',
'-visb', '../prob_examples/public_examples/B/VisB/Physics/four_bodies.json',
'../prob_examples/public_examples/B/VisB/Physics/MovingParticles4.html'], 'Check JSON replay and VisB HTML generation with reals').
cli_testcase(2432, [tickets,theories], [
'../prob_examples/public_examples/EventBPrologPackages/Tickets/IllegalEvent/J_ClientServer_mch.eventb',
'-mc', 100, '-nodead', '-cc', 17, 16], 'Check issue with adding non-default declaration to events solved').
cli_testcase(2433, [rulesdsl], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/Rules_Machines/RulesExample.rmch',
'-execute_all',
'-evalt', 'TestOnSuccess = "FAIL"',
'-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")}',
'-evalt', 'TestOnSuccess_Successful = {(1,"success for x = 3"),(1,"success for x = 5"),(2,"success for x = 4")}'
], 'Check success messages and counter examples of rulesdsl.').
cli_testcase(2434, [cbc,infinite], [
'../prob_examples/public_examples/B/Mathematical/DecompositionNaturalNumber.mch',
'-init', '-assertions'], 'Check example with infinite functions work').
cli_testcase(2435, [rulesdsl], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/Rules_Machines/TestDependency.rmch',
'-execute_all', '-execute_expect_steps', 6,
'-evalt', 'check_y="SUCCESS"', '-evalt', 'check_y_Counterexamples={}',
'-evalt', 'check_y_sum="SUCCESS"', '-evalt', 'check_y_sum_Counterexamples={}',
'-evalt', 'set_limit="EXECUTED"', '-evalt', 'limit=10',
'-evalt', 'set_x_to_prime="EXECUTED"', '-evalt', 'x={13}',
'-evalt', 'set_y_to_next_primes="EXECUTED"', '-evalt', 'y={13,17,19,23}'
], 'Check simple Rules machine').
cli_testcase(2436, [cbc,infinite,smt_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE', '-p', 'SMT', 'TRUE',
'-evalt', 'a:1..10 & c:1..10 & f(a)=c & f:NATURAL1 --> NATURAL1',
'-evalt', 'f(a)=c & f:NATURAL1 --> NATURAL1 & a:1..10 & c:1..10',
'-evalt', 'f(2)=3 & f(3)=4 & f:NATURAL1 --> NATURAL1'
], 'check force_in_domain does not instantiate too early').
cli_testcase(2437, [cbc,infinite], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'FALSE', '-p', 'SMT', 'TRUE',
'-evalt', 'cs = INTEGER \\ (1..100) & x: cs & x>0',
'-evalf', 'cs = INTEGER \\ (1..1000) & x: cs & x>0 & x<999',
'-evalt', 'cs = INTEGER \\ (1..1000) & x: cs & x>2',
'-evalt', '(x<1 or x>100) & x>0',
'-evalt', 'x /: 1..100 & x>0'
], 'check not element of avl interval propagates CLPFD info').
cli_testcase(2438, [b_test,proz,theories], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/NewSyntax/FreeTypeNonRecursive.mch',
'-init', '-assertions'], 'Check examples with finite freetypes').
cli_testcase(2439, [laws,theories], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Laws/SetLawsFreeType.mch',
'../prob_examples/public_examples/B/Laws/SetLawsFreeType2.mch',
'../prob_examples/public_examples/B/Laws/SetLawsFreeType3.mch',
'-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
cli_testcase(2440, [laws,theories], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Laws/SeqLawsFreeType.mch',
'-mc', '500', '-cs', '-nogoal', '-nodead', '-strict'], 'Mathematical Laws about sequences with finite freetype elements').
cli_testcase(2441, [laws,theories], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Laws/RelLawsFreeType.mch',
'../prob_examples/public_examples/B/Laws/RelLawsFreeType2.mch',
'-mc', '500', '-cs', '-nogoal', '-nodead', '-strict',
'-p', 'DOUBLE_EVALUATION', 'TRUE', '-expcterr', 'model_check_incomplete'], 'Mathematical Laws about relations with finite freetype elements').
cli_testcase(2442, [laws,theories], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Laws/SeqLawsFreeType2.mch',
'-noass', % they still lead to a time-out
'-mc', '500', '-cs', '-nogoal', '-nodead', '-strict'], 'Mathematical Laws about sequences with finite freetype elements').
cli_testcase(2443, [laws,eventb_test,theories], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/EventBPrologPackages/Laws/SetLaws.eventb',
'../prob_examples/public_examples/EventBPrologPackages/Laws/SetLaws2_mch.eventb',
'-mc', '513', '-cs', '-nogoal', '-nodead', '-strict'], 'Mathematical Laws about sets with finite freetype elements').
cli_testcase(2444, [laws,theories], [
'../prob_examples/public_examples/B/Laws/SetLawsPowFreetypes.mch', % 4098 states
'../prob_examples/public_examples/B/Laws/SetLawsPowBOOL.mch',
'-mc', '500', '-nogoal', '-nodead', '-strict', '-expcterr', 'model_check_incomplete'], 'Laws about sets of sets with freetypes').
cli_testcase(2445, [laws,theories], [
'../prob_examples/public_examples/B/Laws/SetLawsPowPowFreetypes.mch',
'../prob_examples/public_examples/B/Laws/SetLawsPowPowBOOL.mch',
'-mc', '50', '-nogoal', '-nodead', '-strict', '-expcterr', 'model_check_incomplete'], 'Laws about sets of sets of sets with freetypes').
cli_testcase(2446, [satsolver_test], ['-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/B2SAT/isomorphism/Iso2.mch',
'-init', '-assertions'
], 'Check example with equality for graph1 late in properties works').
cli_testcase(2447, [json_trace_replay,b_test], [
'../prob_examples/public_examples/B/Tester/OpParameters/OpAnyParaTest.mch', '-prob-profile',
'-expecterr', 'virtual_time_out',
'-trace_replay', 'json', '../prob_examples/public_examples/B/Tester/OpParameters/OpAnyParaTest.prob2trace'], 'Check JSON replay with virtual ANY params').
cli_testcase(2448, [json_trace_replay,operation_reuse], [
'../prob_examples/public_examples/B/Tester/OpParameters/OpAnyParaTest.mch', '-prob-profile',
'-expecterr', 'virtual_time_out', '-p', 'OPERATION_REUSE', 'TRUE',
'-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
cli_testcase(2449, [b_test], [
'../prob_examples/public_examples/B/FeatureChecks/INCLUDES_USES_SEES/InitialisationOverride/TestOverrideInit2.mch',
'../prob_examples/public_examples/B/FeatureChecks/INCLUDES_USES_SEES/InitialisationOverride/TestOverrideInit3.mch',
'../prob_examples/public_examples/B/FeatureChecks/INCLUDES_USES_SEES/InitialisationOverride/TestOverrideInit4.mch',
'-p', 'ALLOW_INITIALISATION_OVERRIDE', 'TRUE', '--model-check', '-nodead', '-cc',2,1], 'Check new feature to allow overriding INITIALISATION').
cli_testcase(2450, [b_test], [
'../prob_examples/public_examples/B/FeatureChecks/INCLUDES_USES_SEES/InitialisationOverride/TestOverrideInit2.mch',
'../prob_examples/public_examples/B/FeatureChecks/INCLUDES_USES_SEES/InitialisationOverride/TestOverrideInit3.mch',
'../prob_examples/public_examples/B/FeatureChecks/INCLUDES_USES_SEES/InitialisationOverride/TestOverrideInit4.mch',
'-p', 'ALLOW_INITIALISATION_OVERRIDE', 'FALSE', '-expecterr', 'type_error', '-expecterr', 'load_main_file'], 'Check error when new feature not activated').
cli_testcase(2451, [b_test,external,hash], [
'../prob_examples/public_examples/B/ExternalFunctions/SHA/TestShaHashFile.mch', '-init', '-assertions'], 'Check SHA_HASH_FILE_HEX external function').
cli_testcase(2452, [tickets,private], [
'../prob_examples/examples/B/ClearSy/Tickets/mejia_exception/DLFunctions_1.mch', '-init', '-assertions', '-p', 'TIME_OUT', 2500], 'Check exception when doubling priority fixed').
cli_testcase(2453, [b_test,json_trace_replay], [ '-p', 'STRICT_RAISE_ENUM_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tester/DefRecordFieldTest1.mch',
'-trace_replay', 'json', '../prob_examples/public_examples/B/Tester/DefRecordFieldTest1.prob2trace'
], 'Check definition can rewrite record fields').
cli_testcase(2454, [b_test], [
'-p', 'STRICT_RAISE_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tester/DefRecordFieldTest2_err.mch', '-init',
'-expcterrpos', 'type_error', 5, 21,
'-expcterrpos', 'definition_rewrite', 9, 13, '-expcterr', load_main_file
], 'Check illegal definition rewrite of record field detected').
cli_testcase(2455, [json_trace_replay,visb], [
'../prob_examples/public_examples/B/VisB/GroupExample2.mch',
'-trace_replay', 'json', '../prob_examples/public_examples/B/VisB/GroupExample2.prob2trace',
'-visb', '',
'../prob_examples/public_examples/B/VisB/GroupExample2.html'], 'Check PROB_REQUIRED_VERSION definition and using tuples for VISB_SVG_OBJECTS').
cli_testcase(2456, [b_test], [
'-p', 'STRICT_RAISE_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tester/ProBRequiredVersionTest.mch', '-init',
'-expcterrpos', 'prob_too_old', 3, 26], 'Check PROB_REQUIRED_VERSION reports prob too old').
cli_testcase(2457, [json_trace_replay,b_test], [
'-p', 'STRICT_RAISE_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tester/DefTestIdentifierList.mch',
'-trace_replay', 'json', '../prob_examples/public_examples/B/Tester/DefTestIdentifierList.prob2trace'], 'Check definition with list of ids can be used').
cli_testcase(2458, [json_trace_replay,visb], [
'-p', 'STRICT_RAISE_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/VisB/GroupExample3.mch',
'-trace_replay', 'json', '../prob_examples/public_examples/B/VisB/GroupExample3.prob2trace',
'-visb', '',
'../prob_examples/public_examples/B/VisB/GroupExample3.html'], 'Check new group_id feature').
cli_testcase(2459, [b_test,wd], [
'-expcterr', well_definedness_error,
'-evalnwd', 'x={i,j|i:0..10 & j={v|v:0..i & v/(10-i) > 0}}',
'-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}}',
'-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} }',
'-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}',
'-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',
'-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',
'-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}}} }',
'-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',
'-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}}'
% TODO: this should probably be caught as not WD,
% we need to avoid assigning set compr result in case of WD error which makes card fail
% 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
],
'Check wd treatment for nested set comprehensions').
cli_testcase(2460, [private_source_not_available], [
'../private_examples/ClearSy/2024/wd_test/scenario_figure_24_prob.prob',
'-trace_replay', 'json','../private_examples/ClearSy/2024/wd_test/scenario_figure_24_prob.prob2trace',
'-evalnwd', 'GET_IS_ENABLED("rbc_calcul_loc_dht_aval")=TRUE',
'-expcterr', well_definedness_error,
'-visb', '',
'../private_examples/ClearSy/2024/wd_test/scenario_figure_24_prob.html'], 'Check wd error detected').
cli_testcase(2461, [b_test,infinite], [
'-evalt', 'f = prj1(INTEGER,INTEGER) & comp = ((f ; [11,22,33]) ; succ) & res = comp(2,99999)',
'-evalt', 'f = prj1(INTEGER,INTEGER) & comp = (f ; ([11,22,33] ; succ)) & res = comp(2,99999)', % already worked before
'-evalt', 'f = prj1(NATURAL,INTEGER) & comp = ((f ; [11,22,33,44,55]) ; succ) & res = comp(5,99999)',
'-evalt', ' f = prj1(2..3,INTEGER) & comp = ((f ; [11,22,33,44,55]) ; succ) & 34=comp(3,1)',
'-evalt', 'f = prj1(INTEGER,INTEGER) & comp = ((f ; [11,22,33,44,55]) ; succ) & comp[(2..2)*{1}] = {23}',
'-evalt', 'f = prj1(INTEGER,INTEGER) & comp = ((f ; [11,22,33,44,55]) ; succ) & comp[(2..3)*{1}] = {23,34}',
'-evalt', 'f = prj1(NATURAL,INTEGER) & comp = ((f ; [11,22,33,44,55]) ; succ) & comp[(2..2)*{1}] = {23}'
], 'Check some infinite compositions now work by detecting projection').
cli_testcase(2462, [b_test,external,records,rulesdsl,xml], [
'../prob_examples/examples/Rules/railML_FLB/RailML3_validation.rmch',
'-execute_all', '-execute_expect_steps', 234, %'-animate-stats',
'-evalt', 'card(warnings_tvdSection_Counterexamples)=2 & warnings_tvdSection_Successful={}'
], 'Test larger railML example'). % generates enum warnings
cli_testcase(2463, [b_test,external,recursion,infinite], [
'-p', 'STRICT_RAISE_WARNINGS', 'TRUE',
'../prob_examples/examples/B/SupervisoryControl/non_ground_closure/section5_1_5_2.mch',
'-model-check', '-expecterr', model_check_incomplete, '-cc', 4, 46
], 'Test supervisory control example which used to generate non-ground closure message').
cli_testcase(2464, [b_test,external,recursion,infinite], [
'-p', 'STRICT_RAISE_WARNINGS', 'TRUE',
'../prob_examples/examples/B/SupervisoryControl/performance_test/test_composite_component_LB_processing.mch',
'-execute_all', '-execute_expect_steps', 7
], '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
cli_testcase(2465, [tickets,json_trace_replay], [
'-p', 'STRICT_RAISE_WARNINGS', 'TRUE',
'../prob_examples/public_examples/B/Tickets/ForallBothTrueFalse_NotCallResidue/ProB_Rodin_PO_SelectedHyps.mch',
'-trace_replay', 'json','../prob_examples/public_examples/B/Tickets/ForallBothTrueFalse_NotCallResidue/ProB_Rodin_PO_SelectedHyps.prob2trace'
], 'Test call residue in disprover mode solved').
cli_testcase(2466, [b_test,cbc], [
'-p', 'STRICT_RAISE_WARNINGS', 'TRUE',
'-evalt', 'chams:POW({TRUE}*STRING*INTEGER) & cproj={("a"|->13),("b"|->17),("c"|->19)} & cproj = {c2,c3| TRUE|->c2|->c3:chams}', % worked before
'-evalt', 'chams:POW({TRUE}*STRING*INTEGER) & col={"b"}& cproj:col-->INTEGER & cproj[{"b"}]={13} & cproj = {c2,c3| TRUE|->c2|->c3:chams}',
'-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}',
'-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
'-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
'-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 }'
], 'Check closure expansion results are lazily checked').
cli_testcase(2467, [cbc,alloy], [
'-p', 'STRICT_RAISE_WARNINGS', 'TRUE',
'../prob_examples/public_examples/Alloy/Alloy6/chameleons_schmidt_Internal1b.mch',
'-model-check', '-cc', 362, 992
], 'Test adapted version of conversion of Alloy6 chameleon model').
cli_testcase(2468, [b_test,cbc], [
'-p', 'STRICT_RAISE_WARNINGS', 'TRUE',
'-evalt', '{} /= {x|x>10 & x< 7000000 & x mod 10 = 0}', % takes 0.7 secs when expanded
'-evalt', '{x|x>10 & x< 7000000 & x mod 10 = 0} /= {}',
'-evalt', '{} /= {x|x>10 & x< 7000000 & x mod 10 = 0}',
'-evalt', '{i|i:1..100 & {x|x>10 & x< 7000000+i & x mod 10 = 0} /= {}} = 1..100', % now takes 3 ms
'-evalt', '{i|i:1..100 & {} /= {x|x>10 & x< 7000000+i & x mod 10 = 0} } = 1..100',
'-evalt', '{i|i:1..100 & {} /= {x|x>10 & x< 10+i & x mod 100 = 0} } = 91..100'
], 'Test comprehension sets not expanded').
cli_testcase(2469,[wd,wd_prover],[
'-evalt', ':prove x:POW1(BOOL) => x \\/ y /= {}',
'-evalu', ':prove x:POW1(BOOL) => x \\ y /= {}',
'-evalu', ':prove x:POW1(BOOL) & x<:y => x \\ y /= {}',
'-evalt', ':prove x:POW1(BOOL) & x/<:y => x \\ y /= {}',
'-evalt', ':prove x:POW1(BOOL) & y<<:x => x \\ y /= {}',
'-evalu', ':prove a <: b & a<:BOOL => b\\a = {}',
'-evalt', ':prove a <: b & a<:BOOL => a\\b = {}',
'-evalt', ':prove a <<: b & a<:BOOL => a\\b = {}',
'-evalt', ':prove a = b & a<:BOOL => a\\b = {}',
'-evalt', ':prove a = b & a<:BOOL => POW1(a\\b) = {}',
'-evalt', ':prove a <: b & a<:BOOL => x /: a\\b',
'-evalt', ':prove a <: b & a<:BOOL => x /\\ a\\b = {}',
'-evalt', ':prove a<b => a..b /= {}',
'-evalt', ':prove a<b => b..a = {}',
'-evalt', ':prove a<b => POW1(b..a) = {}',
'-evalt', ':prove a<b => dom((POW1(b..a)*NATURAL)~) = {}',
'-evalu', ':prove x<<:{1} => {}=x<->x',
'-evalt', ':prove x<<:{1} => {}/=x<->x',
'-evalu', ':prove x<<:{1,2} => {}/={1}<<->x',
'-evalu', ':prove x<<:{1,2} => {}/={1}-->x',
'-evalt', ':prove x<<:{1,2} => {}/=x<<->{1}',
'-evalt', ':prove x<<:{1,2} => {}/=x-->{1}',
'-evalt', ':prove x<<:{1,2} => {}/=x<<->x',
'-evalt', ':prove x<<:{1,2} => {}/=x-->x',
'-evalt', ':prove a<b => {}/=(b..a)<<->(x..b)', % empty set is a total relation
'-evalt', ':prove a<b => {}/=(b..a)-->(x..b)',
'-evalt', ':prove a<b => {}=(a..b)<<->(b..a)',
'-evalt', ':prove a<b => {}=(a..b)-->(b..a)',
'-evalt', ':prove a<b => {}/={1}<<->(a..b)',
'-evalt', ':prove a<b => {}/={1}-->(a..b)',
'-evalt', ':prove x<<:{1} => {}=x',
'-evalt', ':prove x/<<:{1} => {}/=x',
'-evalu', ':prove x<<:{2,1} => {}=x',
'-evalt', ':prove x:BOOL => card({x}) = 1',
'-evalt', ':prove not({{TRUE}} <: { {} } )',
'-evalt', ':prove x:BOOL => not({{x}} <: { {} } )',
'-evalt', ':prove x:BOOL => union({{x}}) /= {}',
'-evalt', ':prove x:BOOL & s={x} => union({s}) /= {}',
'-evalt', ':prove x:BOOL & s={x} => union({s,s2,s3}) /= {}',
'-evalt', ':prove x:BOOL => not({x} : {{}})',
% '-evalt', ':prove x:BOOL & {x}:s => not( s <: { {} })',
'-evalt', ':prove x=1 & not(x=1) => y=77', % detect false_hyp
'-evalt', ':prove not(x>=2) & x>1 => y=33',
'-evalt', ':prove (x=1 => y>1) => (x=1 => y>1)', % trigger implications
'-evalt', ':prove (x=1 => y>1) => (x=1 => y>0)',
'-evalt', ':prove (x=1 => y>1) & x=1 => y>0',
'-evalu', ':prove (x=1 => y=77) & not(y=78) => (x=1 => z>3)',
'-evalt', ':prove (x=1 => y=77) & not(y=77) => (x=1 => z>3)'
], 'check not_empty set proof rules').
Calls:
Name: RECURSIVE_CALL/4 |
Module: testcases |
Called:
Name: cli_testcase/5 |
Module: testcases |
cli_testcase(Id,Groups,TestConfiguration,Arguments,Description) :-
cli_testcase(Id,Groups,ArgumentsTemp,Description),
options_all_tests(Id,AdditionalArguments),
append(ArgumentsTemp,AdditionalArguments,Arguments),
findall(Conf,additional_configuration(Id,Conf),TestConfiguration).
Calls:
Name: findall/3 |
|
Name: append/3 |
|
Name: options_all_tests/2 |
Module: testcases |
Name: cli_testcase/4 |
Module: testcases |
Called:
Name: cli_testcase/5 |
Module: testcases |
cli_testcase_diff_check_output(2402,
'../prob_examples/public_examples/EventBPrologPackages/MultiLevel/TestMC_m1_sim_error.dot',
'../prob_examples/public_examples/EventBPrologPackages/MultiLevel/TestMC_m1_sim_error_saved.dot').
cli_testcase_diff_check_output(2220,
'../prob_examples/public_examples/B/VisB/TrafficLight/TrafficLight_Trace.txt',
'../prob_examples/public_examples/B/VisB/TrafficLight/TrafficLight_Trace_Saved.txt').
cli_testcase_diff_check_output(2190,
'../prob_examples/public_examples/CSP/simple/RefinementChecks_A_spec.P',
'../prob_examples/public_examples/CSP/simple/RefinementChecks_A_spec_saved.P').
cli_testcase_diff_check_output(2154,'../prob_examples/public_examples/B/Tickets/PartitionPrettyPrintBug/ABZ16_m4_pp.mch',
'../prob_examples/public_examples/B/Tickets/PartitionPrettyPrintBug/ABZ16_m4_Internal.mch').
cli_testcase_diff_check_output(2094,'../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/TLA_Examples/prob_cbc_counterexample_test2094.mch',
'../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/TLA_Examples/prob_cbc_counterexample.mch').
cli_testcase_diff_check_output(2093,'../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/TLA_Examples/prob_bmc_counterexample_test2093.mch',
'../prob_examples/public_examples/TLA/TLA_Google_Group/Einstein/TLA_Examples/prob_bmc_counterexample.mch').
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').
cli_testcase_diff_check_output(2051,
'../prob_examples/public_examples/B/Tester/ReadWriteAnalysis/BecomesSuchTest2_rw.csv',
'../prob_examples/public_examples/B/Tester/ReadWriteAnalysis/BecomesSuchTest2_rw_saved.csv').
cli_testcase_diff_check_output(2050,
'../prob_examples/public_examples/B/Tester/ReadWriteAnalysis/BecomesSuchTest_rw.csv',
'../prob_examples/public_examples/B/Tester/ReadWriteAnalysis/BecomesSuchTest_rw_saved.csv').
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').
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').
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').
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').
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').
cli_testcase_diff_check_output(1915,'../prob_examples/examples/B/Alstom/etcs/actions_feasibility.csv',
'../prob_examples/examples/B/Alstom/etcs/actions_feasibility_saved.csv').
cli_testcase_diff_check_output(1904,'../prob_examples/examples/B/ASTD/wetransfer-545a33/Case_Study_Handmade/TRAIN_CONTROL_M6_rw_matrix.csv',
'../prob_examples/examples/B/ASTD/wetransfer-545a33/Case_Study_Handmade/TRAIN_CONTROL_M6_rw_matrix_saved.csv').
cli_testcase_diff_check_output(1840,'../prob_examples/public_examples/Latex/tests/prob_latex_doc.tex',
'../prob_examples/public_examples/Latex/tests/prob_latex_doc_saved.tex').
cli_testcase_diff_check_output(1837,'../prob_examples/public_examples/B/CBC/Enabling/OpCallSelect_feasibility.csv',
'../prob_examples/public_examples/B/CBC/Enabling/OpCallSelect_feasibility_saved.csv').
cli_testcase_diff_check_output(1810,'../prob_examples/public_examples/B/Tickets/UnicodeSupport/TestUmlauteInString_Internal.mch',
'../prob_examples/public_examples/B/Tickets/UnicodeSupport/TestUmlauteInString_Internal_Saved.mch').
cli_testcase_diff_check_output(1797,'../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Concurrent_Program_Development/conc_4_rw_matrix.csv',
'../prob_examples/public_examples/B/Ivo/BenchmarksPOR/Concurrent_Program_Development/conc_4_rw_matrix_saved.csv').
cli_testcase_diff_check_output(1793,'../prob_examples/examples/B/Amira_Genisys/ConferenceReviewSystem/Functional_Simplified_v2_enabling.csv',
'../prob_examples/examples/B/Amira_Genisys/ConferenceReviewSystem/Functional_Simplified_v2_enabling_saved.csv').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
cli_testcase_diff_check_output(1364,'../prob_examples/public_examples/B/Demo/scheduler_his.txt',
'../prob_examples/public_examples/B/Demo/scheduler_his_ctl_saved.txt').
cli_testcase_diff_check_output(1363,'../prob_examples/public_examples/B/Simple/UpCounter_his.txt',
'../prob_examples/public_examples/B/Simple/UpCounter_his_ctl20_saved.txt').
cli_testcase_diff_check_output(1360,'../prob_examples/public_examples/B/CBC/FeasibilityOperationCheck_feasibility.csv',
'../prob_examples/public_examples/B/CBC/FeasibilityOperationCheck_feasibility_saved.csv').
cli_testcase_diff_check_output(1358,'../prob_examples/examples/EventBPrologPackages/Savary/R08_ByteArray_enum_partition_feasibility.csv',
'../prob_examples/examples/EventBPrologPackages/Savary/R08_ByteArray_enum_partition_feasibility_saved.csv').
cli_testcase_diff_check_output(1357,'../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_cbc_tests.xml',
'../prob_examples/public_examples/B/Benchmarks/Cruise_finite1_cbc_tests_saved.xml').
cli_testcase_diff_check_output(1341,'../prob_examples/public_examples/B/Demo/Bakery0_all_paths.xml',
'../prob_examples/public_examples/B/Demo/Bakery0_all_paths_saved.xml').
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').
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').
cli_testcase_diff_check_output(1196,'../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr.csv','../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr_saved.csv').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
cli_testcase_diff_check_output(977,'../prob_examples/public_examples/B/Ivo/BridgeTransitions_por.cov','../prob_examples/public_examples/B/Ivo/BridgeTransitions.cov').
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').
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').
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').
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').
cli_testcase_diff_check_output(944,'../prob_examples/public_examples/Eval/evalout.dot','../prob_examples/public_examples/Eval/evalout_saved.dot').
cli_testcase_diff_check_output(894,'../prob_examples/public_examples/B/Daniel/minienabling_analysis.csv',
'../prob_examples/public_examples/B/Daniel/minienabling_analysis_saved.csv').
cli_testcase_diff_check_output(808,'../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr_state_graph.dot',
'../prob_examples/public_examples/B/Benchmarks/CarlaTravelAgencyErr_state_graph_saved.dot').
cli_testcase_diff_check_output(767,'../prob_examples/examples/B/Siemens/BAC9_ZC/pas_as_env_inv_ld_sptxt.txt',
'../prob_examples/examples/B/Siemens/BAC9_ZC/pas_as_env_inv_ld_sptxt_saved.txt').
cli_testcase_diff_check_output(634,'../prob_examples/public_examples/B/Kodkod/Loop_statespace.dot',
'../prob_examples/public_examples/B/Kodkod/Loop_statespace_saved.dot').
cli_testcase_diff_check_output(616,'../prob_examples/public_examples/B/Tester/Partition_internal.mch',
'../prob_examples/public_examples/B/Tester/Partition_internal_saved.mch').
cli_testcase_diff_check_output(613,'../prob_examples/public_examples/B/Pragmas/AssertionPragmas_internal.mch',
'../prob_examples/public_examples/B/Pragmas/AssertionPragmas_internal_saved.mch').
cli_testcase_diff_check_output(540,'../prob_examples/public_examples/B/TestCaseGeneration/SimpleCounter_results.xml',
'../prob_examples/public_examples/B/TestCaseGeneration/SimpleCounter_results_saved.xml').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
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').
cli_testcase_do_not_delete(584,'../prob_examples/public_examples/TLA/ErrorTests/GraphIso_tla.mch').
extra_testcase_file(305,'../prob_examples/public_examples/B/Laws/REPL_UNIT_TESTS0.def').
extra_testcase_file(306,'../prob_examples/public_examples/B/Laws/REPL_UNIT_TESTS1.def').
extra_testcase_file(307,'../prob_examples/public_examples/B/Laws/REPL_UNIT_TESTS.def').
extra_testcase_file(465,'../prob_examples/public_examples/B/Simple/UpCounter_saved10.P').
extra_testcase_file(472,'../prob_examples/public_examples/B/SchneiderBook/Chapter12/TownsRR.ref').
extra_testcase_file(472,'../prob_examples/public_examples/B/SchneiderBook/Chapter12/TownsR.ref').
extra_testcase_file(472,'../prob_examples/public_examples/B/SchneiderBook/Chapter12/Towns.mch').
extra_testcase_file(475,'../prob_examples/public_examples/B/Laws/REPL_UNIT_TESTS2.def').
options_all_tests(1303,['-strict']) :- !.
options_all_tests(1351,['-strict']) :- !. % tests generate warnings and we still want to load the B machines
options_all_tests(1658,['-strict']) :- !.
options_all_tests(_,['-strict','-p','STRICT_RAISE_WARNINGS','TRUE']).
Calls:
Name: ! |
Called:
Name: cli_testcase/5 |
Module: testcases |
set_generating_coverage :- (generating_coverage -> true ; assertz(generating_coverage)).
Calls:
Name: assertz/1 |
|
Name: true |
|
Name: generating_coverage |
dynamic predicate |
Name: ->/3 |
Called:
Name: coverage_group_data/1 |
Module: prob_cov_runner.pl |
test_category_requires_extension(alloy,alloy2b_extension).
test_category_requires_extension(bmc,symbolic_model_checker_extension).
test_category_requires_extension(cache,probhash_extension). % cache needs probhash for machines
test_category_requires_extension(cbc_tests,cbc_extension).
test_category_requires_extension(chr,chr_extension).
test_category_requires_extension(cse,cse_extension).
test_category_requires_extension(cse_test,cse_extension).
test_category_requires_extension(csp_test,cspm_extension).
test_category_requires_extension(cspb,cspm_extension).
test_category_requires_extension(ctl,ltl_extension).
test_category_requires_extension(disprover,disprover_extension).
test_category_requires_extension(dot,dot_extension).
test_category_requires_extension(dot,meta_interface_extension).
test_category_requires_extension(cdclt,cdclt_extension).
test_category_requires_extension(enabling,cbc_extension).
test_category_requires_extension(fairness,ltl_extension).
test_category_requires_extension(hash,probhash_extension).
test_category_requires_extension(json_trace_replay,json_extension).
test_category_requires_extension(kodkod,kodkod_extension).
test_category_requires_extension(latex,latex_extension).
test_category_requires_extension(ltl,ltl_extension).
test_category_requires_extension(ltsmin_test,ltsmin_extension).
test_category_requires_extension(mcm_tests,cbc_extension). % mcm test case generation is in sap.pl
test_category_requires_extension(operation_reuse,opcache_extension).
test_category_requires_extension(pge,pge_extension).
test_category_requires_extension(pge_fast,pge_extension).
test_category_requires_extension(por,por_extension).
test_category_requires_extension(proz,fuzz_extension).
test_category_requires_extension(random,random_permutations).
test_category_requires_extension(reals,external_reals_extension).
test_category_requires_extension(refinement,refinement_extension).
test_category_requires_extension(regex,regexp_extension).
test_category_requires_extension(satsolver_test,satsolver_extension).
test_category_requires_extension(setlog,setlog_extension).
test_category_requires_extension(smt,smtlib_extension).
test_category_requires_extension(smt_solver_integration,smt_extension).
test_category_requires_extension(symbolic_model_checker,symbolic_model_checker_extension).
test_category_requires_extension(symmetry_test,symmetry_extension).
test_category_requires_extension(tla,tla2b_extension).
test_category_requires_extension(tlc,tlc4b_extension).
test_category_requires_extension(visb,visb_extension).
test_category_requires_extension(wd,wd_extension).
test_category_requires_extension(xml,xml2b_extension).
Called:
Module: testcases |
test_requires_extension(1538,_,kodkod_extension).
test_requires_extension(1856,_,avl_ugraphs_extension).
test_requires_extension(1935,_,xml2b_extension).
test_requires_extension(1936,_,xml2b_extension).
test_requires_extension(2039,_,wd_extension).
test_requires_extension(2053,_,unsat_core_extension).
test_requires_extension(2221,_,meta_interface_extension).
test_requires_extension(_,Cats,Extension) :- member(Cat,Cats), test_category_requires_extension(Cat,Extension).
Calls:
Module: testcases | |
Name: member/2 |
unset_generating_coverage :- retractall(generating_coverage).
Calls:
Name: retractall/1 |