示例#1
0
 public bool equals(Clause p)
 {
     if (p.ToString().Equals(ToString()))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
示例#2
0
        public bool isMoreGeneral(Clause p)
        {
            //  string s1 = ToString();
            string s2 = p.ToString();

            foreach (Literal c in p_side)
            {
                if (!s2.Contains(c.ToString()))
                {
                    return(false);
                }
                //   s1 = s1.Replace("X" + i, "X");
                // s2 = s2.Replace("X" + i, "X");
            }
            return(true);
        }
示例#3
0
        public void sortVariables(Clause p)
        {
            string s      = p.ToString();
            int    index  = 0;
            int    index2 = 0;
            int    i      = 0;

            while (index != -1)
            {
                index = s.IndexOf("X", index2);
                if (index != -1)
                {
                    index2 = s.IndexOf(",", index);
                    string s2 = s.Substring(index, index2 - index);
                    s = s.Replace(s2, "Y" + i);
                    p.replace(s2, "Y" + i);
                    i++;
                }
            }
            p.changeY2X();
            s = s.Replace("Y", "X");
        }
示例#4
0
        public void addPredicate(Clause p)
        {
            int h = computeHash(p.ToString());

            predicates[h].Add(p);
        }