Ejemplo n.º 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;
 }
Ejemplo n.º 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));
        }
Ejemplo n.º 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;
        }
Ejemplo n.º 4
0
        public override WS1SFormula <T> ToWS1S()
        {
            var Y = new WS1SVariable <T>(var + "_");

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

            return(new WS1SExists <T>(X, phi.ToWS1S()));
        }
Ejemplo n.º 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())))));
        }
Ejemplo n.º 7
0
 public WS1SExists(WS1SVariable <T> var, WS1SFormula <T> phi)
 {
     this.var = var;
     this.phi = phi;
 }
Ejemplo n.º 8
0
 public WS1SPred(T pred, WS1SVariable <T> var)
 {
     this.pred = pred;
     this.var  = var;
 }
Ejemplo n.º 9
0
 public WS1SSingleton(WS1SVariable <T> var)
 {
     this.var = var;
 }
Ejemplo n.º 10
0
 public WS1SSubset(WS1SVariable <T> var1, WS1SVariable <T> var2)
 {
     this.var1 = var1;
     this.var2 = var2;
 }