Closed wupr closed 1 week ago
Mathlib CI status (docs):
Hmm, looks like this breaks mathlib, this might need diagnosing
It looks like the problem could be with the use of a non-final simp
in Mathlib. But I think I need to merge the new commits in nightly-with-mathlib
first.
The errors was thrown in Mathlib/Data/FinEnum.lean
at the third line below:
instance Subtype.finEnum [FinEnum α] (p : α → Prop) [DecidablePred p] : FinEnum { x // p x } :=
ofList ((toList α).filterMap fun x => if h : p x then some ⟨_, h⟩ else none)
(by rintro ⟨x, h⟩; simp; exists x; simp [*])
But the proof can be simplified as follows now:
instance Subtype.finEnum [FinEnum α] (p : α → Prop) [DecidablePred p] : FinEnum { x // p x } :=
ofList ((toList α).filterMap fun x => if h : p x then some ⟨_, h⟩ else none)
(by simp)
There may be other problems like this and I'm trying to compile Mathlib locally to identify them.
Where should I push the fix? To the lean-pr-testing-4037
branch on Mathlib?
Where should I push the fix? To the
lean-pr-testing-4037
branch on Mathlib?
Exactly! Just keep pushing fixed until mathlib is happy, then we can see if the changes needed are benign
Changes to Mathlib look fine, so lets proceed!
Closes #4013.
Add
dite_some_none_eq_none
anddite_some_none_eq_some
, analogous to the existingite_some_none_eq_none
andite_some_none_eq_some
.