So 2NF and 3NF are rules that aim to eliminate data redundancies. That's Kent's point: everything is a fact about a key.
I'm talking about a more basic idea of expressing structures that are accessible through relational operations, so joins, intersections, unions, etc. That's known as 1NF[1] and, as you might expect, it's a pre-requisite to 2NF and 3NF.