Error correction codes (theorems: Hamming condition, Varsham-Gilbert)