pub struct SymmetricInstance {
pub num_vars: usize,
pub gens: Vec<Poly>,
pub sym: Vec<Perm>,
pub atoms: Box<dyn Fn(u32) -> Vec<(u8, u32)>>,
pub anchors: Vec<Structure>,
}Expand description
A symmetric family instantiated at one scale: the variable count, the GF(2) generator
polynomials, the scale’s symmetry generators, the variable → atom-list map that names orbit
types scale-independently, and one anchor per generator — the pseudo-structure that pins the
generator’s identity for cross-scale row labeling (a pigeon row is anchored by its pigeon, a
point generator by its point, a fixed-shape generator by its own monomial structure; anchor
atom-lists carry the marker sort 255 so they never collide with multiplier variables, while
their point atoms share the real sorts and relabel consistently with the multiplier’s).
Fields§
§num_vars: usize§gens: Vec<Poly>§sym: Vec<Perm>§atoms: Box<dyn Fn(u32) -> Vec<(u8, u32)>>§anchors: Vec<Structure>Implementations§
Auto Trait Implementations§
impl Freeze for SymmetricInstance
impl !RefUnwindSafe for SymmetricInstance
impl !Send for SymmetricInstance
impl !Sync for SymmetricInstance
impl Unpin for SymmetricInstance
impl UnsafeUnpin for SymmetricInstance
impl !UnwindSafe for SymmetricInstance
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more