binary code Boolean algebra computer science truth table logic gate logic artificial intelligence proof gödel's incompleteness theorem tree