lean4-htt/tests/elab/4144.lean
Kyle Miller 0db4ac18e5
feat: beta reduce while elaborating applications (#13807)
This PR modifies the app elaborator to beta reduce arguments while
substituting them into expected types for later arguments. This makes it
consistent with `inferType` and `instantiateMVars`, which both beta
reduce substitutions. In particular, this change ensures that the app
elaborator behaves as if it creates metavariables for each parameter and
assigns elaborated arguments to the metavariables. **Breaking change:**
tactic proofs may need to be modified to remove unnecessary steps, e.g.
`dsimp only` steps that were previously for beta reductions.
2026-05-21 07:26:00 +00:00

24 lines
378 B
Text

/--
error: Invalid projection: Type of
x✝
is not known; cannot resolve projection `1`
---
error: unsolved goals
case refine'_1
⊢ Sort ?u.4
case refine'_2
⊢ Sort ?u.3
case refine'_3
⊢ ?refine'_1
case refine'_4
⊢ ?refine'_1
case refine'_5
⊢ ¬?m.10 ?refine'_3 = ?m.10 ?refine'_4
-/
#guard_msgs in
example : False := by
refine' absurd (congrArg (·.1) sorry) _