public void variableUnassigned(Variable unassignedVar, int oldAssignment) {
		//see if the clause is still satisfied.
		//if it is, nothing changes
		if(isSatisfied()) return;

		//make sure the variable is in this clause
		if(! variableInClause(unassignedVar)) return;

		//check if someone is unit who shouldn't be
		checkUnitness();
		
		//it is no longer satisfied, so see if it was satisfied before
		//if it was, we need to adjust the statistics in the variables
		//if it wasn't, we don't need to do anything
		Literal unassigedLit = getLiteral(unassignedVar);
		
		if(unassigedLit.getSign() && oldAssignment==Variable.FALSE) return;
		if((! unassigedLit.getSign()) && oldAssignment== Variable.TRUE) return;

		//we have established that the clause was satisfied before when the variable was assigned
		//thus, we need to adjust all the statistics in all the variables in this clause
		for(Literal l : literals) {
			if(l.getSign()) {
				//the literal appears positively
				//so we need to increment the number of times the variable appears positively.
				l.getVariable().incTimesPositive();
			} else {
				//the literal appears negatively
				//we need to increment the number of times the variable appears negatively.
				l.getVariable().incTimesNegative();
			}
		}
	}