bool a: [0,1] true; (1,3) false; [3,3] true; (3,4] false; (4,5] true; (5,7) false; [7,7] true; (7,8) false; [8,8] true; (8,9) false; [9,12) true;
bool b: [0,2) true; [2,4) false; [4,6) true; [6,6] false; (6,9] true; (9,10] false; (10,11) true; [11,11] false; (11,12) true; 

bool inputNotA: [0,1] false; (1,3) true; [3,3] false; (3,4] true; (4,5] false; (5,7) true; [7,7] false; (7,8) true; [8,8] false; (8,9) true; [9,12) false;
bool inputAandB: [0,1] true; (1,4] false; (4,5] true; (5,7) false; [7,7] true; (7,8) false; [8,8] true; (8,9) false; [9,9] true; (9,10] false; (10,11) true; [11,11] false; (11,12) true;
bool inputAOrB: [0,2) true; [2,3) false; [3,3] true; (3,4) false; [4,6) true; [6,6] false; (6,12) true;
bool inpuAImpliesB: [0,3) true; [3,3] false; (3,9] true; (9,10] false; (10,11) true; [11,11] false; (11,12) true;
bool inputAIffB: [0,1] true; (1,2) false; [2,3) true; [3,3] false; (3,4) true; [4,4] false; (4,5] true; (5,6) false; [6,6] true; (6,7) false; [7,7] true; (7,8) false; [8,8] true; (8,9) false; [9,9] true; (9,10] false; (10,11) true; [11,11] false; (11,12) true;
bool inputAXorB: [0,1] false; (1,2) true; [2,3) false; [3,3] true; (3,4) false; [4,4] true; (4,5] false; (5,6) true; [6,6] false; (6,7) true; [7,7] false; (7,8) true; [8,8] false; (8,9) true; [9,9] false; (9,10] true; (10,11) false; [11,11] true; (11,12) false;

bool inputAIffA: [0.0,12.0) true;
bool inputBIffB: [0.0,12.0) true;