You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Theorem/definition values are Checked (infer_only = false), matching Lean add_theorem / checker.check(val). A ≥10k-node exfalso junk : True rejects (large_theorem_still_checks_app_args).
InferOnly is for proof irrelevance and for App arguments whose binder is Prop (including Pi-into-Prop), except recursor applications; type mismatch falls back to Check. It is not applied to the theorem value as a whole (58e8636 removed that).
Eager Regular delta is size/hint plus inductive/circuit shape, not Sat.AIG / BVDecide / LawfulOperator / denote_*.
Unset KIOTA_THEOREM_DELTA_TARGET is global (not fixF_eq).
sankalpsthakur
changed the title
checkers: pin kiota to main @ 51f7fec (Init+std, no five declines)
checkers: pin kiota to main @ da64ada (Init+std, no AIG name skips)
Aug 21, 2026
kiota da64ada on main. Eager delta is size/hint + inductive shape of the current theorem (class vs large proof vs eq-related defs). Large theorems use Lean infer_only for the value type.
cargo test --lib --test exports --release: 38+9 pass.
extra-rec: REJECT (rogue not I.rec).
grind-ring-5: accept 0.52s.
init.ndjson: accept (last #52500Bool.instLawfulEqOrd).
std.ndjson: accept (last #89800UInt8.ofFin_bitVecToFin; no REJECT).
sankalpsthakur
changed the title
checkers: pin kiota to main @ da64ada (Init+std, no AIG name skips)
checkers: pin kiota to main @ 58e8636 (check large theorems)
Aug 21, 2026
No. Lean add_theorem calls checker.check(val), which is infer_type_core(e, /*infer_only=*/false) and checks every application argument. infer (infer_only=true) is only for proof irrelevance on terms that are already being checked.
kiota was using infer_only on theorem values with ≥10k nodes. That skips those argument checks. False.elim junk then infers the motive and can match the declared type.
i found 8 more such soundness issues, getting it fixed
sankalpsthakur
changed the title
checkers: pin kiota to main @ 58e8636 (check large theorems)
checkers: pin kiota to main @ 870c625 (check theorems; Init+std)
Aug 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#149 kept five corpus declines (
initstdmathlibcslibcedar) andtimeout 60suntil Init actually accepted.This retargets kiota to
870c625onmain:infer_only = false), matching Leanadd_theorem/checker.check(val). A ≥10k-nodeexfalso junk : Truerejects (large_theorem_still_checks_app_args).58e8636removed that).Sat.AIG/BVDecide/LawfulOperator/denote_*.KIOTA_THEOREM_DELTA_TARGETis global (notfixF_eq).Local verification (
870c625, this machine)cargo test --lib --test exports --releaselarge_theorem_still_checks_app_args)roguenotI.rec)#52500Bool.instLawfulEqOrd#89800UInt8.ofFin_bitVecToFin, 0 REJECTmathlib / cslib / cedar are skip-on-ci. Nightly is the remaining proof those three accept inside 3600s.
AI/LLM disclosure