What is a canonical representation?

We had our Digital Systems class today, and our professor kept throwing around the word 'canonical' around a whole lot, but I'm very confused as to what this is.

What I understood is that it's the way of representing an expression uniquely (i.e., two non-equivalent functions cannot have the same canonical form) Is my interpretation correct.

So would Sum of Minterms be canonical or not? If we simplify the SoM form, would it still be canonical?

Canonical form basically holds every variable in its group.

So if you have three variables named A, B and C, your SoM could be A~BC+~ABC+AB~C = Y.

Now you can simplify this to reduce the number of variables in the equation. This simplification is easy for us to solve manually. But for a computer, it needs to know the A, B and C values as a group (101+011+110 from the example above). Because of this, canonical form holds significance.

If you simplify, it just becomes a normal Boolean expression and not a canonical form

So would Sum of Minterms be canonical or not?

When Sum of Products is in its canonical form, it is called 'Sum of Minterms'. Similarly, Product of Sums in its canonical form is called 'Product of Max terms'.

So yes, SoM is canonical.

For a Boolean equation to be in canonical form means that all the terms in it contain all the variables, irrespective of whether a variable in a term is inverted or not.

For example, you have 3 variables (p, q, r) and a function f = p’qr + pq’r + pqr’ + pqr

Here the equation is in canonical form and its simplified form (standard form), after carrying out simplification is, f = pq + qr + pr