aima.core.logic.fol.kb.data.CNF Maven / Gradle / Ivy
package aima.core.logic.fol.kb.data;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* Conjunctive Normal Form (CNF) : a conjunction of clauses, where each clause
* is a disjunction of literals.
*
* @author Ciaran O'Reilly
*
*/
public class CNF {
private List conjunctionOfClauses = new ArrayList();
public CNF(List conjunctionOfClauses) {
this.conjunctionOfClauses.addAll(conjunctionOfClauses);
}
public int getNumberOfClauses() {
return conjunctionOfClauses.size();
}
public List getConjunctionOfClauses() {
return Collections.unmodifiableList(conjunctionOfClauses);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < conjunctionOfClauses.size(); i++) {
if (i > 0) {
sb.append(",");
}
sb.append(conjunctionOfClauses.get(i).toString());
}
return sb.toString();
}
}