fix: fixes #1372
This commit is contained in:
parent
3896244c55
commit
385cfa6001
2 changed files with 17 additions and 1 deletions
|
|
@ -18,7 +18,7 @@ def elabCalcSteps (steps : Array Syntax) : TacticM Expr := do
|
|||
where
|
||||
go : TermElabM Expr := do
|
||||
let e ← Term.elabCalcSteps steps
|
||||
Term.synthesizeSyntheticMVars
|
||||
Term.synthesizeSyntheticMVars (mayPostpone := false)
|
||||
instantiateMVars e
|
||||
|
||||
@[builtinTactic calcTactic]
|
||||
|
|
|
|||
16
tests/lean/run/1372.lean
Normal file
16
tests/lean/run/1372.lean
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
example (x₁ x₂ y₁ y₂ : Nat) : (x₁ + x₂) + (y₁ + y₂) = (x₁ + y₁) + (x₂ + y₂) := by
|
||||
calc (x₁ + x₂) + (y₁ + y₂)
|
||||
= x₁ + (x₂ + (y₁ + y₂)) := by rw [Nat.add_assoc]
|
||||
_ = x₁ + (y₁ + (x₂ + y₂)) := by rw [Nat.add_left_comm x₂ y₁ y₂]
|
||||
_ = (x₁ + y₁) + (x₂ + y₂) := by rw [Nat.add_assoc]
|
||||
|
||||
|
||||
example (n x₁ x₂ y₁ y₂ : Nat) : n = 0 → (x₁ + x₂) + (y₁ + y₂) = (x₁ + y₁) + (x₂ + y₂) := by
|
||||
intro h
|
||||
induction n with
|
||||
| zero =>
|
||||
calc (x₁ + x₂) + (y₁ + y₂)
|
||||
= x₁ + (x₂ + (y₁ + y₂)) := by rw [Nat.add_assoc]
|
||||
_ = x₁ + (y₁ + (x₂ + y₂)) := by rw [Nat.add_left_comm x₂ y₁ y₂]
|
||||
_ = (x₁ + y₁) + (x₂ + y₂) := by rw [Nat.add_assoc]
|
||||
| succ _ _ => contradiction
|
||||
Loading…
Add table
Reference in a new issue