diff --git a/go/analysis/validate.go b/go/analysis/validate.go
index dd9d25b..6e6cf49 100644
--- a/go/analysis/validate.go
+++ b/go/analysis/validate.go
@@ -20,14 +20,20 @@
 	factTypes := make(map[reflect.Type]*Analyzer)
 
 	// Traverse the Requires graph, depth first.
-	color := make(map[*Analyzer]uint8) // 0=white 1=grey 2=black
+	const (
+		white = iota
+		grey
+		black
+		finished
+	)
+	color := make(map[*Analyzer]uint8)
 	var visit func(a *Analyzer) error
 	visit = func(a *Analyzer) error {
 		if a == nil {
 			return fmt.Errorf("nil *Analyzer")
 		}
-		if color[a] == 0 { // white
-			color[a] = 1 // grey
+		if color[a] == white {
+			color[a] = grey
 
 			// names
 			if !validIdent(a.Name) {
@@ -64,7 +70,7 @@
 					return fmt.Errorf("%s.Requires[%d]: %v", a.Name, i, err)
 				}
 			}
-			color[a] = 2 // black
+			color[a] = black
 		}
 
 		return nil
@@ -75,6 +81,16 @@
 		}
 	}
 
+	// Reject duplicates among analyzers.
+	// Precondition:  color[a] == black.
+	// Postcondition: color[a] == finished.
+	for _, a := range analyzers {
+		if color[a] == finished {
+			return fmt.Errorf("duplicate analyzer: %s", a.Name)
+		}
+		color[a] = finished
+	}
+
 	return nil
 }
 
