Imports | Exports |
---|---|
Name: module_info/2 Module: module_information Name: append/2 Module: lists Name: host_platform/1 Module: tools Name: platform_is_64_bit/0 Module: tools 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(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(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(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(324, swi_expected_failure).
additional_configuration(1306, swi_expected_failure).
additional_configuration(2399, swi_expected_failure).
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(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', 177433764074139889 % 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', 177433764074139889, % used to be 142217803204665821 until Sep 9 2021
'-check_complete', '-cc', '33', '33'], 'Sieve Event-B version').
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', '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', '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'], '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'], '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'], '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'], 'Mathematical Laws about Sets').
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', 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], ['../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', '-assertions', '-strict', '-expcterr', virtual_time_out], '').
cli_testcase(552, [csp_test], ['../prob_examples/public_examples/CSP/other/Ivo/DotTupleTestCase.csp', '-assertions', '-strict'], '').
cli_testcase(553, [b_test,recursion,external], ['../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], ['../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], ['../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], ['../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], ['../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], ['../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', 'checkAssertion', '-expcterr', 'enumerate_action', '-strict'], '').
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], ['../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], ['../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], ['../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], ['../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], ['../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],['../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], ['../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, 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],['../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',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', 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', 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], ['-init',
'../prob_examples/public_examples/B/Pragmas/FilePragma.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', 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, '-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',
'../prob_examples/public_examples/Rules_Machines/TestDependency.rmch',
'-t'
], '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], [
'../prob_examples/public_examples/B/RefinementChecking/Simple/Spec1_with_new_op_err.ref',
'-init','-expcterr', 'type_error', '-expcterr', 'load_main_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', '-t'],
'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', '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',
'-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], [
'../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], ['-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], ['-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], ['-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], [
'../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],['-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
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 |