private void Check(AnalysisConfiguration configuration)
        {
            var         m = new Model();
            Probability probabilityOfInvariantViolation;

            Formula invariantViolated        = new SimpleLocalVarIsTrue(0);
            var     finallyInvariantViolated = new UnaryFormula(invariantViolated, UnaryOperator.Finally);

            var markovChainGenerator = new SimpleMarkovChainFromExecutableModelGenerator(m);

            markovChainGenerator.Configuration = configuration;
            markovChainGenerator.AddFormulaToCheck(finallyInvariantViolated);
            var ltmc         = markovChainGenerator.GenerateLabeledMarkovChain();
            var modelChecker = new ConfigurationDependentLtmcModelChecker(configuration, ltmc, Output.TextWriterAdapter());

            using (modelChecker)
            {
                probabilityOfInvariantViolation = modelChecker.CalculateProbability(finallyInvariantViolated);
            }

            probabilityOfInvariantViolation.Is(0.01, 0.0001).ShouldBe(true);
        }
        public void Check()
        {
            var         m = new Model();
            Probability probabilityOfInvariantViolation;

            Formula invariantViolated        = new SimpleLocalVarIsTrue(0);
            var     finallyInvariantViolated = new UnaryFormula(invariantViolated, UnaryOperator.Finally);

            var markovChainGenerator = new SimpleDtmcFromExecutableModelGenerator(m);

            markovChainGenerator.Configuration.ModelCapacity = ModelCapacityByMemorySize.Small;
            markovChainGenerator.AddFormulaToCheck(finallyInvariantViolated);
            var dtmc = markovChainGenerator.GenerateMarkovChain();
            var typeOfModelChecker = typeof(BuiltinDtmcModelChecker);
            var modelChecker       = (DtmcModelChecker)Activator.CreateInstance(typeOfModelChecker, dtmc, Output.TextWriterAdapter());

            using (modelChecker)
            {
                probabilityOfInvariantViolation = modelChecker.CalculateProbability(finallyInvariantViolated);
            }

            probabilityOfInvariantViolation.Is(0.01, 0.0001).ShouldBe(true);
        }