java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data --rcfgbuilder.command.for.external.solver 'z3 SMTLIB2_COMPLIANT=true -memory:4096 -smt2 -in -t:12000' -tc ../../../trunk/examples/toolchains/AutomizerBplInlineTransformed.xml --icfgtransformation.transformationtype MAP_ELIMINATION_MONNIAUX --rcfgbuilder.size.of.a.code.block SingleStatement --icfgtransformation.map.elimination.monniaux.number.of.cells 2 -i ../../../trunk/examples/programs/20170304-DifficultPathPrograms/string.i_3.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-7aa59a0 [2019-05-23 10:02:40,813 INFO L146 ILogger]: Resetting all preferences to default values... [2019-05-23 10:02:40,815 INFO L146 ILogger]: Resetting UltimateCore preferences to default values [2019-05-23 10:02:40,827 INFO L146 ILogger]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-05-23 10:02:40,828 INFO L146 ILogger]: Resetting Boogie Preprocessor preferences to default values [2019-05-23 10:02:40,829 INFO L146 ILogger]: Resetting Boogie Procedure Inliner preferences to default values [2019-05-23 10:02:40,830 INFO L146 ILogger]: Resetting Abstract Interpretation preferences to default values [2019-05-23 10:02:40,832 INFO L146 ILogger]: Resetting LassoRanker preferences to default values [2019-05-23 10:02:40,834 INFO L146 ILogger]: Resetting Reaching Definitions preferences to default values [2019-05-23 10:02:40,835 INFO L146 ILogger]: Resetting SyntaxChecker preferences to default values [2019-05-23 10:02:40,836 INFO L146 ILogger]: Büchi Program Product provides no preferences, ignoring... [2019-05-23 10:02:40,836 INFO L146 ILogger]: Resetting LTL2Aut preferences to default values [2019-05-23 10:02:40,837 INFO L146 ILogger]: Resetting PEA to Boogie preferences to default values [2019-05-23 10:02:40,838 INFO L146 ILogger]: Resetting BlockEncodingV2 preferences to default values [2019-05-23 10:02:40,839 INFO L146 ILogger]: Resetting ChcToBoogie preferences to default values [2019-05-23 10:02:40,840 INFO L146 ILogger]: Resetting AutomataScriptInterpreter preferences to default values [2019-05-23 10:02:40,841 INFO L146 ILogger]: Resetting BuchiAutomizer preferences to default values [2019-05-23 10:02:40,843 INFO L146 ILogger]: Resetting CACSL2BoogieTranslator preferences to default values [2019-05-23 10:02:40,845 INFO L146 ILogger]: Resetting CodeCheck preferences to default values [2019-05-23 10:02:40,847 INFO L146 ILogger]: Resetting InvariantSynthesis preferences to default values [2019-05-23 10:02:40,848 INFO L146 ILogger]: Resetting RCFGBuilder preferences to default values [2019-05-23 10:02:40,850 INFO L146 ILogger]: Resetting TraceAbstraction preferences to default values [2019-05-23 10:02:40,852 INFO L146 ILogger]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-05-23 10:02:40,853 INFO L146 ILogger]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-05-23 10:02:40,853 INFO L146 ILogger]: Resetting TreeAutomizer preferences to default values [2019-05-23 10:02:40,854 INFO L146 ILogger]: Resetting IcfgToChc preferences to default values [2019-05-23 10:02:40,854 INFO L146 ILogger]: Resetting IcfgTransformer preferences to default values [2019-05-23 10:02:40,856 INFO L146 ILogger]: ReqToTest provides no preferences, ignoring... [2019-05-23 10:02:40,856 INFO L146 ILogger]: Resetting Boogie Printer preferences to default values [2019-05-23 10:02:40,857 INFO L146 ILogger]: Resetting ChcSmtPrinter preferences to default values [2019-05-23 10:02:40,858 INFO L146 ILogger]: Resetting ReqPrinter preferences to default values [2019-05-23 10:02:40,859 INFO L146 ILogger]: Resetting Witness Printer preferences to default values [2019-05-23 10:02:40,860 INFO L146 ILogger]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-05-23 10:02:40,860 INFO L146 ILogger]: Resetting CDTParser preferences to default values [2019-05-23 10:02:40,861 INFO L146 ILogger]: AutomataScriptParser provides no preferences, ignoring... [2019-05-23 10:02:40,861 INFO L146 ILogger]: ReqParser provides no preferences, ignoring... [2019-05-23 10:02:40,862 INFO L146 ILogger]: Resetting SmtParser preferences to default values [2019-05-23 10:02:40,862 INFO L146 ILogger]: Resetting Witness Parser preferences to default values [2019-05-23 10:02:40,863 INFO L146 ILogger]: Finished resetting all preferences to default values... Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder: Command for external solver -> z3 SMTLIB2_COMPLIANT=true -memory:4096 -smt2 -in -t:12000 Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation: TransformationType -> MAP_ELIMINATION_MONNIAUX Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder: Size of a code block -> SingleStatement Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation: Map elimination Monniaux: number of cells -> 2 [2019-05-23 10:02:40,895 INFO L146 ILogger]: Repository-Root is: /tmp [2019-05-23 10:02:40,911 INFO L146 ILogger]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-05-23 10:02:40,915 INFO L146 ILogger]: [Toolchain 1]: Toolchain selected. [2019-05-23 10:02:40,917 INFO L146 ILogger]: Initializing Boogie PL CUP Parser... [2019-05-23 10:02:40,917 INFO L146 ILogger]: Boogie PL CUP Parser initialized [2019-05-23 10:02:40,918 INFO L146 ILogger]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/20170304-DifficultPathPrograms/string.i_3.bpl [2019-05-23 10:02:40,918 INFO L146 ILogger]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/20170304-DifficultPathPrograms/string.i_3.bpl' [2019-05-23 10:02:40,967 INFO L146 ILogger]: ####################### [Toolchain 1] ####################### [2019-05-23 10:02:40,969 INFO L146 ILogger]: Walking toolchain with 5 elements. [2019-05-23 10:02:40,970 INFO L146 ILogger]: ------------------------Boogie Procedure Inliner---------------------------- [2019-05-23 10:02:40,970 INFO L146 ILogger]: Initializing Boogie Procedure Inliner... [2019-05-23 10:02:40,970 INFO L146 ILogger]: Boogie Procedure Inliner initialized [2019-05-23 10:02:40,987 INFO L146 ILogger]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "string.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 10:02:40" (1/1) ... [2019-05-23 10:02:40,999 INFO L146 ILogger]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "string.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 10:02:40" (1/1) ... [2019-05-23 10:02:41,007 INFO L146 ILogger]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-05-23 10:02:41,008 INFO L146 ILogger]: ------------------------Boogie Preprocessor---------------------------- [2019-05-23 10:02:41,008 INFO L146 ILogger]: Initializing Boogie Preprocessor... [2019-05-23 10:02:41,008 INFO L146 ILogger]: Boogie Preprocessor initialized [2019-05-23 10:02:41,019 INFO L146 ILogger]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "string.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 10:02:40" (1/1) ... [2019-05-23 10:02:41,019 INFO L146 ILogger]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "string.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 10:02:40" (1/1) ... [2019-05-23 10:02:41,020 INFO L146 ILogger]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "string.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 10:02:40" (1/1) ... [2019-05-23 10:02:41,021 INFO L146 ILogger]: Executing the observer StructExpander from plugin Boogie Preprocessor for "string.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 10:02:40" (1/1) ... [2019-05-23 10:02:41,026 INFO L146 ILogger]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "string.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 10:02:40" (1/1) ... [2019-05-23 10:02:41,029 INFO L146 ILogger]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "string.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 10:02:40" (1/1) ... [2019-05-23 10:02:41,030 INFO L146 ILogger]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "string.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 10:02:40" (1/1) ... [2019-05-23 10:02:41,032 INFO L146 ILogger]: ------------------------ END Boogie Preprocessor---------------------------- [2019-05-23 10:02:41,033 INFO L146 ILogger]: ------------------------RCFGBuilder---------------------------- [2019-05-23 10:02:41,033 INFO L146 ILogger]: Initializing RCFGBuilder... [2019-05-23 10:02:41,033 INFO L146 ILogger]: RCFGBuilder initialized [2019-05-23 10:02:41,035 INFO L146 ILogger]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "string.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 10:02:40" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:4096 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:4096 -smt2 -in -t:12000 [2019-05-23 10:02:41,107 INFO L146 ILogger]: Found specification of procedure ULTIMATE.start [2019-05-23 10:02:41,108 INFO L146 ILogger]: Found implementation of procedure ULTIMATE.start [2019-05-23 10:02:41,676 INFO L146 ILogger]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2019-05-23 10:02:41,676 INFO L146 ILogger]: Removed 5 assume(true) statements. [2019-05-23 10:02:41,678 INFO L146 ILogger]: Adding new model string.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.05 10:02:41 BoogieIcfgContainer [2019-05-23 10:02:41,678 INFO L146 ILogger]: ------------------------ END RCFGBuilder---------------------------- [2019-05-23 10:02:41,678 INFO L146 ILogger]: ------------------------IcfgTransformer---------------------------- [2019-05-23 10:02:41,678 INFO L146 ILogger]: Initializing IcfgTransformer... [2019-05-23 10:02:41,679 INFO L146 ILogger]: IcfgTransformer initialized [2019-05-23 10:02:41,683 INFO L146 ILogger]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "string.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.05 10:02:41" (1/1) ... [2019-05-23 10:02:41,715 INFO L146 ILogger]: L41 [2019-05-23 10:02:41,716 INFO L146 ILogger]: In Formula: (= 0 (select v_ULTIMATE.start_main_~string_A~5_3 4)) InVars {ULTIMATE.start_main_~string_A~5=v_ULTIMATE.start_main_~string_A~5_3} OutVars{ULTIMATE.start_main_~string_A~5=v_ULTIMATE.start_main_~string_A~5_3} AuxVars[] AssignedVars[] [2019-05-23 10:02:41,716 INFO L146 ILogger]: Out Formula: (and (or (= v_ULTIMATE.start_main_~string_A~5_val_0_in_1 v_v_ULTIMATE.start_main_~string_A~5_3_aux_1) (not (= v_ULTIMATE.start_main_~string_A~5_idx_1_term_1 4))) (or (= v_ULTIMATE.start_main_~string_A~5_idx_0_term_1 4) (not v_ULTIMATE.start_main_~string_A~5_idx_0_term_assigned_1)) (= 0 v_v_ULTIMATE.start_main_~string_A~5_3_aux_1) (or (not (= v_ULTIMATE.start_main_~string_A~5_idx_1_term_1 4)) (= v_ULTIMATE.start_main_~string_A~5_val_1_in_1 v_v_ULTIMATE.start_main_~string_A~5_3_aux_1)) v_ULTIMATE.start_main_~string_A~5_idx_1_term_assigned_1 (or (not (= v_ULTIMATE.start_main_~string_A~5_idx_0_term_1 4)) (= v_ULTIMATE.start_main_~string_A~5_val_1_in_1 v_v_ULTIMATE.start_main_~string_A~5_3_aux_1)) (or (= v_ULTIMATE.start_main_~string_A~5_val_0_in_1 v_v_ULTIMATE.start_main_~string_A~5_3_aux_1) (not (= v_ULTIMATE.start_main_~string_A~5_idx_0_term_1 4))) (or (= v_ULTIMATE.start_main_~string_A~5_idx_1_term_1 4) (not v_ULTIMATE.start_main_~string_A~5_idx_1_term_assigned_1)) v_ULTIMATE.start_main_~string_A~5_idx_0_term_assigned_1) InVars {ULTIMATE.start_main_~string_A~5_idx_0=v_ULTIMATE.start_main_~string_A~5_idx_0_term_1, ULTIMATE.start_main_~string_A~5_idx_1_bool=v_ULTIMATE.start_main_~string_A~5_idx_1_term_assigned_1, ULTIMATE.start_main_~string_A~5_idx_1=v_ULTIMATE.start_main_~string_A~5_idx_1_term_1, ULTIMATE.start_main_~string_A~5_idx_0_bool=v_ULTIMATE.start_main_~string_A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~string_A~5_val_1=v_ULTIMATE.start_main_~string_A~5_val_1_in_1, ULTIMATE.start_main_~string_A~5_val_0=v_ULTIMATE.start_main_~string_A~5_val_0_in_1} OutVars{ULTIMATE.start_main_~string_A~5_idx_0=v_ULTIMATE.start_main_~string_A~5_idx_0_term_1, ULTIMATE.start_main_~string_A~5_idx_1_bool=v_ULTIMATE.start_main_~string_A~5_idx_1_term_assigned_1, ULTIMATE.start_main_~string_A~5_idx_1=v_ULTIMATE.start_main_~string_A~5_idx_1_term_1, ULTIMATE.start_main_~string_A~5_idx_0_bool=v_ULTIMATE.start_main_~string_A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~string_A~5_val_1=v_ULTIMATE.start_main_~string_A~5_val_1_in_1, ULTIMATE.start_main_~string_A~5_val_0=v_ULTIMATE.start_main_~string_A~5_val_0_in_1} AuxVars[v_v_ULTIMATE.start_main_~string_A~5_3_aux_1] AssignedVars[] [2019-05-23 10:02:41,717 INFO L146 ILogger]: L42 [2019-05-23 10:02:41,722 INFO L146 ILogger]: L47 [2019-05-23 10:02:41,722 INFO L146 ILogger]: In Formula: (= v_ULTIMATE.start_main_~string_A~5_4 (store v_ULTIMATE.start_main_~string_A~5_5 v_ULTIMATE.start_main_~i~5_7 |v_ULTIMATE.start_main_#t~nondet1_3|)) InVars {ULTIMATE.start_main_~string_A~5=v_ULTIMATE.start_main_~string_A~5_5, ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_3|, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_7} OutVars{ULTIMATE.start_main_~string_A~5=v_ULTIMATE.start_main_~string_A~5_4, ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_3|, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_7} AuxVars[] AssignedVars[ULTIMATE.start_main_~string_A~5] [2019-05-23 10:02:41,722 INFO L146 ILogger]: Out Formula: (and (or (not v_ULTIMATE.start_main_~string_A~5_idx_1_term_assigned_1) (= v_ULTIMATE.start_main_~string_A~5_idx_1_term_2 v_ULTIMATE.start_main_~i~5_7)) (or (not (= v_ULTIMATE.start_main_~string_A~5_idx_0_term_2 v_ULTIMATE.start_main_~i~5_7)) (= v_ULTIMATE.start_main_~string_A~5_val_0_in_2 |v_ULTIMATE.start_main_#t~nondet1_3|)) v_ULTIMATE.start_main_~string_A~5_idx_1_term_assigned_1 (or (= v_ULTIMATE.start_main_~string_A~5_val_1_in_2 |v_ULTIMATE.start_main_#t~nondet1_3|) (not (= v_ULTIMATE.start_main_~string_A~5_idx_1_term_2 v_ULTIMATE.start_main_~i~5_7))) (or (= v_ULTIMATE.start_main_~string_A~5_val_1_in_2 |v_ULTIMATE.start_main_#t~nondet1_3|) (not (= v_ULTIMATE.start_main_~string_A~5_idx_0_term_2 v_ULTIMATE.start_main_~i~5_7))) (or (not (= v_ULTIMATE.start_main_~string_A~5_idx_1_term_2 v_ULTIMATE.start_main_~i~5_7)) (= v_ULTIMATE.start_main_~string_A~5_val_0_in_2 |v_ULTIMATE.start_main_#t~nondet1_3|)) (= v_ULTIMATE.start_main_~string_A~5_val_1_out_1 v_ULTIMATE.start_main_~string_A~5_val_1_in_2) (= v_ULTIMATE.start_main_~string_A~5_val_0_out_1 v_ULTIMATE.start_main_~string_A~5_val_0_in_2) (or (= v_ULTIMATE.start_main_~string_A~5_idx_0_term_2 v_ULTIMATE.start_main_~i~5_7) (not v_ULTIMATE.start_main_~string_A~5_idx_0_term_assigned_1)) v_ULTIMATE.start_main_~string_A~5_idx_0_term_assigned_1) InVars {ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_3|, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_7, ULTIMATE.start_main_~string_A~5_idx_0=v_ULTIMATE.start_main_~string_A~5_idx_0_term_2, ULTIMATE.start_main_~string_A~5_idx_1_bool=v_ULTIMATE.start_main_~string_A~5_idx_1_term_assigned_1, ULTIMATE.start_main_~string_A~5_idx_1=v_ULTIMATE.start_main_~string_A~5_idx_1_term_2, ULTIMATE.start_main_~string_A~5_idx_0_bool=v_ULTIMATE.start_main_~string_A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~string_A~5_val_1=v_ULTIMATE.start_main_~string_A~5_val_1_in_2, ULTIMATE.start_main_~string_A~5_val_0=v_ULTIMATE.start_main_~string_A~5_val_0_in_2} OutVars{ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_3|, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_7, ULTIMATE.start_main_~string_A~5_idx_0=v_ULTIMATE.start_main_~string_A~5_idx_0_term_2, ULTIMATE.start_main_~string_A~5_idx_1_bool=v_ULTIMATE.start_main_~string_A~5_idx_1_term_assigned_1, ULTIMATE.start_main_~string_A~5_idx_1=v_ULTIMATE.start_main_~string_A~5_idx_1_term_2, ULTIMATE.start_main_~string_A~5_idx_0_bool=v_ULTIMATE.start_main_~string_A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~string_A~5_val_1=v_ULTIMATE.start_main_~string_A~5_val_1_out_1, ULTIMATE.start_main_~string_A~5_val_0=v_ULTIMATE.start_main_~string_A~5_val_0_out_1} AuxVars[] AssignedVars[ULTIMATE.start_main_~string_A~5_val_1, ULTIMATE.start_main_~string_A~5_val_0] [2019-05-23 10:02:41,723 INFO L146 ILogger]: L48 [2019-05-23 10:02:41,725 INFO L146 ILogger]: L60 [2019-05-23 10:02:41,725 INFO L146 ILogger]: In Formula: (= (select v_ULTIMATE.start_main_~string_B~5_3 4) 0) InVars {ULTIMATE.start_main_~string_B~5=v_ULTIMATE.start_main_~string_B~5_3} OutVars{ULTIMATE.start_main_~string_B~5=v_ULTIMATE.start_main_~string_B~5_3} AuxVars[] AssignedVars[] [2019-05-23 10:02:41,726 INFO L146 ILogger]: Out Formula: (and (or (= v_ULTIMATE.start_main_~string_B~5_val_0_in_1 v_v_ULTIMATE.start_main_~string_B~5_3_aux_1) (not (= 4 v_ULTIMATE.start_main_~string_B~5_idx_0_term_3))) (or (= v_ULTIMATE.start_main_~string_B~5_val_1_in_1 v_v_ULTIMATE.start_main_~string_B~5_3_aux_1) (not (= 4 v_ULTIMATE.start_main_~string_B~5_idx_0_term_3))) (or (not v_ULTIMATE.start_main_~string_B~5_idx_1_term_assigned_1) (= v_ULTIMATE.start_main_~string_B~5_idx_1_term_3 4)) (= v_v_ULTIMATE.start_main_~string_B~5_3_aux_1 0) (or (= v_ULTIMATE.start_main_~string_B~5_val_0_in_1 v_v_ULTIMATE.start_main_~string_B~5_3_aux_1) (not (= v_ULTIMATE.start_main_~string_B~5_idx_1_term_3 4))) v_ULTIMATE.start_main_~string_B~5_idx_1_term_assigned_1 (or (= v_ULTIMATE.start_main_~string_B~5_val_1_in_1 v_v_ULTIMATE.start_main_~string_B~5_3_aux_1) (not (= v_ULTIMATE.start_main_~string_B~5_idx_1_term_3 4))) v_ULTIMATE.start_main_~string_B~5_idx_0_term_assigned_1 (or (not v_ULTIMATE.start_main_~string_B~5_idx_0_term_assigned_1) (= 4 v_ULTIMATE.start_main_~string_B~5_idx_0_term_3))) InVars {ULTIMATE.start_main_~string_B~5_idx_1_bool=v_ULTIMATE.start_main_~string_B~5_idx_1_term_assigned_1, ULTIMATE.start_main_~string_B~5_idx_1=v_ULTIMATE.start_main_~string_B~5_idx_1_term_3, ULTIMATE.start_main_~string_B~5_idx_0=v_ULTIMATE.start_main_~string_B~5_idx_0_term_3, ULTIMATE.start_main_~string_B~5_val_0=v_ULTIMATE.start_main_~string_B~5_val_0_in_1, ULTIMATE.start_main_~string_B~5_idx_0_bool=v_ULTIMATE.start_main_~string_B~5_idx_0_term_assigned_1, ULTIMATE.start_main_~string_B~5_val_1=v_ULTIMATE.start_main_~string_B~5_val_1_in_1} OutVars{ULTIMATE.start_main_~string_B~5_idx_1_bool=v_ULTIMATE.start_main_~string_B~5_idx_1_term_assigned_1, ULTIMATE.start_main_~string_B~5_idx_1=v_ULTIMATE.start_main_~string_B~5_idx_1_term_3, ULTIMATE.start_main_~string_B~5_idx_0=v_ULTIMATE.start_main_~string_B~5_idx_0_term_3, ULTIMATE.start_main_~string_B~5_val_0=v_ULTIMATE.start_main_~string_B~5_val_0_in_1, ULTIMATE.start_main_~string_B~5_idx_0_bool=v_ULTIMATE.start_main_~string_B~5_idx_0_term_assigned_1, ULTIMATE.start_main_~string_B~5_val_1=v_ULTIMATE.start_main_~string_B~5_val_1_in_1} AuxVars[v_v_ULTIMATE.start_main_~string_B~5_3_aux_1] AssignedVars[] [2019-05-23 10:02:41,726 INFO L146 ILogger]: L61 [2019-05-23 10:02:41,728 INFO L146 ILogger]: L82 [2019-05-23 10:02:41,728 INFO L146 ILogger]: In Formula: (= v_ULTIMATE.start_main_~string_B~5_5 (store v_ULTIMATE.start_main_~string_B~5_6 v_ULTIMATE.start_main_~i~5_14 |v_ULTIMATE.start_main_#t~nondet3_3|)) InVars {ULTIMATE.start_main_#t~nondet3=|v_ULTIMATE.start_main_#t~nondet3_3|, ULTIMATE.start_main_~string_B~5=v_ULTIMATE.start_main_~string_B~5_6, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_14} OutVars{ULTIMATE.start_main_#t~nondet3=|v_ULTIMATE.start_main_#t~nondet3_3|, ULTIMATE.start_main_~string_B~5=v_ULTIMATE.start_main_~string_B~5_5, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_14} AuxVars[] AssignedVars[ULTIMATE.start_main_~string_B~5] [2019-05-23 10:02:41,729 INFO L146 ILogger]: Out Formula: (and (or (not (= v_ULTIMATE.start_main_~i~5_14 v_ULTIMATE.start_main_~string_B~5_idx_0_term_4)) (= v_ULTIMATE.start_main_~string_B~5_val_1_in_2 |v_ULTIMATE.start_main_#t~nondet3_3|)) (= v_ULTIMATE.start_main_~string_B~5_val_0_in_2 v_ULTIMATE.start_main_~string_B~5_val_0_out_1) (or (not v_ULTIMATE.start_main_~string_B~5_idx_1_term_assigned_1) (= v_ULTIMATE.start_main_~string_B~5_idx_1_term_4 v_ULTIMATE.start_main_~i~5_14)) (or (= v_ULTIMATE.start_main_~string_B~5_val_1_in_2 |v_ULTIMATE.start_main_#t~nondet3_3|) (not (= v_ULTIMATE.start_main_~string_B~5_idx_1_term_4 v_ULTIMATE.start_main_~i~5_14))) (or (= v_ULTIMATE.start_main_~i~5_14 v_ULTIMATE.start_main_~string_B~5_idx_0_term_4) (not v_ULTIMATE.start_main_~string_B~5_idx_0_term_assigned_1)) (or (not (= v_ULTIMATE.start_main_~i~5_14 v_ULTIMATE.start_main_~string_B~5_idx_0_term_4)) (= v_ULTIMATE.start_main_~string_B~5_val_0_in_2 |v_ULTIMATE.start_main_#t~nondet3_3|)) v_ULTIMATE.start_main_~string_B~5_idx_1_term_assigned_1 (or (= v_ULTIMATE.start_main_~string_B~5_val_0_in_2 |v_ULTIMATE.start_main_#t~nondet3_3|) (not (= v_ULTIMATE.start_main_~string_B~5_idx_1_term_4 v_ULTIMATE.start_main_~i~5_14))) (= v_ULTIMATE.start_main_~string_B~5_val_1_in_2 v_ULTIMATE.start_main_~string_B~5_val_1_out_1) v_ULTIMATE.start_main_~string_B~5_idx_0_term_assigned_1) InVars {ULTIMATE.start_main_~string_B~5_idx_1=v_ULTIMATE.start_main_~string_B~5_idx_1_term_4, ULTIMATE.start_main_~string_B~5_idx_0=v_ULTIMATE.start_main_~string_B~5_idx_0_term_4, ULTIMATE.start_main_#t~nondet3=|v_ULTIMATE.start_main_#t~nondet3_3|, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_14, ULTIMATE.start_main_~string_B~5_idx_0_bool=v_ULTIMATE.start_main_~string_B~5_idx_0_term_assigned_1, ULTIMATE.start_main_~string_B~5_idx_1_bool=v_ULTIMATE.start_main_~string_B~5_idx_1_term_assigned_1, ULTIMATE.start_main_~string_B~5_val_0=v_ULTIMATE.start_main_~string_B~5_val_0_in_2, ULTIMATE.start_main_~string_B~5_val_1=v_ULTIMATE.start_main_~string_B~5_val_1_in_2} OutVars{ULTIMATE.start_main_~string_B~5_idx_1=v_ULTIMATE.start_main_~string_B~5_idx_1_term_4, ULTIMATE.start_main_~string_B~5_idx_0=v_ULTIMATE.start_main_~string_B~5_idx_0_term_4, ULTIMATE.start_main_#t~nondet3=|v_ULTIMATE.start_main_#t~nondet3_3|, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_14, ULTIMATE.start_main_~string_B~5_idx_0_bool=v_ULTIMATE.start_main_~string_B~5_idx_0_term_assigned_1, ULTIMATE.start_main_~string_B~5_idx_1_bool=v_ULTIMATE.start_main_~string_B~5_idx_1_term_assigned_1, ULTIMATE.start_main_~string_B~5_val_0=v_ULTIMATE.start_main_~string_B~5_val_0_out_1, ULTIMATE.start_main_~string_B~5_val_1=v_ULTIMATE.start_main_~string_B~5_val_1_out_1} AuxVars[] AssignedVars[ULTIMATE.start_main_~string_B~5_val_0, ULTIMATE.start_main_~string_B~5_val_1] [2019-05-23 10:02:41,729 INFO L146 ILogger]: L83 [2019-05-23 10:02:41,731 INFO L146 ILogger]: L63 [2019-05-23 10:02:41,731 INFO L146 ILogger]: In Formula: (= (select v_ULTIMATE.start_main_~string_A~5_6 v_ULTIMATE.start_main_~nc_A~5_4) 0) InVars {ULTIMATE.start_main_~string_A~5=v_ULTIMATE.start_main_~string_A~5_6, ULTIMATE.start_main_~nc_A~5=v_ULTIMATE.start_main_~nc_A~5_4} OutVars{ULTIMATE.start_main_~string_A~5=v_ULTIMATE.start_main_~string_A~5_6, ULTIMATE.start_main_~nc_A~5=v_ULTIMATE.start_main_~nc_A~5_4} AuxVars[] AssignedVars[] [2019-05-23 10:02:41,734 INFO L146 ILogger]: Out Formula: (and (or (= v_ULTIMATE.start_main_~string_A~5_val_1_in_3 v_v_ULTIMATE.start_main_~string_A~5_6_aux_1) (not (= v_ULTIMATE.start_main_~string_A~5_idx_0_term_5 v_ULTIMATE.start_main_~nc_A~5_4))) (or (= v_ULTIMATE.start_main_~string_A~5_idx_1_term_5 v_ULTIMATE.start_main_~nc_A~5_4) (not v_ULTIMATE.start_main_~string_A~5_idx_1_term_assigned_1)) (= 0 v_v_ULTIMATE.start_main_~string_A~5_6_aux_1) (or (not (= v_ULTIMATE.start_main_~string_A~5_idx_0_term_5 v_ULTIMATE.start_main_~nc_A~5_4)) (= v_ULTIMATE.start_main_~string_A~5_val_0_in_3 v_v_ULTIMATE.start_main_~string_A~5_6_aux_1)) v_ULTIMATE.start_main_~string_A~5_idx_1_term_assigned_1 (or (not (= v_ULTIMATE.start_main_~string_A~5_idx_1_term_5 v_ULTIMATE.start_main_~nc_A~5_4)) (= v_ULTIMATE.start_main_~string_A~5_val_0_in_3 v_v_ULTIMATE.start_main_~string_A~5_6_aux_1)) (or (= v_ULTIMATE.start_main_~string_A~5_idx_0_term_5 v_ULTIMATE.start_main_~nc_A~5_4) (not v_ULTIMATE.start_main_~string_A~5_idx_0_term_assigned_1)) (or (= v_ULTIMATE.start_main_~string_A~5_val_1_in_3 v_v_ULTIMATE.start_main_~string_A~5_6_aux_1) (not (= v_ULTIMATE.start_main_~string_A~5_idx_1_term_5 v_ULTIMATE.start_main_~nc_A~5_4))) v_ULTIMATE.start_main_~string_A~5_idx_0_term_assigned_1) InVars {ULTIMATE.start_main_~string_A~5_idx_0=v_ULTIMATE.start_main_~string_A~5_idx_0_term_5, ULTIMATE.start_main_~nc_A~5=v_ULTIMATE.start_main_~nc_A~5_4, ULTIMATE.start_main_~string_A~5_idx_1_bool=v_ULTIMATE.start_main_~string_A~5_idx_1_term_assigned_1, ULTIMATE.start_main_~string_A~5_idx_1=v_ULTIMATE.start_main_~string_A~5_idx_1_term_5, ULTIMATE.start_main_~string_A~5_idx_0_bool=v_ULTIMATE.start_main_~string_A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~string_A~5_val_1=v_ULTIMATE.start_main_~string_A~5_val_1_in_3, ULTIMATE.start_main_~string_A~5_val_0=v_ULTIMATE.start_main_~string_A~5_val_0_in_3} OutVars{ULTIMATE.start_main_~string_A~5_idx_0=v_ULTIMATE.start_main_~string_A~5_idx_0_term_5, ULTIMATE.start_main_~nc_A~5=v_ULTIMATE.start_main_~nc_A~5_4, ULTIMATE.start_main_~string_A~5_idx_1_bool=v_ULTIMATE.start_main_~string_A~5_idx_1_term_assigned_1, ULTIMATE.start_main_~string_A~5_idx_1=v_ULTIMATE.start_main_~string_A~5_idx_1_term_5, ULTIMATE.start_main_~string_A~5_idx_0_bool=v_ULTIMATE.start_main_~string_A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~string_A~5_val_1=v_ULTIMATE.start_main_~string_A~5_val_1_in_3, ULTIMATE.start_main_~string_A~5_val_0=v_ULTIMATE.start_main_~string_A~5_val_0_in_3} AuxVars[v_v_ULTIMATE.start_main_~string_A~5_6_aux_1] AssignedVars[] [2019-05-23 10:02:41,734 INFO L146 ILogger]: L64 [2019-05-23 10:02:41,737 INFO L146 ILogger]: L66 [2019-05-23 10:02:41,737 INFO L146 ILogger]: In Formula: (= 0 (select v_ULTIMATE.start_main_~string_B~5_4 v_ULTIMATE.start_main_~nc_B~5_4)) InVars {ULTIMATE.start_main_~nc_B~5=v_ULTIMATE.start_main_~nc_B~5_4, ULTIMATE.start_main_~string_B~5=v_ULTIMATE.start_main_~string_B~5_4} OutVars{ULTIMATE.start_main_~nc_B~5=v_ULTIMATE.start_main_~nc_B~5_4, ULTIMATE.start_main_~string_B~5=v_ULTIMATE.start_main_~string_B~5_4} AuxVars[] AssignedVars[] [2019-05-23 10:02:41,737 INFO L146 ILogger]: Out Formula: (and (or (= v_ULTIMATE.start_main_~string_B~5_val_1_in_3 v_v_ULTIMATE.start_main_~string_B~5_4_aux_1) (not (= v_ULTIMATE.start_main_~nc_B~5_4 v_ULTIMATE.start_main_~string_B~5_idx_0_term_6))) (or (not v_ULTIMATE.start_main_~string_B~5_idx_0_term_assigned_1) (= v_ULTIMATE.start_main_~nc_B~5_4 v_ULTIMATE.start_main_~string_B~5_idx_0_term_6)) (or (= v_ULTIMATE.start_main_~string_B~5_val_0_in_3 v_v_ULTIMATE.start_main_~string_B~5_4_aux_1) (not (= v_ULTIMATE.start_main_~nc_B~5_4 v_ULTIMATE.start_main_~string_B~5_idx_0_term_6))) (= 0 v_v_ULTIMATE.start_main_~string_B~5_4_aux_1) (or (not (= v_ULTIMATE.start_main_~string_B~5_idx_1_term_6 v_ULTIMATE.start_main_~nc_B~5_4)) (= v_ULTIMATE.start_main_~string_B~5_val_0_in_3 v_v_ULTIMATE.start_main_~string_B~5_4_aux_1)) v_ULTIMATE.start_main_~string_B~5_idx_1_term_assigned_1 (or (not v_ULTIMATE.start_main_~string_B~5_idx_1_term_assigned_1) (= v_ULTIMATE.start_main_~string_B~5_idx_1_term_6 v_ULTIMATE.start_main_~nc_B~5_4)) (or (not (= v_ULTIMATE.start_main_~string_B~5_idx_1_term_6 v_ULTIMATE.start_main_~nc_B~5_4)) (= v_ULTIMATE.start_main_~string_B~5_val_1_in_3 v_v_ULTIMATE.start_main_~string_B~5_4_aux_1)) v_ULTIMATE.start_main_~string_B~5_idx_0_term_assigned_1) InVars {ULTIMATE.start_main_~nc_B~5=v_ULTIMATE.start_main_~nc_B~5_4, ULTIMATE.start_main_~string_B~5_idx_1_bool=v_ULTIMATE.start_main_~string_B~5_idx_1_term_assigned_1, ULTIMATE.start_main_~string_B~5_idx_1=v_ULTIMATE.start_main_~string_B~5_idx_1_term_6, ULTIMATE.start_main_~string_B~5_idx_0=v_ULTIMATE.start_main_~string_B~5_idx_0_term_6, ULTIMATE.start_main_~string_B~5_val_0=v_ULTIMATE.start_main_~string_B~5_val_0_in_3, ULTIMATE.start_main_~string_B~5_idx_0_bool=v_ULTIMATE.start_main_~string_B~5_idx_0_term_assigned_1, ULTIMATE.start_main_~string_B~5_val_1=v_ULTIMATE.start_main_~string_B~5_val_1_in_3} OutVars{ULTIMATE.start_main_~nc_B~5=v_ULTIMATE.start_main_~nc_B~5_4, ULTIMATE.start_main_~string_B~5_idx_1_bool=v_ULTIMATE.start_main_~string_B~5_idx_1_term_assigned_1, ULTIMATE.start_main_~string_B~5_idx_1=v_ULTIMATE.start_main_~string_B~5_idx_1_term_6, ULTIMATE.start_main_~string_B~5_idx_0=v_ULTIMATE.start_main_~string_B~5_idx_0_term_6, ULTIMATE.start_main_~string_B~5_val_0=v_ULTIMATE.start_main_~string_B~5_val_0_in_3, ULTIMATE.start_main_~string_B~5_idx_0_bool=v_ULTIMATE.start_main_~string_B~5_idx_0_term_assigned_1, ULTIMATE.start_main_~string_B~5_val_1=v_ULTIMATE.start_main_~string_B~5_val_1_in_3} AuxVars[v_v_ULTIMATE.start_main_~string_B~5_4_aux_1] AssignedVars[] [2019-05-23 10:02:41,738 INFO L146 ILogger]: L67 [2019-05-23 10:02:41,753 INFO L146 ILogger]: Adding new model string.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 23.05 10:02:41 BasicIcfg [2019-05-23 10:02:41,753 INFO L146 ILogger]: ------------------------ END IcfgTransformer---------------------------- [2019-05-23 10:02:41,754 INFO L146 ILogger]: ------------------------TraceAbstraction---------------------------- [2019-05-23 10:02:41,759 INFO L146 ILogger]: Initializing TraceAbstraction... [2019-05-23 10:02:41,764 INFO L146 ILogger]: TraceAbstraction initialized [2019-05-23 10:02:41,764 INFO L146 ILogger]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "string.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 10:02:40" (1/3) ... [2019-05-23 10:02:41,766 INFO L146 ILogger]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@393b8e89 and model type string.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.05 10:02:41, skipping insertion in model container [2019-05-23 10:02:41,766 INFO L146 ILogger]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "string.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.05 10:02:41" (2/3) ... [2019-05-23 10:02:41,767 INFO L146 ILogger]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@393b8e89 and model type string.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.05 10:02:41, skipping insertion in model container [2019-05-23 10:02:41,767 INFO L146 ILogger]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "string.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 23.05 10:02:41" (3/3) ... [2019-05-23 10:02:41,768 INFO L146 ILogger]: Analyzing ICFG string.i_3.bplME [2019-05-23 10:02:41,778 INFO L146 ILogger]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2019-05-23 10:02:41,785 INFO L146 ILogger]: Appying trace abstraction to program that has 1 error locations. [2019-05-23 10:02:41,803 INFO L146 ILogger]: Starting to check reachability of 1 error locations. [2019-05-23 10:02:41,826 INFO L146 ILogger]: Using default assertion order modulation [2019-05-23 10:02:41,827 INFO L146 ILogger]: Interprodecural is true [2019-05-23 10:02:41,827 INFO L146 ILogger]: Hoare is false [2019-05-23 10:02:41,827 INFO L146 ILogger]: Compute interpolants for ForwardPredicates [2019-05-23 10:02:41,827 INFO L146 ILogger]: Backedges is STRAIGHT_LINE [2019-05-23 10:02:41,827 INFO L146 ILogger]: Determinization is PREDICATE_ABSTRACTION [2019-05-23 10:02:41,828 INFO L146 ILogger]: Difference is false [2019-05-23 10:02:41,828 INFO L146 ILogger]: Minimize is MINIMIZE_SEVPA [2019-05-23 10:02:41,828 INFO L146 ILogger]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2019-05-23 10:02:41,845 INFO L146 ILogger]: Start isEmpty. Operand 45 states. [2019-05-23 10:02:41,855 INFO L146 ILogger]: Finished isEmpty. Found accepting run of length 31 [2019-05-23 10:02:41,856 INFO L146 ILogger]: Found error trace [2019-05-23 10:02:41,857 INFO L146 ILogger]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-23 10:02:41,860 INFO L146 ILogger]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2019-05-23 10:02:41,865 INFO L146 ILogger]: Initialized classic predicate unifier [2019-05-23 10:02:41,865 INFO L146 ILogger]: Analyzing trace with hash 327427959, now seen corresponding path program 1 times [2019-05-23 10:02:41,912 INFO L146 ILogger]: Using refinement strategy FixedRefinementStrategy [2019-05-23 10:02:41,950 INFO L146 ILogger]: Conjunction of SSA is unsat [2019-05-23 10:02:41,954 INFO L146 ILogger]: Trace formula consists of 78 conjuncts, 2 conjunts are in the unsatisfiable core [2019-05-23 10:02:41,961 INFO L146 ILogger]: Computing forward predicates... [2019-05-23 10:02:42,013 INFO L146 ILogger]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-23 10:02:42,016 INFO L146 ILogger]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-05-23 10:02:42,016 INFO L146 ILogger]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2019-05-23 10:02:42,021 INFO L146 ILogger]: Interpolant automaton has 3 states [2019-05-23 10:02:42,035 INFO L146 ILogger]: Constructing interpolant automaton starting with 3 interpolants. [2019-05-23 10:02:42,036 INFO L146 ILogger]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-05-23 10:02:42,039 INFO L146 ILogger]: Start difference. First operand 45 states. Second operand 3 states. [2019-05-23 10:02:42,279 INFO L146 ILogger]: Subtrahend was deterministic. Have not used determinization. [2019-05-23 10:02:42,279 INFO L146 ILogger]: Finished difference Result 55 states and 56 transitions. [2019-05-23 10:02:42,280 INFO L146 ILogger]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-05-23 10:02:42,281 INFO L146 ILogger]: Start accepts. Automaton has 3 states. Word has length 30 [2019-05-23 10:02:42,281 INFO L146 ILogger]: Finished accepts. some prefix is accepted. [2019-05-23 10:02:42,290 INFO L146 ILogger]: With dead ends: 55 [2019-05-23 10:02:42,291 INFO L146 ILogger]: Without dead ends: 55 [2019-05-23 10:02:42,292 INFO L146 ILogger]: 0 DeclaredPredicates, 29 GetRequests, 28 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-05-23 10:02:42,307 INFO L146 ILogger]: Start minimizeSevpa. Operand 55 states. [2019-05-23 10:02:42,323 INFO L146 ILogger]: Finished minimizeSevpa. Reduced states from 55 to 45. [2019-05-23 10:02:42,324 INFO L146 ILogger]: Start removeUnreachable. Operand 45 states. [2019-05-23 10:02:42,326 INFO L146 ILogger]: Finished removeUnreachable. Reduced from 45 states to 45 states and 46 transitions. [2019-05-23 10:02:42,327 INFO L146 ILogger]: Start accepts. Automaton has 45 states and 46 transitions. Word has length 30 [2019-05-23 10:02:42,328 INFO L146 ILogger]: Finished accepts. word is rejected. [2019-05-23 10:02:42,328 INFO L146 ILogger]: Abstraction has 45 states and 46 transitions. [2019-05-23 10:02:42,328 INFO L146 ILogger]: Interpolant automaton has 3 states. [2019-05-23 10:02:42,328 INFO L146 ILogger]: Start isEmpty. Operand 45 states and 46 transitions. [2019-05-23 10:02:42,330 INFO L146 ILogger]: Finished isEmpty. Found accepting run of length 45 [2019-05-23 10:02:42,330 INFO L146 ILogger]: Found error trace [2019-05-23 10:02:42,330 INFO L146 ILogger]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-23 10:02:42,331 INFO L146 ILogger]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2019-05-23 10:02:42,331 INFO L146 ILogger]: Initialized classic predicate unifier [2019-05-23 10:02:42,331 INFO L146 ILogger]: Analyzing trace with hash -304166653, now seen corresponding path program 1 times [2019-05-23 10:02:42,332 INFO L146 ILogger]: Using refinement strategy FixedRefinementStrategy [2019-05-23 10:02:42,373 INFO L146 ILogger]: Conjunction of SSA is unsat [2019-05-23 10:02:42,380 INFO L146 ILogger]: Trace formula consists of 120 conjuncts, 4 conjunts are in the unsatisfiable core [2019-05-23 10:02:42,384 INFO L146 ILogger]: Computing forward predicates... [2019-05-23 10:02:42,673 WARN L146 ILogger]: Spent 215.00 ms on a formula simplification. DAG size of input: 7 DAG size of output: 5 [2019-05-23 10:02:42,682 INFO L146 ILogger]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-05-23 10:02:42,682 INFO L146 ILogger]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-23 10:02:42,683 INFO L146 ILogger]: Number of different interpolants: perfect sequences [] imperfect sequences [4] total 4 [2019-05-23 10:02:42,685 INFO L146 ILogger]: Interpolant automaton has 4 states [2019-05-23 10:02:42,685 INFO L146 ILogger]: Constructing interpolant automaton starting with 4 interpolants. [2019-05-23 10:02:42,685 INFO L146 ILogger]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2019-05-23 10:02:42,686 INFO L146 ILogger]: Start difference. First operand 45 states and 46 transitions. Second operand 4 states. [2019-05-23 10:02:42,817 INFO L146 ILogger]: Subtrahend was deterministic. Have not used determinization. [2019-05-23 10:02:42,817 INFO L146 ILogger]: Finished difference Result 21 states and 21 transitions. [2019-05-23 10:02:42,818 INFO L146 ILogger]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-05-23 10:02:42,818 INFO L146 ILogger]: Start accepts. Automaton has 4 states. Word has length 44 [2019-05-23 10:02:42,819 INFO L146 ILogger]: Finished accepts. some prefix is accepted. [2019-05-23 10:02:42,819 INFO L146 ILogger]: With dead ends: 21 [2019-05-23 10:02:42,819 INFO L146 ILogger]: Without dead ends: 0 [2019-05-23 10:02:42,821 INFO L146 ILogger]: 0 DeclaredPredicates, 44 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2019-05-23 10:02:42,821 INFO L146 ILogger]: Start minimizeSevpa. Operand 0 states. [2019-05-23 10:02:42,821 INFO L146 ILogger]: Finished minimizeSevpa. Reduced states from 0 to 0. [2019-05-23 10:02:42,821 INFO L146 ILogger]: Start removeUnreachable. Operand 0 states. [2019-05-23 10:02:42,822 INFO L146 ILogger]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2019-05-23 10:02:42,823 INFO L146 ILogger]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 44 [2019-05-23 10:02:42,823 INFO L146 ILogger]: Finished accepts. word is rejected. [2019-05-23 10:02:42,824 INFO L146 ILogger]: Abstraction has 0 states and 0 transitions. [2019-05-23 10:02:42,824 INFO L146 ILogger]: Interpolant automaton has 4 states. [2019-05-23 10:02:42,824 INFO L146 ILogger]: Start isEmpty. Operand 0 states and 0 transitions. [2019-05-23 10:02:42,824 INFO L146 ILogger]: Finished isEmpty. No accepting run. [2019-05-23 10:02:42,828 INFO L146 ILogger]: Did not count any witness invariants because Icfg is not BoogieIcfg [2019-05-23 10:02:42,830 INFO L146 ILogger]: Adding new model string.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.05 10:02:42 BasicIcfg [2019-05-23 10:02:42,830 INFO L146 ILogger]: ------------------------ END TraceAbstraction---------------------------- [2019-05-23 10:02:42,835 INFO L146 ILogger]: Toolchain (without parser) took 1863.09 ms. Allocated memory was 140.0 MB in the beginning and 176.7 MB in the end (delta: 36.7 MB). Free memory was 109.5 MB in the beginning and 135.3 MB in the end (delta: -25.8 MB). Peak memory consumption was 10.9 MB. Max. memory is 7.1 GB. [2019-05-23 10:02:42,837 INFO L146 ILogger]: Boogie PL CUP Parser took 0.19 ms. Allocated memory is still 140.0 MB. Free memory was 111.0 MB in the beginning and 110.8 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. [2019-05-23 10:02:42,838 INFO L146 ILogger]: Boogie Procedure Inliner took 37.48 ms. Allocated memory is still 140.0 MB. Free memory was 109.5 MB in the beginning and 107.7 MB in the end (delta: 1.8 MB). Peak memory consumption was 1.8 MB. Max. memory is 7.1 GB. [2019-05-23 10:02:42,840 INFO L146 ILogger]: Boogie Preprocessor took 24.93 ms. Allocated memory is still 140.0 MB. Free memory was 107.7 MB in the beginning and 106.6 MB in the end (delta: 1.1 MB). Peak memory consumption was 1.1 MB. Max. memory is 7.1 GB. [2019-05-23 10:02:42,841 INFO L146 ILogger]: RCFGBuilder took 644.81 ms. Allocated memory is still 140.0 MB. Free memory was 106.4 MB in the beginning and 93.6 MB in the end (delta: 12.9 MB). Peak memory consumption was 12.9 MB. Max. memory is 7.1 GB. [2019-05-23 10:02:42,843 INFO L146 ILogger]: IcfgTransformer took 74.71 ms. Allocated memory is still 140.0 MB. Free memory was 93.3 MB in the beginning and 87.8 MB in the end (delta: 5.5 MB). Peak memory consumption was 5.5 MB. Max. memory is 7.1 GB. [2019-05-23 10:02:42,845 INFO L146 ILogger]: TraceAbstraction took 1076.02 ms. Allocated memory was 140.0 MB in the beginning and 176.7 MB in the end (delta: 36.7 MB). Free memory was 87.6 MB in the beginning and 135.3 MB in the end (delta: -47.7 MB). There was no memory consumed. Max. memory is 7.1 GB. [2019-05-23 10:02:42,856 INFO L146 ILogger]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Boogie PL CUP Parser took 0.19 ms. Allocated memory is still 140.0 MB. Free memory was 111.0 MB in the beginning and 110.8 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 37.48 ms. Allocated memory is still 140.0 MB. Free memory was 109.5 MB in the beginning and 107.7 MB in the end (delta: 1.8 MB). Peak memory consumption was 1.8 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 24.93 ms. Allocated memory is still 140.0 MB. Free memory was 107.7 MB in the beginning and 106.6 MB in the end (delta: 1.1 MB). Peak memory consumption was 1.1 MB. Max. memory is 7.1 GB. * RCFGBuilder took 644.81 ms. Allocated memory is still 140.0 MB. Free memory was 106.4 MB in the beginning and 93.6 MB in the end (delta: 12.9 MB). Peak memory consumption was 12.9 MB. Max. memory is 7.1 GB. * IcfgTransformer took 74.71 ms. Allocated memory is still 140.0 MB. Free memory was 93.3 MB in the beginning and 87.8 MB in the end (delta: 5.5 MB). Peak memory consumption was 5.5 MB. Max. memory is 7.1 GB. * TraceAbstraction took 1076.02 ms. Allocated memory was 140.0 MB in the beginning and 176.7 MB in the end (delta: 36.7 MB). Free memory was 87.6 MB in the beginning and 135.3 MB in the end (delta: -47.7 MB). There was no memory consumed. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 89]: assertion always holds For all program executions holds that assertion always holds at this location - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - StatisticsResult: Ultimate Automizer benchmark data CFG has 1 procedures, 45 locations, 1 error locations. SAFE Result, 1.0s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.4s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 51 SDtfs, 16 SDslu, 48 SDs, 0 SdLazy, 38 SolverSat, 3 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.2s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 73 GetRequests, 69 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.3s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=45occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 2 MinimizatonAttempts, 10 StatesRemovedByMinimization, 1 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.3s InterpolantComputationTime, 74 NumberOfCodeBlocks, 74 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 72 ConstructedInterpolants, 0 QuantifiedInterpolants, 4038 SizeOfPredicates, 4 NumberOfNonLiveVariables, 198 ConjunctsInSsa, 6 ConjunctsInUnsatCore, 2 InterpolantComputations, 1 PerfectInterpolantSequences, 1/2 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be correct! Received shutdown request...