Limits for determinant proof production. The symbolic heartbeat limit is in Lean's public units (one unit is 1,000 internal heartbeats); relation work counts distinct indexed sum tails. Neither symbolic limit affects numeric certificates. Packing applies only to the numeric certificate backend.
Instances For
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.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The outcome of an attempt, per the matrix-tactic protocol; a failure throws.
- notApplicable
{α : Type}
(msg : Lean.MessageData)
: Outcome α
The goal or input is not in the fragment; the next handler may try.
- declined
{α : Type}
(msg : Lean.MessageData)
: Outcome α
In the fragment, but a capability is missing; the message names it.
- success
{α : Type}
(a : α)
: Outcome α
A value and a proof.
Instances For
The common result of computing a determinant independently of a target.
Instances For
The certificate of a square literal: the witness, the row list of the integer matrix it certifies, and for a rational literal the rational row list and the row scales.
- lit : Literal.Recognized
The recognized literal.
- witness : Hex.Matrix.DetWitness
The witness of the integer matrix.
The integer rows.
The rational rows and the positive scale of each, for a rational literal.
Instances For
Recognize the numeric matrix fragment without evaluating its entries.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Classify the target before evaluating entries or running the producer.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Recognize a closed square integer or rational literal and certify it.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The proof of Matrix.det A = v for the certificate's value v, with the
value, the kernel check it rests on, and the row list of the literal.
- value : Lean.Expr
The certified value, as a numeral.
- proof : Lean.Expr
The proof term of
Matrix.det A = value. - check : Lean.Expr
The certificate check the kernel evaluates.
- rowList : Lean.Expr
The row list the literal is identified with.
Instances For
The entry bound and slot width of the packed check: k one more than the
largest absolute value among the integer rows and the transform, and W
the least positive width with n · k² < 2^W.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Build the proof of Matrix.det A = v for the certificate's value v.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Diagnose a proof the kernel rejected: evaluate the certificate check with the kernel and test the identification of the literal with its row list along its route, reporting the first that fails.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Add proof : target as an auxiliary lemma checked synchronously, so
that a rejection is reported here, not later, and diagnosed.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Prove a determinant target in either orientation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The proof of Matrix.det A = v for the certified value v, checked.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The single extension point for symbolic determinant computation and supplied-target comparison. Its functions share the same public configuration; the companion installs one handler when imported.
- compute : Config → Lean.Expr → Lean.MetaM (Outcome Result)
- prove : Config → Lean.Expr → Lean.MetaM (Outcome Lean.Expr)
Instances For
Compute a determinant independently of a proposed answer. Closed numeric matrices use their certificate backend; the companion handles other literals.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The det% A record: Certified Matrix.det A.
Equations
- One or more equations did not get rendered due to their size.
Instances For
det% A computes the determinant of a closed integer or rational matrix
literal A and returns a HexMatrixTheory.Certified Matrix.det A record
with its value and proof. The !![…] notations are given an integer entry
expectation.
Equations
- HexMatrixTheory.Det.detTerm = Lean.ParserDescr.node `HexMatrixTheory.Det.detTerm 1022 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "det%") (Lean.ParserDescr.cat `term 1024))
Instances For
Elaborate a matrix with integer defaulting, then let surrounding annotations or local entries determine its carrier when the default does not fit.
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
Rewrite Matrix.det A to its certified value when the Hex frontend
applies; none when it declines.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Hex.norm_det simproc rewrites the determinant of a closed integer or
rational matrix literal to its value through the Hex certificate. Unsupported
inputs are unchanged; a producer failure or kernel rejection is an error.
Equations
- Hex.norm_det e = do let __do_lift ← liftM (HexMatrixTheory.Det.normDet? e) match __do_lift with | some r => pure (Lean.Meta.Simp.Step.done r) | none => pure Lean.Meta.Simp.Step.continue
Instances For
det closes supported determinant equalities using a numeric certificate
or the registered symbolic handler. The numeric-only import retains its
certificate normalization diagnostic. Extensions use @[no_fallback] so a
committed error is preserved. The keyword remains usable as an identifier.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Introduce a computed determinant and its equality proof into the current goal. Both local names are required.
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
Normalize using only the Hex certificate, reporting the original reason when it makes no progress. Errors from the simproc propagate unchanged.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Registered before the numeric handler, so tried after it (Lean reverses registration order at equal priority). Try Hex certificate normalization for determinant equations, reporting the classification reason when it makes no progress. Classification itself produces no certificate.
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.