-
Notifications
You must be signed in to change notification settings - Fork 131
fix: use getRel in @[trans] attribute
#1223
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Mathlib CI status (docs):
|
|
I added a MWE test for the Mathlib build failures but I haven't investigated the issue. |
|
The remaining Mathlib error seems to be a term depth issue: |
|
I don't think it's term depth, unless it's a problem of inferring the |
|
Added MWE test case. Looks like it's about an unusual ordering of parameters. |
|
I did a bit of digging, the issue with the MWE is that def MT.rel {V₁ V₂} (k P₁ P₂) [M k V₁] [M k V₂] [T V₁ P₁] [T V₂ P₂] := Unitfixes that but |
I feel the problem is that class C (k α : Type)
def C.rel (k : Type) (α β : Type) [C k α] [C k β] := Unit
@[trans] def C.trans {k α β γ : Type} [C k α] [C k β] [C k γ] : rel k α β → rel k β γ → rel k α γ := sorry
def aaa {k α β γ : Type} [C k α] [C k β] [C k γ] : C.rel k α β → C.rel k β γ → C.rel k α γ := by
intro h₁ h₂
trans β
· exact h₁
· exact h₂The |
And an amazing fact: you can complete def aaa {k α β γ : Type} [C k α] [C k β] [C k γ] : C.rel k α β → C.rel k β γ → C.rel k α γ := by
intro h₁ h₂
trans β
· exact h₁
#print aaaIt gives which should not type check. Is this a soundness bug? |
Incl. minor formatting of Trans.lean.
fixes #1222