Esempio n. 1
0
        public override StateFormula existentialNormalForm()
        {
            StateFormula e_left  = left.existentialNormalForm();
            StateFormula e_right = right.existentialNormalForm();

            return(new SAnd(e_left, e_right));
        }
Esempio n. 2
0
        public override StateFormula existentialNormalForm()
        {
            //EF phi = E (true U phi)
            StateFormula true_state = new SBoolean(true);
            StateFormula phi        = operand.existentialNormalForm();

            return(new SEUntil(true_state, phi));
        }
Esempio n. 3
0
 /// <summary>
 ///   Visits the <paramref name="formula." />
 /// </summary>
 public override void VisitStateFormula(StateFormula formula)
 {
     _builder.Append("{");
     _builder.Append("state1=1");             // Note: Currently, only the direct comparison with state slots is supported
     //_builder.Append(formula.Label);
     //var equalsTrue = "=\\\"true\\\"";
     //_builder.Append(equalsTrue);
     _builder.Append("}");
 }
Esempio n. 4
0
        public override StateFormula existentialNormalForm()
        {
            // AX phi = NOT E (X NOT phi)
            StateFormula e_operand   = operand.existentialNormalForm();
            StateFormula not_phi     = new SNot(e_operand);
            StateFormula exists_next = new SENext(not_phi);

            return(new SNot(exists_next));
        }
        public override StateFormula existentialNormalForm()
        {
            // AG phi = NOT EG (NOT phi)
            StateFormula e_operand = operand.existentialNormalForm();
            StateFormula not_phi   = new SNot(e_operand);

            StateFormula exists_always = new SEAlways(not_phi);

            return(new SNot(exists_always));
        }
Esempio n. 6
0
        public override StateFormula existentialNormalForm()
        {
            // AG phi = NOT EF (NOT phi) = NOT E (true U (NOT phi))
            StateFormula e_operand = operand.existentialNormalForm();

            StateFormula not_phi      = new SNot(e_operand);
            StateFormula true_state   = new SBoolean(true);
            StateFormula exists_until = new SEUntil(true_state, not_phi);


            return(new SNot(exists_until));
        }
Esempio n. 7
0
        public override StateFormula existentialNormalForm()
        {
            StateFormula e_left  = left.existentialNormalForm();
            StateFormula e_right = right.existentialNormalForm();

            // a OR b = NOT ((NOT a) AND (NOT b))
            e_left  = new SNot(e_left);
            e_right = new SNot(e_right);

            StateFormula and = new SAnd(e_left, e_right);

            return(new SNot(and));
        }
 public SAFinally(StateFormula operand)
 {
     this.operand = operand;
 }
Esempio n. 9
0
 public SAWeakUntil(StateFormula left, StateFormula right)
 {
     this.left  = left;
     this.right = right;
 }
Esempio n. 10
0
 /// <summary>
 ///   Visits the <paramref name="formula." />
 /// </summary>
 public override void VisitStateFormula(StateFormula formula)
 {
     _expression = Expression.Invoke(Expression.Constant(formula.Expression));
 }
Esempio n. 11
0
 /// <summary>
 ///   Visits the <paramref name="formula." />
 /// </summary>
 public override void VisitStateFormula(StateFormula formula)
 {
     _builder.Append(formula.Label);
 }
Esempio n. 12
0
 public SEAlways(StateFormula operand)
 {
     this.operand = operand;
 }
		/// <summary>
		///   Visits the <paramref name="formula." />
		/// </summary>
		public override void VisitStateFormula(StateFormula formula)
		{
		}
Esempio n. 14
0
 /// <summary>
 ///   Visits the <paramref name="formula." />
 /// </summary>
 public override void VisitStateFormula(StateFormula formula)
 {
     _builder.Append($"({formula.Label} == 1)");
 }
Esempio n. 15
0
 public SOr(StateFormula left, StateFormula right)
 {
     this.left  = left;
     this.right = right;
 }
Esempio n. 16
0
 public SNot(StateFormula state)
 {
     this.state = state;
 }
Esempio n. 17
0
		/// <summary>
		///   Visits the <paramref name="formula." />
		/// </summary>
		public override void VisitStateFormula(StateFormula formula)
		{
			_builder.Append(formula.Label);
		}
Esempio n. 18
0
		/// <summary>
		///   Visits the <paramref name="formula." />
		/// </summary>
		public abstract void VisitStateFormula(StateFormula formula);
Esempio n. 19
0
 /// <summary>
 ///   Visits the <paramref name="formula." />
 /// </summary>
 public override void VisitStateFormula(StateFormula formula)
 {
     StateFormulas.Add(formula);
 }
Esempio n. 20
0
        public override StateFormula existentialNormalForm()
        {
            StateFormula e_operand = operand.existentialNormalForm();

            return(new SEAlways(e_operand));
        }
		/// <summary>
		///   Visits the <paramref name="formula." />
		/// </summary>
		public override void VisitStateFormula(StateFormula formula)
		{
			_builder.Append("{");
			_builder.Append("state1=1"); // Note: Currently, only the direct comparison with state slots is supported
			//_builder.Append(formula.Label);
			//var equalsTrue = "=\\\"true\\\"";
			//_builder.Append(equalsTrue);
			_builder.Append("}");
		}
Esempio n. 22
0
		/// <summary>
		///   Visits the <paramref name="formula." />
		/// </summary>
		public override void VisitStateFormula(StateFormula formula)
		{
			_expression = Expression.Invoke(Expression.Constant(formula.Expression));
		}
Esempio n. 23
0
		/// <summary>
		///     Visits an element of type <see cref="StateFormula" />.
		/// </summary>
		/// <param name="formula">The <see cref="StateFormula" /> instance that should be visited.</param>
		protected internal virtual void VisitStateFormula(StateFormula formula)
		{
			DefaultVisit(formula);
		}
Esempio n. 24
0
		/// <summary>
		///     Visits an element of type <see cref="StateFormula" />.
		/// </summary>
		/// <param name="formula">The <see cref="StateFormula" /> instance that should be visited.</param>
		protected internal override void VisitStateFormula(StateFormula formula)
		{
			Visit(formula.Expression);
		}
Esempio n. 25
0
 public SANext(StateFormula operand)
 {
     this.operand = operand;
 }
Esempio n. 26
0
        public override StateFormula existentialNormalForm()
        {
            StateFormula e_state = state.existentialNormalForm();

            return(new SNot(e_state));
        }
Esempio n. 27
0
 /// <summary>
 ///   Visits the <paramref name="formula." />
 /// </summary>
 public override void VisitStateFormula(StateFormula formula)
 {
 }
Esempio n. 28
0
 /// <summary>
 ///   Visits the <paramref name="formula." />
 /// </summary>
 public abstract void VisitStateFormula(StateFormula formula);