# Practical Work 4 — Minimizing Boolean Functions: Canonical Forms and Karnaugh Maps > Fourth practical class of **Computer Discrete Mathematics**. Working **by hand**, > you write a Boolean function's **canonical** forms (canonical DNF/CNF), reduce > it to a **minimal** form both **algebraically** and with a **Karnaugh map**. ## At a glance | | | |---|---| | **Topic** | Boolean minimization: canonical DNF/CNF, algebraic reduction, Karnaugh maps, minimal DNF/CNF | | **Prerequisite lectures** | [L05 — Boolean algebra](../../Lectures/CDM-L05.md) (built on [L04](../../Lectures/CDM-L04.md)) | | **Mode** | In-class problem solving — pen and paper, no computer | | **Deliverable** | Worked solutions to the tasks in [3classroom.md](3classroom.md) | ## Contents | # | Part | File | |:--:|---|---| | 1 | Objective | [1purpose.md](1purpose.md) | | 2 | Methodical guidelines (self-contained theory) | [2method.md](2method.md) | | 3 | Classroom tasks **with solutions** | [3classroom.md](3classroom.md) | | 6 | Control questions | [6questions.md](6questions.md) | ## Conventions - **Language** — all work is written in **English**. - **By hand.** Minimise using the laws of Boolean algebra and Karnaugh maps, not a computer-algebra tool; show the grouping on the map and the term each group yields. - **Notation is fixed and self-contained.** An overline $\overline{x}$ means $\neg x$; **juxtaposition** $xy$ means $x \wedge y$; and $\vee$ (sometimes written $+$) is OR. The terms *literal, minterm, maxterm, canonical DNF/CNF, minimal DNF/CNF* are defined in [2method.md](2method.md); no outside reference is needed. - **Every task has a full solution.** [3classroom.md](3classroom.md) gives each task together with a complete worked answer, including the Karnaugh map and the groups. ## Summary A Boolean function can be written many ways; this practical is about finding a **small** one. From a truth table we read the **canonical** DNF and CNF (a sum of full minterms / a product of full maxterms), then shrink them — **algebraically** with the laws (De Morgan, distributivity, combining, absorption) and **visually** with a **Karnaugh map**, where adjacent $1$s combine into ever-larger groups that drop variables. Fewer literals in the resulting minimal DNF/CNF mean a simpler circuit — fewer gates, less power, and shorter delay — which is why minimization is a core skill of logic design.