/* * Deze methode controleert de vervulbaarheid van een formule voor een bepaalde waarde voor een enkele variabele */ private static Valuatie VervulbaarVoorWaarde(IFormule formule, SortedSet <string> variabelen, Valuatie valuatie, string var, bool waarde) { // Voeg variabele toe aan valuatie valuatie.VoegToe(var, waarde); // Controleer of formule waar kan zijn if (formule.KanWaar(valuatie)) { // Controleer recursief Valuatie resultaat = Vervulbaar(formule, variabelen, valuatie); // Als er een resultaat is, return deze if (resultaat != null) { return(resultaat); } } // Anders verwijder de variabele weer uit de valuatie en return null valuatie.Verwijder(var); return(null); }
public bool KanOnwaar(Valuatie v) { // Een negatie kan onwaar zijn als return(formule.KanWaar(v)); }
public bool KanWaar(Valuatie v) { // Een conjuctie kan enkel waar zijn als beide elementen waar kunnen zijn return(links.KanWaar(v) && rechts.KanWaar(v)); }
public bool KanWaar(Valuatie v) { // Een disjunctie kan waar zijn als één of beide van de elementen waar kunnen zijn return(links.KanWaar(v) || rechts.KanWaar(v)); }