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
- Hex.PermGroup.Kernel.Tactic.checkedImages nE l = do let __do_lift ← Lean.Meta.mkAppM `Hex.PermGroup.Kernel.imagesOk #[nE, l] Hex.PermGroup.Kernel.Tactic.evalBoolCore✝ __do_lift
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
Instances For
Equations
- Hex.PermGroup.Kernel.Tactic.pairLit p = Lean.mkApp4 (Lean.mkConst `Prod.mk [0, 0]) (Lean.mkConst `Nat) (Lean.mkConst `Nat) (Lean.mkNatLit p.fst) (Lean.mkNatLit p.snd)
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
Prepared, untrusted certificate data shared by replay and source rendering. Every proof-producing operation still checks the packing and certificate.
- config : Config
- degree : Nat
- certificate : Certificate
- cached : Bool
Whether
certificatewas checked earlier in this file, in which case replay emits none of its level checks andpartsis empty.
Instances For
The order proposed by the prepared certificate.
Equations
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
- Hex.PermGroup.Kernel.Tactic.findChecked? n inputs = do let __do_lift ← Lean.getEnv pure (Hex.PermGroup.Kernel.Tactic.checkedExt.getState __do_lift)[(n, inputs)]?
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.
- prove? : Config → Lean.Expr → Lean.Elab.Tactic.TacticM (Option Lean.Expr)
Handle a goal, returning its proof term, or
nonewhen the goal shape is not this extension's. - certificate? : String → Lean.Expr → Lean.Syntax → Lean.Elab.TermElabM (Option String)
Print a certificate for this extension's generator representation.
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
Equations
- Hex.PermGroup.Kernel.Tactic.evalPermGroup stx = do let __do_lift ← Hex.PermGroup.Kernel.Tactic.elabPermGroupConfig stx[1] Hex.PermGroup.Kernel.Tactic.permGroupTac __do_lift
Instances For
Equations
- Hex.PermGroup.Kernel.Tactic.listSrc f xs = "[" ++ ", ".intercalate (List.map f xs) ++ "]"
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
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
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.