Documentation

HexGraphIso.Nauty.Search.VSet.Nat

The bitset with bit v set exactly for the members v.

Equations
Instances For
    theorem Hex.GraphIso.Nauty.VSet.toNat_inj {n : Nat} {s t : VSet n} (h : s.toNat = t.toNat) :
    s = t
    theorem Hex.GraphIso.Nauty.VSet.toNat_image {n : Nat} (σ : NatNat) (s : VSet n) :
    theorem Hex.GraphIso.Nauty.VSet.toNat_foldl_insert {n : Nat} (g : NatNat) (l : List Nat) (init : VSet n) :
    (List.foldl (fun (w : VSet n) (o : Nat) => w.insert (g o)) init l).toNat = List.foldl (fun (w o : Nat) => NatSet.insert n w (g o)) init.toNat l
    theorem Hex.GraphIso.Nauty.VSet.toNat_foldl_insert_if {n : Nat} (f : NatBool) (l : List Nat) (init : VSet n) :
    (List.foldl (fun (s : VSet n) (v : Nat) => if f v = true then s.insert v else s) init l).toNat = List.foldl (fun (s v : Nat) => if f v = true then NatSet.insert n s v else s) init.toNat l
    theorem Hex.GraphIso.Nauty.VSet.toNat_ofFn {n : Nat} (f : NatBool) :
    (ofFn f).toNat = List.foldl (fun (s v : Nat) => if f v = true then NatSet.insert n s v else s) 0 (List.range n)

    The packed set of a bitset.

    Equations
    Instances For
      theorem Hex.GraphIso.Nauty.VSet.mem_ofNat {n : Nat} (x v : Nat) :
      (ofNat x).mem v = (decide (v < n) && x.testBit v)
      theorem Hex.GraphIso.Nauty.VSet.toNat_ofNat {n x : Nat} (h : x < 2 ^ n) :
      (ofNat x).toNat = x
      @[instance_reducible]
      Equations