Example #1
0
 public WS1SEq(WS1SVariable <T> var1, WS1SVariable <T> var2)
 {
     if (var1.isFirstOrder != var2.isFirstOrder)
     {
         throw new AutomataException(AutomataExceptionKind.InvalidWS1Sformula);
     }
     this.var1 = var1;
     this.var2 = var2;
 }
Example #2
0
        public override bool Equals(object obj)
        {
            WS1SVariable <T> v = obj as WS1SVariable <T>;

            if (object.Equals(v, null))
            {
                return(false);
            }
            return(name.Equals(v.name));
        }
Example #3
0
        public WS1SSuccN(WS1SVariable <T> var1, WS1SVariable <T> var2, int n)
        {
            if (n < 1)
            {
                throw new ArgumentException("successor offset must be positive", "n");
            }

            if (var1.isFirstOrder != var2.isFirstOrder)
            {
                throw new AutomataException(AutomataExceptionKind.InvalidWS1Sformula);
            }

            this.var1 = var1;
            this.var2 = var2;
            this.n    = n;
        }
Example #4
0
        public override WS1SFormula <T> ToWS1S()
        {
            var Y = new WS1SVariable <T>(var + "_");

            return(new WS1SNot <T>(new WS1SExists <T>(Y, Var() < Y)));
        }
Example #5
0
        public override WS1SFormula <T> ToWS1S()
        {
            var X = new WS1SVariable <T>(var);

            return(new WS1SExists <T>(X, phi.ToWS1S()));
        }
Example #6
0
        public override WS1SFormula <T> ToWS1S()
        {
            var X = new WS1SVariable <T>(var);

            return(new WS1SNot <T>(new WS1SExists <T>(X, new WS1SAnd <T>(new WS1SSingleton <T>(X), new WS1SNot <T>(phi.ToWS1S())))));
        }
Example #7
0
 public WS1SExists(WS1SVariable <T> var, WS1SFormula <T> phi)
 {
     this.var = var;
     this.phi = phi;
 }
Example #8
0
 public WS1SPred(T pred, WS1SVariable <T> var)
 {
     this.pred = pred;
     this.var  = var;
 }
Example #9
0
 public WS1SSingleton(WS1SVariable <T> var)
 {
     this.var = var;
 }
Example #10
0
 public WS1SSubset(WS1SVariable <T> var1, WS1SVariable <T> var2)
 {
     this.var1 = var1;
     this.var2 = var2;
 }