[Merged by Bors] - chore: refactor perfect rings / fields#6182
[Merged by Bors] - chore: refactor perfect rings / fields#6182
Conversation
Just bashed through till sorry-free: needs much tidying!
|
Would you like to add the equivalent definition that a field is perfect if and only if every (finite) algebraic extension is surjective? |
I don't plan to do this, but I encourage you to do it in a follow-up PR if you're interested! |
What do we gain by removing the data here? Is the problem that the class would not be subsingleton? |
In fact the existing class is subsingleton: -- Using old definition of `PerfectRing` (which I propose to remove):
example : Subsingleton (PerfectRing R p) := by
constructor
rintro ⟨f, -, hfr⟩ ⟨g, hgl, -⟩
congr
exact LeftInverse.eq_rightInverse hfr hglso this is not the problem.
I claim the advantages are:
|
|
✌️ ocfnash can now approve this pull request. To approve and merge a pull request, simply reply with |
|
bors merge |
The main changes are: - we replace the data-bearing `PerfectRing` typeclass with a `Prop`-valued (non-constructive) version, - we introduce a new typeclass `PerfectField`, - we add a proof that a perfect field of positive characteristic has surjective Frobenius map, - we add some basic facts such as perfection of finite rings / fields and products of perfect rings.
|
This PR was included in a batch that was canceled, it will be automatically retried |
The main changes are: - we replace the data-bearing `PerfectRing` typeclass with a `Prop`-valued (non-constructive) version, - we introduce a new typeclass `PerfectField`, - we add a proof that a perfect field of positive characteristic has surjective Frobenius map, - we add some basic facts such as perfection of finite rings / fields and products of perfect rings.
The main changes are: - we replace the data-bearing `PerfectRing` typeclass with a `Prop`-valued (non-constructive) version, - we introduce a new typeclass `PerfectField`, - we add a proof that a perfect field of positive characteristic has surjective Frobenius map, - we add some basic facts such as perfection of finite rings / fields and products of perfect rings.
The main changes are: - we replace the data-bearing `PerfectRing` typeclass with a `Prop`-valued (non-constructive) version, - we introduce a new typeclass `PerfectField`, - we add a proof that a perfect field of positive characteristic has surjective Frobenius map, - we add some basic facts such as perfection of finite rings / fields and products of perfect rings.
The main changes are: - we replace the data-bearing `PerfectRing` typeclass with a `Prop`-valued (non-constructive) version, - we introduce a new typeclass `PerfectField`, - we add a proof that a perfect field of positive characteristic has surjective Frobenius map, - we add some basic facts such as perfection of finite rings / fields and products of perfect rings.
The main changes are: - we replace the data-bearing `PerfectRing` typeclass with a `Prop`-valued (non-constructive) version, - we introduce a new typeclass `PerfectField`, - we add a proof that a perfect field of positive characteristic has surjective Frobenius map, - we add some basic facts such as perfection of finite rings / fields and products of perfect rings.
The main changes are: - we replace the data-bearing `PerfectRing` typeclass with a `Prop`-valued (non-constructive) version, - we introduce a new typeclass `PerfectField`, - we add a proof that a perfect field of positive characteristic has surjective Frobenius map, - we add some basic facts such as perfection of finite rings / fields and products of perfect rings.
The main changes are: - we replace the data-bearing `PerfectRing` typeclass with a `Prop`-valued (non-constructive) version, - we introduce a new typeclass `PerfectField`, - we add a proof that a perfect field of positive characteristic has surjective Frobenius map, - we add some basic facts such as perfection of finite rings / fields and products of perfect rings.
The main changes are: - we replace the data-bearing `PerfectRing` typeclass with a `Prop`-valued (non-constructive) version, - we introduce a new typeclass `PerfectField`, - we add a proof that a perfect field of positive characteristic has surjective Frobenius map, - we add some basic facts such as perfection of finite rings / fields and products of perfect rings.
|
Build failed (retrying...): |
The main changes are: - we replace the data-bearing `PerfectRing` typeclass with a `Prop`-valued (non-constructive) version, - we introduce a new typeclass `PerfectField`, - we add a proof that a perfect field of positive characteristic has surjective Frobenius map, - we add some basic facts such as perfection of finite rings / fields and products of perfect rings.
|
Build failed (retrying...): |
The main changes are: - we replace the data-bearing `PerfectRing` typeclass with a `Prop`-valued (non-constructive) version, - we introduce a new typeclass `PerfectField`, - we add a proof that a perfect field of positive characteristic has surjective Frobenius map, - we add some basic facts such as perfection of finite rings / fields and products of perfect rings.
|
Pull request successfully merged into master. Build succeeded! The publicly hosted instance of bors-ng is deprecated and will go away soon. If you want to self-host your own instance, instructions are here. If you want to switch to GitHub's built-in merge queue, visit their help page. |
The main changes are: - we replace the data-bearing `PerfectRing` typeclass with a `Prop`-valued (non-constructive) version, - we introduce a new typeclass `PerfectField`, - we add a proof that a perfect field of positive characteristic has surjective Frobenius map, - we add some basic facts such as perfection of finite rings / fields and products of perfect rings.
The main changes are: - we replace the data-bearing `PerfectRing` typeclass with a `Prop`-valued (non-constructive) version, - we introduce a new typeclass `PerfectField`, - we add a proof that a perfect field of positive characteristic has surjective Frobenius map, - we add some basic facts such as perfection of finite rings / fields and products of perfect rings.
The main changes are: - we replace the data-bearing `PerfectRing` typeclass with a `Prop`-valued (non-constructive) version, - we introduce a new typeclass `PerfectField`, - we add a proof that a perfect field of positive characteristic has surjective Frobenius map, - we add some basic facts such as perfection of finite rings / fields and products of perfect rings.
The main changes are: - we replace the data-bearing `PerfectRing` typeclass with a `Prop`-valued (non-constructive) version, - we introduce a new typeclass `PerfectField`, - we add a proof that a perfect field of positive characteristic has surjective Frobenius map, - we add some basic facts such as perfection of finite rings / fields and products of perfect rings.
The main changes are:
PerfectRingtypeclass with aProp-valued (non-constructive) version,PerfectField,