lean4-htt/src/Lean/Meta
Leonardo de Moura e7fc50acb1
feat: dependent implication introduction in grind (#7765)
This PR improves how `grind` normalizes dependent implications during
introduction.
Previously, `grind` would introduce a hypothesis `h : p` for a goal of
the form `.. ⊢ (h : p) → q h`, and then normalize and assert a
non-dependent copy of `p`. As a result, the local context would contain
both `h : p` and a separate `h' : p'`, where `p'` is the normal form of
`p`. Moreover, `q` would still depend on the original `h`.

After this commit, `grind` avoids creating a copy. The context will now
contain only `h : p'`, and the new goal becomes `.. ⊢ q (he.mpr_prop
h)`, where `he` is a proof of `p = p'`.
2025-04-01 02:38:13 +00:00
..
ArgsPacker
Constructions feat: align lemmas about List.getLast(!?) with Array/Vector.back(!?) (#7205) 2025-02-24 11:48:43 +00:00
Match feat: deprecate Array.mkArray in favour of Array.replicate 2025-03-24 08:25:00 +01:00
Tactic feat: dependent implication introduction in grind (#7765) 2025-04-01 02:38:13 +00:00
AbstractMVars.lean
AbstractNestedProofs.lean refactor: use mkAuxLemma in mkAuxTheorem (#7762) 2025-03-31 22:50:30 +00:00
ACLt.lean
AppBuilder.lean perf: Environment blocker removals from async-proofs branch (#7483) 2025-03-14 13:37:01 +00:00
ArgsPacker.lean feat: identify more fixed parameters (#7166) 2025-03-04 22:26:20 +00:00
Basic.lean fix: report replay kernel errors as standard diagnostics (#7471) 2025-03-13 18:45:46 +00:00
BinderNameHint.lean feat: binderNameHint in congr (#7053) 2025-02-13 09:38:42 +00:00
Canonicalizer.lean chore: remove the old Lean.Data.HashMap implementation (#7519) 2025-03-20 23:49:55 +00:00
Check.lean perf: Environment blocker removals from async-proofs branch (#7483) 2025-03-14 13:37:01 +00:00
CheckTactic.lean
Closure.lean refactor: use mkAuxLemma in mkAuxTheorem (#7762) 2025-03-31 22:50:30 +00:00
Coe.lean doc: docstring review for monads and transformers (#7548) 2025-03-20 12:18:46 +00:00
CoeAttr.lean
CollectFVars.lean
CollectMVars.lean
CompletionName.lean
CongrTheorems.lean fix: transparency setting when computing congruence lemmas in grind (#7760) 2025-03-31 20:52:36 +00:00
Constructions.lean
CtorRecognizer.lean
DecLevel.lean
Diagnostics.lean
DiscrTree.lean feat: allow line-wrapping when printing DiscrTree.Keys (#7200) 2025-02-24 07:52:47 +00:00
DiscrTreeTypes.lean
Eqns.lean perf: remove more async blockers (#7497) 2025-03-15 11:07:04 +00:00
Eval.lean perf: async optimizations for Init.Data.BitVec.Lemmas (#7546) 2025-03-18 12:56:16 +00:00
ExprDefEq.lean feat: zetaUnused option (implementation) (#6755) 2025-01-26 11:14:12 +00:00
ExprLens.lean
ExprTraverse.lean
ForEachExpr.lean
FunInfo.lean feat: refactor of find functions on List/Array/Vector (#6833) 2025-01-30 01:14:21 +00:00
GeneralizeTelescope.lean
GeneralizeVars.lean
GetUnfoldableConst.lean perf: async optimizations for Init.Data.BitVec.Lemmas (#7546) 2025-03-18 12:56:16 +00:00
GlobalInstances.lean
IndPredBelow.lean feat: deprecate Array.mkArray in favour of Array.replicate 2025-03-24 08:25:00 +01:00
Inductive.lean
InferType.lean perf: Environment blocker removals from async-proofs branch (#7483) 2025-03-14 13:37:01 +00:00
Injective.lean
Instances.lean
IntInstTesters.lean feat: divisibility constraint normalizer (#7092) 2025-02-15 04:20:40 +00:00
Iterator.lean
KAbstract.lean
KExprMap.lean
LazyDiscrTree.lean feat: cleanup of get and back functions on List/Array (#7059) 2025-02-17 01:43:45 +00:00
LevelDefEq.lean
LitValues.lean doc: Char docstring proofreading (#7198) 2025-03-08 22:17:01 +00:00
Match.lean
MatchUtil.lean
NatInstTesters.lean feat: Nat divisibility constraints in cutsat (#7495) 2025-03-15 03:46:47 +00:00
Offset.lean
PPGoal.lean
PProdN.lean
RecursorInfo.lean feat: refactor of find functions on List/Array/Vector (#6833) 2025-01-30 01:14:21 +00:00
Reduce.lean
ReduceEval.lean
SizeOf.lean feat: deprecate Array.mkArray in favour of Array.replicate 2025-03-24 08:25:00 +01:00
Sorry.lean
Structure.lean refactor: factor out common code for structure default values (#7737) 2025-03-31 22:40:39 +00:00
SynthInstance.lean feat: cleanup of get and back functions on List/Array (#7059) 2025-02-17 01:43:45 +00:00
Tactic.lean feat: cutsat preparations (#7097) 2025-02-16 02:52:14 +00:00
Transform.lean
TransparencyMode.lean
UnificationHint.lean
WHNF.lean feat: zeta and zetaDelta options in grind (#7723) 2025-03-29 20:07:53 +00:00