mathlib icon indicating copy to clipboard operation
mathlib copied to clipboard

feat(is_cyclotomic_extension/basic): add is_cyclotomic_extension.equiv

Open riccardobrasca opened this issue 3 years ago • 5 comments

We add add is_cyclotomic_extension.equiv: being a cyclotomic extension is preserved by alg_equiv.

From flt-regular


Open in Gitpod

riccardobrasca avatar Oct 02 '22 14:10 riccardobrasca

Should we call this map? I was expecting this to be the fact that two n-th cyclotomic extensions were equivalent, which is something I don't think we actually yet have!

ericrbg avatar Oct 02 '22 17:10 ericrbg

Should we call this map? I was expecting this to be the fact that two n-th cyclotomic extensions were equivalent, which is something I don't think we actually yet have!

This is to match names like module.finite.equiv. map seems inaccurate, since we really need an equiv.

Concerning the isomorphism, for S a singleton, it should be very easy to prove its existence, via is_cyclotomic_extension.splitting_field_X_pow_sub_one and polynomial.is_splitting_field.alg_equiv (taht suggest as name is_cyclotomic_extension.alg_equiv).

riccardobrasca avatar Oct 02 '22 18:10 riccardobrasca

Should we call this map? I was expecting this to be the fact that two n-th cyclotomic extensions were equivalent, which is something I don't think we actually yet have!

This is to match names like module.finite.equiv. map seems inaccurate, since we really need an equiv.

Concerning the isomorphism, for S a singleton, it should be very easy to prove its existence, via is_cyclotomic_extension.splitting_field_X_pow_sub_one and polynomial.is_splitting_field.alg_equiv (taht suggest as name is_cyclotomic_extension.alg_equiv).

This turned out to be a one liner, so I added it.

riccardobrasca avatar Oct 02 '22 18:10 riccardobrasca

oh, nice! do you know if it works in the general infinite case? if you don't, I may have a think about it for fun soon.

ericrbg avatar Oct 02 '22 18:10 ericrbg

oh, nice! do you know if it works in the general infinite case? if you don't, I may have a think about it for fun soon.

We should first of all generalize it to any finite set (this shouldn't be hard by induction, we have all we need). Also, it should be true for any integral_domain, but this looks more difficult. I am pretty sure it's true also in the infinite case (for fields say, just to be sure), but I have to think a little to it.

riccardobrasca avatar Oct 02 '22 18:10 riccardobrasca

I've added the lemmas needed to use trans to prove equiv, but unfortunately trans has additional assumptions (especially no_zero_smul_divisors B C, that is really needed) that are not needed for equiv. I think we can keep the new lemmas, that are in any case interesting, but also the current proof of equiv.

riccardobrasca avatar Oct 17 '22 12:10 riccardobrasca

I've added the lemmas needed to use trans to prove equiv, but unfortunately trans has additional assumptions (especially no_zero_smul_divisors B C, that is really needed) that are not needed for equiv. I think we can keep the new lemmas, that are in any case interesting, but also the current proof of equiv.

I can maybe relax a little bit the assumptions in trans, let me try.

riccardobrasca avatar Oct 17 '22 12:10 riccardobrasca

I've added the lemmas needed to use trans to prove equiv, but unfortunately trans has additional assumptions (especially no_zero_smul_divisors B C, that is really needed) that are not needed for equiv. I think we can keep the new lemmas, that are in any case interesting, but also the current proof of equiv.

I can maybe relax a little bit the assumptions in trans, let me try.

Much better now!

riccardobrasca avatar Oct 17 '22 12:10 riccardobrasca

Pull request successfully merged into master.

Build succeeded:

bors[bot] avatar Oct 27 '22 10:10 bors[bot]