Skip to main content

coherent_configuration_constants

Function coherent_configuration_constants 

Source
pub fn coherent_configuration_constants(
    num_vars: usize,
    clauses: &[Vec<Lit>],
) -> Option<(usize, Vec<Vec<Vec<u128>>>)>
Expand description

The coherent configuration (association scheme) that 2-WL stabilizes into: its d basis relations (the stable pair-color classes R_0,…,R_{d-1}) and their intersection numbers p[i][j][k] = |{z : (x,z) ∈ R_i and (z,y) ∈ R_j}| for any (x,y) ∈ R_k. Returns (d, p).

The intersection numbers are well-defined because the coloring is coherent (independent of which (x,y) ∈ R_k is chosen) — and that well-definedness is checked over EVERY pair, FAIL-CLOSED: None if the 2-WL coloring is somehow not coherent (it always is once stabilized, so this certifies it). These are the structure constants of the coherent algebra — the combinatorial dual of the class-algebra structure constants (crate::permgroup::class_multiplication_coefficients); for a group’s orbital configuration they are the orbital intersection numbers.