Solution

ID: past-exam-of-the-computer-science-course-of-the-university-of-oxford/2015/computer-aided-formal-verification/1/b/solution

Splitting the Boolean function according to the first tested Boolean variable gives
The identity follows by considering and . Using it and distributing Boolean conjunction over Boolean disjunction,
The first two terms combine to because . This also explains the truth table: always makes the output one, while with the output is one exactly when both and are one.

New to topics? Read the docs here!