Documentation

HexPermGroup.Search.First

inductive Hex.PermGroup.Search.Decision {n : Nat} {G : Group n} {test : Perm n → Bool} (C : Pruner G test) (t : Node G) :

A node either supplies a satisfying completion or a checked account of why every completion fails. There is no exhausted-search constructor.

Instances For
    inductive Hex.PermGroup.Search.First.Children {n : Nat} {G : Group n} {test : Perm n → Bool} (C : Pruner G test) {m : Nat} (nodes : Fin m → Node G) (k : Nat) (hk : k ≤ m) :

    The first k children either yielded a witness, or all have failure certificates. A witness prevents visiting any later children.

    Instances For
      def Hex.PermGroup.Search.First.collect {n : Nat} {G : Group n} {test : Perm n → Bool} (C : Pruner G test) {m : Nat} (nodes : Fin m → Node G) (visit : (i : Fin m) → Decision C (nodes i)) (k : Nat) (hk : k ≤ m) :
      Children C nodes k hk
      Equations
      Instances For
        @[irreducible]
        def Hex.PermGroup.Search.First.visit {n : Nat} {G : Group n} {test : Perm n → Bool} (C : Pruner G test) (t : Node G) :

        Follow the checked chain and refine assigned images before expanding a node. A successful leaf ends the search immediately.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          structure Hex.PermGroup.Search.Witness {n : Nat} (G : Group n) (test : Perm n → Bool) :

          The original-generator program and defining equation are independently checkable data for a positive transporter answer.

          Instances For
            def Hex.PermGroup.Search.Witness.element {n : Nat} {G : Group n} {test : Perm n → Bool} (w : Witness G test) :
            Equations
            Instances For
              theorem Hex.PermGroup.Search.Witness.satisfies {n : Nat} {G : Group n} {test : Perm n → Bool} (w : Witness G test) :
              test w.value = true
              def Hex.PermGroup.Search.Witness.ofElement {n : Nat} {G : Group n} {test : Perm n → Bool} (p : Element G) (hp : test p.val = true) :
              Witness G test
              Equations
              Instances For
                inductive Hex.PermGroup.Search.Answer {n : Nat} {G : Group n} {test : Perm n → Bool} (C : Pruner G test) :
                Instances For
                  theorem Hex.PermGroup.Search.Answer.some_spec {n : Nat} {G : Group n} {test : Perm n → Bool} (C : Pruner G test) (a : Answer C) (p : Element G) (h : element? C a = some p) :
                  test p.val = true
                  theorem Hex.PermGroup.Search.Answer.none_spec {n : Nat} {G : Group n} {test : Perm n → Bool} (C : Pruner G test) (a : Answer C) :
                  def Hex.PermGroup.Search.first {n : Nat} {G : Group n} {test : Perm n → Bool} (C : Pruner G test) :

                  Exact existence search carries either a checked positive word or a complete negative certificate.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For