graph LR A[Set A]:::set -->|Cyclic shifts + i mod n| B[Quorum System X]:::sys B --> C[X = {A + i mod n}]:::sys C --> D{Intersection?}:::check D -->|G ∩ H ≠ ∅| E[Valid CQS]:::valid D -->|No| F[Invalid]:::invalid classDef set fill:#9c27b0,stroke:#7b1fa2,color:white classDef sys fill:#2196f3,stroke:#1976d2,color:white classDef check fill:#ff9800,stroke:#f57c00,color:black classDef valid fill:#4caf50,stroke:#388e3c,color:white classDef invalid fill:#f44336,stroke:#d32f2f,color:white
graph TD D[a1, a2, ..., ak]:::set -->|Differences| Diff[Non-zero differences]:::diff Diff -->|Cover all| Z[Every z in Zv, z != 0]:::cover Z --> DC[(v, k, lambda) difference cover]:::params classDef set fill:#9c27b0,stroke:#7b1fa2,color:white classDef diff fill:#2196f3,stroke:#1976d2,color:white classDef cover fill:#4caf50,stroke:#388e3c,color:white classDef params fill:#ff9800,stroke:#f57c00,color:black
graph LR A[Base Quorum A]:::base -->|Cyclic shifts| B[CQS X]:::cqs D[Relaxed Diff Set]:::diffset -->|Forms| E[Difference Cover]:::cover B <-->|Theorem 1| E classDef base fill:#9c27b0,stroke:#7b1fa2,color:white classDef cqs fill:#2196f3,stroke:#1976d2,color:white classDef diffset fill:#ff9800,stroke:#f57c00,color:black classDef cover fill:#4caf50,stroke:#388e3c,color:white