lean4-htt/tests/lean/6601.lean
Parth Shastri 0da3624ec9
fix: allow dot idents to resolve to local names (#6602)
This PR allows the dot ident notation to resolve to the current
definition, or to any of the other definitions in the same mutual block.
Existing code that uses dot ident notation may need to have `nonrec`
added if the ident has the same name as the definition.

Closes #6601
2025-01-12 17:18:22 +00:00

26 lines
374 B
Text

/-! Dot ident notation should resolve mutual definitions -/
mutual
inductive Even
| zero
| succ (n : Odd)
deriving Inhabited
inductive Odd
| succ (n : Even)
deriving Inhabited
end
mutual
def Even.ofNat : Nat → Even
| 0 => .zero
| n + 1 => .succ (.ofNat n)
def Odd.ofNat : Nat → Odd
| 0 => panic! "invalid input"
| n + 1 => .succ (.ofNat n)
end