Commit 2024-05-16 14:20 dc75ecfa
View on Github →refactor: Turn Algebra.IsAlgebraic and Algebra.IsIntegral into classes (#12761)
As discussed on Zulip, this PR replaces the current definition of Algebra.IsAlgebraic
and Algebra.IsIntegral
with classes.
The following main changes are required:
- Since a class must be a structure, we can't identify
Algebra.IsAlgebraic R A
with∀ (x : A), IsAlgebraic R x
. Either use the projection.isAlgebraic
, or use the new definitionAlgebra.IsAlgebraic.isAlgebraic
which leaves the proof implicit. Idem for integral. - Turn
Algebra.IsAlgebraic
andAlgebra.IsIntegral
arguments into instance implicits; turn theorems with those as the conclusion into instances. Algebra.IsAlgebraic
is nowprotected
, likeAlgebra.IsIntegral
. The spellingAlgebra.IsAlgebraic.isAlgebraic x
andAlgebra.IsIntegral.isIntegral x
to prove an elementx
is algebraic/integral is kind of ugly, do you have better suggestions?