Documentation

HexPermGroup.Search.Probe

@[reducible, inline]
Equations
Instances For
    def Hex.PermGroup.Execution.Meter.sift {budget : Budget} {n : Nat} (m : Meter budget) (G : Group n) (p : Perm n) :

    Charge each visited level and permutation allocation in a membership query.

    Equations
    Instances For
      @[irreducible]
      def Hex.PermGroup.Search.siftFrom {budget : Budget} {n : Nat} (G : Group n) (size : Nat) (values : Fin size → Perm n) (imageCost start : Nat) :
      Execution.Run budget (CheckedBool (decide (∀ (i : Fin size), start ≤ ↑i → G.contains (values i) = true)))

      Query a finite family without materializing it. The caller supplies the permutation-image reservation needed to evaluate one entry of the family.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def Hex.PermGroup.Execution.Meter.allSifts {budget : Budget} {n : Nat} (m : Meter budget) (G : Group n) (size : Nat) (values : Fin size → Perm n) (imageCost : Nat := 0) :
        Measured budget (Search.CheckedBool (decide (∀ (i : Fin size), G.contains (values i) = true)))

        Check a finite generator family, stopping at its first failed membership query or exhausted reservation. Image costs cover any generated query values.

        Equations
        Instances For
          def Hex.PermGroup.Search.Node.coveredBudgeted {n : Nat} {budget : Budget} {G : Group n} (t : Node G) (K : Group n) (m : Meter budget) :

          Coverage requires both the prefix and every suffix generator. A partial family check cannot certify coverage or its negation.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[reducible, inline]
            abbrev Hex.PermGroup.Search.Evaluator {n : Nat} (test : Perm n → Bool) (budget : Budget) :

            A budgeted leaf evaluator retains the exact executable predicate. The standard evaluators count its membership queries in the shared meter.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[reducible, inline]
              abbrev Hex.PermGroup.Search.Tester {n : Nat} (P : Predicate n) (budget : Budget) :
              Equations
              Instances For
                def Hex.PermGroup.Search.Evaluator.pure {n : Nat} {budget : Budget} (test : Perm n → Bool) :
                Evaluator test budget
                Equations
                Instances For
                  def Hex.PermGroup.Search.Tester.pure {n : Nat} {budget : Budget} (P : Predicate n) :
                  Tester P budget

                  Predicates containing no membership queries can use this evaluator.

                  Equations
                  Instances For
                    Equations
                    Instances For
                      def Hex.PermGroup.Search.Pruner.refineBudgeted {n : Nat} {budget : Budget} {G : Group n} {test : Perm n → Bool} (C : Pruner G test) (t : Node G) (m : Meter budget) :
                      Measured budget (Option { r : C.Reason // C.reject t r = true })

                      Each attempted pruning reason is charged separately. Completing the scan without finding a reason allows traversal to continue; exhausting it does not.

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