(* * p q r if p then q else r 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 or more simply put p q r if p then q else r 0 x x r 1 x x q Comparing if-then with if-then-else-true Here's the truth table for if-then-else-true; note that the duplicated rows show how it's equiv to the elseless if-then truth table that follows: p q r if p then q else true common result 0 0 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 Here's the truth table for elseless if-then, where the meaning is defined as logical implication: p q if p then q 0 0 1 0 1 1 1 0 0 1 1 1 * * *)