--- tags: [propositional-logic, nand-to-tetris] --- # Boolean functions An example of a Boolean function: $$ f(x,y,z) = (x \land y) \lor (\lnot(x) \land z ) $$ Here is a work through where $f(1, 0, 1)$: - The first disjunction : $\lnot(x) \land z$ is false because $x$ is 1 and $z$ is 0 - The second disjunction: $x \land y$ is false because $x$ is 1 and $y$ is 1 - The overall function returns false because the main connective is disjunction and both of its disjuncts are false We can compute all possible outputs of the function by constructing a [trkjuth table](Truth-tables.md) with each possible variable as the truth conditions and the output of the function as the truth value: | $x$ | $y$ | $z$ | $f(x,y,z) = (x \land y) \lor (\lnot(x) \land z )$ | | --- | --- | --- | ------------------------------------------------- | | 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 |