public void Visit(TruthTable truthTable) { //Traverse Each Row foreach (var currentRow in truthTable.NormalRows) { for (var j = 0; j < currentRow.PropositionValues.Length; j++) { truthTable.SetValue_Of_Propositional_Variables( variable: truthTable.DistinctPropositionalVariables[j], (bool)currentRow.PropositionValues[j] ); } this.Calculate(truthTable.RootOfBinaryTree); currentRow.SetValue(truthTable.RootOfBinaryTree.Data); } }