public WS1SEq(WS1SVariable <T> var1, WS1SVariable <T> var2) { if (var1.isFirstOrder != var2.isFirstOrder) { throw new AutomataException(AutomataExceptionKind.InvalidWS1Sformula); } this.var1 = var1; this.var2 = var2; }
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)); }
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; }
public override WS1SFormula <T> ToWS1S() { var Y = new WS1SVariable <T>(var + "_"); return(new WS1SNot <T>(new WS1SExists <T>(Y, Var() < Y))); }
public override WS1SFormula <T> ToWS1S() { var X = new WS1SVariable <T>(var); return(new WS1SExists <T>(X, phi.ToWS1S())); }
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()))))); }
public WS1SExists(WS1SVariable <T> var, WS1SFormula <T> phi) { this.var = var; this.phi = phi; }
public WS1SPred(T pred, WS1SVariable <T> var) { this.pred = pred; this.var = var; }
public WS1SSingleton(WS1SVariable <T> var) { this.var = var; }
public WS1SSubset(WS1SVariable <T> var1, WS1SVariable <T> var2) { this.var1 = var1; this.var2 = var2; }