Beispiel #1
0
        public bool AreEquivalent(MSOFormula <S> phi1, MSOFormula <S> phi2)
        {
            var aut1 = phi1.GetAutomaton(solver);
            var aut2 = phi2.GetAutomaton(solver);

            return(aut1.IsEquivalentWith(aut2, solver));
        }
Beispiel #2
0
        public MSOFormula <S> GetAtom(MSOFormula <S> psi)
        {
            if (!IsAtomic)
            {
                throw new AutomataException(AutomataExceptionKind.BooleanAlgebraIsNotAtomic);
            }

            throw new NotImplementedException();
        }
Beispiel #3
0
 public MSOForallFo(string var, MSOFormula phi) : base(var, phi)
 {
 }
Beispiel #4
0
 public MSOOr(MSOFormula <T> phi1, MSOFormula <T> phi2) : base(phi1, phi2)
 {
 }
Beispiel #5
0
 public MSOBinaryOp(MSOFormula <T> phi1, MSOFormula <T> phi2)
 {
     this.phi1 = phi1;
     this.phi2 = phi2;
 }
Beispiel #6
0
 public MSOEquiv(MSOFormula <T> phi1, MSOFormula <T> phi2) : base(phi1, phi2)
 {
 }
Beispiel #7
0
 public MSOExists(Variable var, MSOFormula <T> phi) : base(var, phi)
 {
 }
Beispiel #8
0
        public bool IsSatisfiable(MSOFormula <S> phi)
        {
            var aut = phi.GetAutomaton(solver);

            return(!aut.IsEmpty);
        }
Beispiel #9
0
 public MSOForallSo(string var, MSOFormula <T> phi) : base(var, phi)
 {
 }
Beispiel #10
0
 public MSOExistsSo(string var, MSOFormula <T> phi) : base(var, phi)
 {
 }
Beispiel #11
0
 public MSOQuantifiedSOFormula(string var, MSOFormula <T> phi) : base(var, phi)
 {
 }
Beispiel #12
0
 public MSOQuantifiedFormula(string var, MSOFormula <T> phi)
 {
     this.var = var;
     this.phi = phi;
 }
Beispiel #13
0
 public MSOIff(MSOFormula phi1, MSOFormula phi2) : base(phi1, phi2)
 {
 }
Beispiel #14
0
 public MSOAnd(MSOFormula phi1, MSOFormula phi2) : base(phi1, phi2)
 {
 }
Beispiel #15
0
 public MSOBinaryPred(MSOFormula phi1, MSOFormula phi2)
 {
     this.phi1 = phi1;
     this.phi2 = phi2;
 }
Beispiel #16
0
 public MSOFormula <S> MkOr(MSOFormula <S> phi1, MSOFormula <S> phi2)
 {
     return(new MSOOr <S>(phi1, phi2));
 }
Beispiel #17
0
 public MSOFormula <S> MkAnd(MSOFormula <S> phi1, MSOFormula <S> phi2)
 {
     return(new MSOAnd <S>(phi1, phi2));
 }
Beispiel #18
0
 public MSOFormula <S> MkSymmetricDifference(MSOFormula <S> p1, MSOFormula <S> p2)
 {
     throw new NotImplementedException();
 }
Beispiel #19
0
 public MSOFormula <S> Simplify(MSOFormula <S> phi)
 {
     //TODO simplify trivial stuff
     return(phi);
 }
Beispiel #20
0
 public bool CheckImplication(MSOFormula <S> lhs, MSOFormula <S> rhs)
 {
     throw new NotImplementedException();
 }
Beispiel #21
0
 public MSOImplies(MSOFormula <T> phi1, MSOFormula <T> phi2) : base(phi1, phi2)
 {
 }
Beispiel #22
0
 public bool EvaluateAtom(MSOFormula <S> atom, MSOFormula <S> psi)
 {
     throw new NotImplementedException();
 }
Beispiel #23
0
 public MSOForall(Variable var, MSOFormula <T> phi) : base(var, phi)
 {
 }
Beispiel #24
0
 public MSOFormula <S> MkDiff(MSOFormula <S> predicate1, MSOFormula <S> predicate2)
 {
     return(MkAnd(predicate1, MkNot(predicate2)));
 }
Beispiel #25
0
 public MSOQuantifiedFormula(Variable var, MSOFormula <T> phi)
 {
     this.var = var;
     this.phi = phi;
 }
Beispiel #26
0
 public MSOFormula <S> MkNot(MSOFormula <S> phi)
 {
     return(new MSONot <S>(phi));
 }
Beispiel #27
0
 public MSONot(MSOFormula <T> phi)
 {
     this.phi = phi;
 }
Beispiel #28
0
 public MSOExistsFo(string var, MSOFormula phi) : base(var, phi)
 {
 }