Table of Contents
Fetching ...

Length 3 Check Digit Codes with Grouped Tags and Disjoint Coding Applications

Larry A. Dunning

TL;DR

The paper advances length-3, check-digit codes by leveraging finite-field constructions, notably GF$(3^2)$, to create robust decimal codes that exceed Verhoeff-type protections, including phonetic and cyclic error detection. It introduces an insertion-based method to extend base-9 codes to decimal digits and develops almost-disjoint code families to approach disjoint coding across multiple sets. The work generalizes to alphabets beyond 10 (e.g., 26 and 36) via transversal insertions and product constructions, culminating in a Tag Code framework for grouping and concatenation. Practical guidance, an accompanying code generator, and explicit parameter choices demonstrate how to implement these codes in real-world catalogs, licenses, and tag systems while highlighting trade-offs between disjointness, phonetic vulnerability, and cyclic-error coverage.

Abstract

In 1969 J. Verhoeff provided the first examples of a decimal error detecting code using a single check digit to provide protection against all single, transposition, and adjacent twin errors. The three codes he presented are length 3-digit codes with 2 information digits. To date, the existence of a length 4-digit code with 3 information digits having these properties remains an open question. Existence of a 4-digit code would imply the existence of 10 disjoint 3-digit codes. Apparently, no pair of such disjoint 3-digit codes is known. Phonetic errors, where 2-digit pairs of the forms X0 and 1X are interchanged, are language dependent, but can often be eliminated. Alternate 3-digit codes are developed here which enhance the level of protection beyond Verhoeff's codes while still optionally providing protection against phonetic errors. Through almost-disjoint coding schemes, it is shown how copies of these new codes can fill in the gap between such 3 and 4-digit codes. The results are extended to other useful alphabet sizes such as 26 and 36 with stronger permutation of digits error detection, and to "tag codes" where digits are grouped.

Length 3 Check Digit Codes with Grouped Tags and Disjoint Coding Applications

TL;DR

The paper advances length-3, check-digit codes by leveraging finite-field constructions, notably GF, to create robust decimal codes that exceed Verhoeff-type protections, including phonetic and cyclic error detection. It introduces an insertion-based method to extend base-9 codes to decimal digits and develops almost-disjoint code families to approach disjoint coding across multiple sets. The work generalizes to alphabets beyond 10 (e.g., 26 and 36) via transversal insertions and product constructions, culminating in a Tag Code framework for grouping and concatenation. Practical guidance, an accompanying code generator, and explicit parameter choices demonstrate how to implement these codes in real-world catalogs, licenses, and tag systems while highlighting trade-offs between disjointness, phonetic vulnerability, and cyclic-error coverage.

Abstract

In 1969 J. Verhoeff provided the first examples of a decimal error detecting code using a single check digit to provide protection against all single, transposition, and adjacent twin errors. The three codes he presented are length 3-digit codes with 2 information digits. To date, the existence of a length 4-digit code with 3 information digits having these properties remains an open question. Existence of a 4-digit code would imply the existence of 10 disjoint 3-digit codes. Apparently, no pair of such disjoint 3-digit codes is known. Phonetic errors, where 2-digit pairs of the forms X0 and 1X are interchanged, are language dependent, but can often be eliminated. Alternate 3-digit codes are developed here which enhance the level of protection beyond Verhoeff's codes while still optionally providing protection against phonetic errors. Through almost-disjoint coding schemes, it is shown how copies of these new codes can fill in the gap between such 3 and 4-digit codes. The results are extended to other useful alphabet sizes such as 26 and 36 with stronger permutation of digits error detection, and to "tag codes" where digits are grouped.
Paper Structure (9 sections, 9 theorems, 19 equations, 12 tables, 1 algorithm)

This paper contains 9 sections, 9 theorems, 19 equations, 12 tables, 1 algorithm.

Key Result

Theorem 1

The code over GF(q) with codewords $(b, m, e)$ (denoted $M_q(b,e)=m$) satisfying $B \otimes b \oplus m \oplus E \otimes e = K$ detects all error types except possibly cyclic errors, when the conditions of the equations eq:BEK are met. The code will also be triple word free.

Theorems & Definitions (15)

  • Theorem 1: Codes over $GF(q), q=4 \vee q\geq 7$
  • Theorem 2: Permutation Errors
  • Theorem 3: Permutation Error Free Codes over $GF(q)$
  • proof
  • Theorem 4: Code Extension by Insertion
  • proof
  • Theorem 5: Permutation Error Free Codes by Insertion
  • proof
  • Theorem 6: Codes for the 26 Letter Alphabet
  • proof
  • ...and 5 more