You lose 1 drive capacity to parity, so there's no mathematical violation. With four 1TB drives in a RAID5 array, you can store up to 3TB. If you lose 1 drive, you now have 2TB of data and 1TB of parity, from which you can reconstruct your 3TB of data.
If I recall correctly, RAID5 is XOR based. Say you have two data bytes, A and B, stored on separate disks. Now calculate A XOR B and store it as C on a third disk. What happens when you lose a disk?
Lose the disk with A on it: calculate B XOR C and you have A back.
Lose the disk with B on it: calculate A XOR C and you have B back.
Lose the disk with C on it: calculate A XOR B and you have C back.
At 11PM I can't remember or figure out how they do it with more than 3 disks, but it's the same idea.