Пример #1
0
        public virtual bool IsEquivalentWith(MonaFormula phi, HashSet <Char> alphabet, CharSetSolver solver)
        {
            var p1  = new MonaIff(phi, this);
            var dfa = p1.GetDFA(alphabet, solver);

            return(!dfa.IsEmpty);
        }
Пример #2
0
 public MonaBinaryFormula(MonaFormula left, MonaFormula right, MonaLogicalOperator op)
 {
     this.phi1 = left;
     this.phi2 = right;
     this.op   = op;
 }
Пример #3
0
 public MonaExistsSO(List <String> var, MonaFormula phi) : base(var, phi, MonaQuantifier.ExistsSO)
 {
 }
Пример #4
0
 public MonaForallFO(List <String> var, MonaFormula phi) : base(var, phi, MonaQuantifier.ForallFO)
 {
 }
Пример #5
0
 public MonaQuantifiedFormula(List <String> vars, MonaFormula phi, MonaQuantifier q)
 {
     this.phi  = phi;
     this.vars = new List <string>(vars);
     this.q    = q;
 }
 public MonaQuantifiedFormula(List<String> vars, MonaFormula phi, MonaQuantifier q)
 {
     this.phi = phi;
     this.vars = new List<string>(vars);
     this.q = q;
 }
Пример #7
0
 public MonaNot(MonaFormula phi)
 {
     this.phi = phi;
 }
Пример #8
0
 public MonaIf(MonaFormula phi1, MonaFormula phi2)
     : base(phi1, phi2, MonaLogicalOperator.If)
 {
 }
 public MonaIff(MonaFormula left, MonaFormula right)
     : base(left, right, MonaLogicalOperator.Iff)
 { }
 public MonaIf(MonaFormula phi1, MonaFormula phi2)
     : base(phi1, phi2, MonaLogicalOperator.If)
 { }
 public MonaOr(MonaFormula phi1, MonaFormula phi2)
     : base(phi1, phi2, MonaLogicalOperator.Or)
 { }
 public MonaAnd(MonaFormula phi1, MonaFormula phi2)
     : base(phi1, phi2, MonaLogicalOperator.And)
 { }
 public MonaBinaryFormula(MonaFormula left, MonaFormula right, MonaLogicalOperator op)
 {
     this.phi1 = left;
     this.phi2 = right;
     this.op = op;
 }
 public MonaExistsSO(List<String> var, MonaFormula phi) : base(var, phi, MonaQuantifier.ExistsSO) { }
 public MonaForallFO(List<String> var, MonaFormula phi) : base(var, phi, MonaQuantifier.ForallFO) { }
Пример #16
0
 public MonaAnd(MonaFormula phi1, MonaFormula phi2)
     : base(phi1, phi2, MonaLogicalOperator.And)
 {
 }
Пример #17
0
 public MonaOr(MonaFormula phi1, MonaFormula phi2)
     : base(phi1, phi2, MonaLogicalOperator.Or)
 {
 }
 public MonaNot(MonaFormula phi)
 {
     this.phi = phi;
 }
Пример #19
0
 public MonaIff(MonaFormula left, MonaFormula right)
     : base(left, right, MonaLogicalOperator.Iff)
 {
 }
Пример #20
0
 public MonaPred(string name, List<string> variables, MonaFormula phi)
 {
     this.name = name;
     this.variables = new List<string>(variables);
     this.phi = phi;
 }
Пример #21
0
 public MonaPred(string name, List <string> variables, MonaFormula phi)
 {
     this.name      = name;
     this.variables = new List <string>(variables);
     this.phi       = phi;
 }
 public virtual bool IsEquivalentWith(MonaFormula phi, HashSet<Char> alphabet, CharSetSolver solver)
 {
     var p1 = new MonaIff(phi, this);
     var dfa = p1.GetDFA(alphabet, solver);
     return !dfa.IsEmpty;
 }