flowchart LR M(0) --> N[NOT] N --> Q{1}
Math Foundations of Computing
Consider the following two statements:
Are these two statements logically equivalent? What are two strategies we could use to find out?
DMOI 3.1.6
A Boolean circuit is an abstract description of the fundamental operation building block of computation: performing an operation on one or more bits.
flowchart LR M(0) --> N[NOT] N --> Q{1}
flowchart LR A(1) --> C[OR] B(0) --> C C --> F{1} E(1) --> G[AND] H(0) --> G G --> I{0}
We can string Boolean circuits together to make more complicated ones:
flowchart LR A(0) --> C[NOT] B(1) --> D[OR] C --> D D --> E[NOT] E --> F{?}
Can you draw a simpler Boolean circuit that has the same output in all cases?
flowchart LR A(p) --> C[NOT] B(q) --> D[OR] C --> D D --> E[NOT] E --> F{OUTPUT}
Informally, two sets of things are isomorphic if you can translate back and forth between them without losing “structure.”
In our case:
We’ll formally define isomorphisms once we’ve studied sets a bit more.