Documentation

HexPermGroupTheory.Kernel

theorem Hex.PermGroup.Kernel.sift_mem_iff {n : ℕ} {S : Array (Perm n)} {c : Certificate} (h : check n (List.map pack S.toList) c = true) (p : Perm n) :
sift n (width n) (ident n (width n)) c (pack p) = true ↔ p.toEquiv ∈ closure S

An accepted certificate decides membership in Mathlib's closure.

An accepted certificate gives the cardinality of Mathlib's closure.

The image-list API retained for certificate sources produced by earlier releases.

Equations
Instances For
    theorem Hex.PermGroup.Kernel.map_pack_cons {n : ℕ} {g : Equiv.Perm (Fin n)} {gs : List (Equiv.Perm (Fin n))} {x : ℕ} {xs : List ℕ} (h : pack (Perm.ofEquiv g) = x) (t : List.map pack (List.map Perm.ofEquiv gs) = xs) :
    theorem Hex.PermGroup.Kernel.check_gs {n : ℕ} {gs : List (Equiv.Perm (Fin n))} {inputs : List ℕ} {c : Certificate} (hS : List.map pack (List.map Perm.ofEquiv gs) = inputs) (h : check n inputs c = true) :
    theorem Hex.PermGroup.Kernel.card_of_check {n : ℕ} {gs : List (Equiv.Perm (Fin n))} {inputs : List ℕ} {c : Certificate} {N : ℕ} (hS : List.map pack (List.map Perm.ofEquiv gs) = inputs) (h : check n inputs c = true) (hN : order c = N) :
    theorem Hex.PermGroup.Kernel.mem_of_check {n : ℕ} {gs : List (Equiv.Perm (Fin n))} {inputs : List ℕ} {c : Certificate} {g : Equiv.Perm (Fin n)} {x : ℕ} (hS : List.map pack (List.map Perm.ofEquiv gs) = inputs) (h : check n inputs c = true) (hx : pack (Perm.ofEquiv g) = x) (hs : sift n (width n) (ident n (width n)) c x = true) :
    theorem Hex.PermGroup.Kernel.not_mem_of_check {n : ℕ} {gs : List (Equiv.Perm (Fin n))} {inputs : List ℕ} {c : Certificate} {g : Equiv.Perm (Fin n)} {x : ℕ} (hS : List.map pack (List.map Perm.ofEquiv gs) = inputs) (h : check n inputs c = true) (hx : pack (Perm.ofEquiv g) = x) (hs : sift n (width n) (ident n (width n)) c x = false) :
    theorem Hex.PermGroup.Kernel.eq_top_of_check {n : ℕ} {gs : List (Equiv.Perm (Fin n))} {inputs : List ℕ} {c : Certificate} (hS : List.map pack (List.map Perm.ofEquiv gs) = inputs) (h : check n inputs c = true) (hN : order c = n.factorial) :