/// <summary>
        /// If this is true, the current valution can simulate all the valuation in the future
        /// </summary>
        /// <param name="valuation"></param>
        /// <param name="currentState"></param>
        /// <returns></returns>
        public static bool AllClockGreaterThanLower(int[] valuation, string[] currentState)
        {
            for (int i = 1; i < valuation.Length; i++)
            {
                if (valuation[i] <= NewDBM.GetLower(i, true, currentState))
                {
                    return(false);
                }
            }

            return(true);
        }
        /// <summary>
        /// Return true if valution2 simulates valuation1
        /// </summary>
        /// <param name="valuation1"></param>
        /// <param name="valuation2"></param>
        /// <param name="currentState">All the clocks in the same process. currentState is the state of this process</param>
        /// <returns></returns>
        public static bool IsLUSimulated(int[] valuation1, int[] valuation2, string currentState)
        {
            for (int i = 1; i < valuation1.Length; i++)
            {
                if (!IsLUSimulated(valuation1[i], valuation2[i], NewDBM.GetLower(i, true, currentState), NewDBM.GetUpper(i, true, currentState)))
                {
                    return(false);
                }
            }

            return(true);
        }