leanprover-community / leanprover-community/iris-lean

Explore alternatives to typeclass inference to specify inclusion in GF

Open
#654 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Improvement
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 ElemG instances will create non-definitional diamonds due to the τ field
  • Extensive use of outParam just 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.