Documentation

HexPermGroup.Tactic.Replay

The limits of one perm_group call.

  • maxChunkWork : Nat

    Estimated kernel work per emitted declaration, in field operations.

Instances For

    Elaborate the (maxChunkWork := k) configuration of one call.

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

      Evaluate a closed permutation to its image list.

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

        Check whether an image-list constructor uses its valid-permutation branch.

        Equations
        Instances For

          A runtime permutation from its image list.

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

              A fresh auxiliary name below the current declaration.

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

                Add an auxiliary declaration, kernel-checking it on a dedicated thread and waiting for the result. When Lean checks theorems asynchronously, the kernel's work is not charged to the heartbeats of the elaboration that produced them, and each check has its own maxHeartbeats budget. perm_group waits instead, so that a failed check is reported by the tactic and rolls back its declarations; running the check on another thread keeps the same accounting. The check shares the tactic's cancellation token, and its messages and traces, such as a warning that a declaration uses sorry, are kept.

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

                  Add a noncomputable definition holding kernel data.

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

                    Add a theorem lhs = rhs, proved by Eq.refl so that the kernel performs the evaluation, in its own declaration.

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

                      The shape of a supported goal.

                      Instances For

                        A closed Hex permutation, optionally with a kernel-checkable equality to a canonical Hex expression. Canonical expressions only optimize packing.

                        Instances For

                          A requested computational conclusion.

                          Instances For

                            Prepared, untrusted certificate data shared by replay and source rendering. Every proof-producing operation still checks the packing and certificate.

                            Instances For

                              The order proposed by the prepared certificate.

                              Equations
                              Instances For

                                A certificate already checked by the kernel earlier in the current file. checked proves check degree inputs (mkConst cert) = true, and levels are the data definitions listed by cert.

                                Instances For

                                  Checked certificates of the current file, keyed by degree and packed generators. Later perm_group calls on the same generators reuse them instead of certifying and checking the chain again. The state is not exported: an importing module cannot unfold the certificate definitions.

                                  The checked certificate for these packed generators, if any.

                                  Equations
                                  Instances For

                                    Evaluate and prepare the generators once. This operation adds no declarations.

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

                                      A proof that pack g = x. A generator written Perm.ofImages n l is checked in time linear in n. Any other closed permutation is evaluated by the kernel.

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

                                        Read an array literal, unfolding definitions without reducing its elements.

                                        The degree must be a numeral.

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

                                          Match the computational generation and order goal forms.

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

                                            Replay a requested conclusion. Packing transport, bounded declarations and final proof checking are owned by Hex, and failures restore all tactic state.

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

                                              Compatibility entry point for consumers of the original replay API.

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

                                                A perm_group goal handler contributed by a downstream library. A public meta def of this type tagged @[perm_group_extension] extends the same perm_group syntax to that library's goal shapes.

                                                Instances For

                                                  The registered perm_group extensions, in declaration order.

                                                  All extensions present in the current environment, in lookup order.

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

                                                    Prove generation, non-generation or exact order from a packed certificate. Correspondence libraries extend this syntax to goals about subgroup closures.

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

                                                      The shared tactic entry point, also callable by computational consumers.

                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      Instances For
                                                        partial def Hex.PermGroup.Kernel.Tactic.rarraySrc {α : Type u_1} (f : α → String) :
                                                        def Hex.PermGroup.Kernel.Tactic.listSrc {α : Type u_1} (f : α → String) (xs : List α) :
                                                        Equations
                                                        Instances For
                                                          Equations
                                                          • One or more equations did not get rendered due to their size.
                                                          Instances For
                                                            def Hex.PermGroup.Kernel.Tactic.render (name : String) (prepared : Prepared) (elemSrc : List String) (sSrc : String) (imagesTie : Lean.Expr → Lean.MetaM (Option String) := fun (g : Lean.Expr) => have __do_jp := fun (__r : Unit) => pure none; if g.isAppOfArity `Hex.Perm.ofImages 2 = true then do let __do_lift ← checkedImages (Lean.mkNatLit prepared.degree) (g.getArg! 1) if __do_lift = true then pure (some "_root_.Hex.PermGroup.Kernel.pack_ofImages") else __do_jp () else __do_jp ()) :

                                                            Print kernel packing ties and bounded checks for the prepared certificate. Canonical image constructors use their optimized ties; other inputs use kernel evaluation of the original term.

                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For
                                                              def Hex.PermGroup.Kernel.Tactic.certificateSource (name : String) (n : Nat) (gens : List Lean.Expr) (elemSrc : List String) (sSrc : String) (imagesTie : Lean.Expr → Lean.MetaM (Option String) := fun (g : Lean.Expr) => have __do_jp := fun (__r : Unit) => pure none; if g.isAppOfArity `Hex.Perm.ofImages 2 = true then do let __do_lift ← checkedImages (Lean.mkNatLit n) (g.getArg! 1) if __do_lift = true then pure (some "_root_.Hex.PermGroup.Kernel.pack_ofImages") else __do_jp () else __do_jp ()) :

                                                              Compatibility printer for the original generator-expression API.

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

                                                                Recover authored elements without pretty-printing their proof fields.

                                                                Print a reusable kernel certificate and its exact-order proof.

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