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 Awith∀ (x : A), IsAlgebraic R x. Either use the projection.isAlgebraic, or use the new definitionAlgebra.IsAlgebraic.isAlgebraicwhich leaves the proof implicit. Idem for integral. - Turn
Algebra.IsAlgebraicandAlgebra.IsIntegralarguments into instance implicits; turn theorems with those as the conclusion into instances. Algebra.IsAlgebraicis nowprotected, likeAlgebra.IsIntegral. The spellingAlgebra.IsAlgebraic.isAlgebraic xandAlgebra.IsIntegral.isIntegral xto prove an elementxis algebraic/integral is kind of ugly, do you have better suggestions?