Skip to main content

automorphism_group

Function automorphism_group 

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

The formula’s automorphism group as a BSGS — Schreier–Sims as the symmetry backend. The detected generators (find_generators) are bridged to permutations of the 2·num_vars literal points and a base + strong generating set is built, so the symmetry layer can compute |Aut(F)| (crate::permgroup::Bsgs::order) and decide membership / cosets (crate::permgroup::Bsgs::contains) in polynomial time — group computations it previously could not do (it worked only with the raw generators). The stabilizer chain is the symmetry break, generalized from the abelian linear engines to an arbitrary (non-abelian) permutation group.