leanprover-community / leanprover-community/iris-lean
Explore alternatives to typeclass inference to specify inclusion in GF
Nobody has claimed this yet.
- Dominant language
- Lean
- Stars
- 218
- Forks
- 63
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 22
Description
I'm not super happy with the use of typeclasses to specify the ElemG instances in context.
Some papercuts:
- When defining a class that aggregates several instances, if they overlap Lean will forbid you from using a
class abbrev - Multiple overlapping
ElemGinstances will create non-definitional diamonds due to the τ field - Extensive use of
outParamjust to avoid annotations
I'm not sure exactly what to do about this. Maybe structures (which can handle these non-definitional diamonds) can deal with this better?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue centers on ElemG instances, class abbrev, structures, outParam, and the τ field. Start by tracing how ElemG inclusion is currently specified and where overlapping instances create diamonds or require annotations. Done means identifying and agreeing on a workable alternative; the issue does not name files or tests.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100