[Merged by Bors] - feat: add [s|i]sup_toXXX for intermediate fields and subalgebras#15088
[Merged by Bors] - feat: add [s|i]sup_toXXX for intermediate fields and subalgebras#15088
[s|i]sup_toXXX for intermediate fields and subalgebras#15088Conversation
PR summary 296dd124feImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
|
Probably |
IntermediateField.[s|i]sup_toSubfield[s|i]sup_toXXX for intermediate fields and subalgebras
|
Sorry I'm on vacation at August; will look at it later. |
|
Done. |
|
|
||
| theorem sup_def (S T : Subalgebra R A) : S ⊔ T = adjoin R (S ∪ T : Set A) := rfl | ||
|
|
||
| theorem sSup_def (S : Set (Subalgebra R A)) : sSup S = adjoin R (⋃₀ (SetLike.coe '' S)) := rfl |
There was a problem hiding this comment.
The rhs here looks like it should be stated with iSup
There was a problem hiding this comment.
I'm not sure about this. Since LHS is s version, I think the RHS should also be s version, i.e. sUnion. Could you give an equivalent statement in iUnion?
| open Subalgebra in | ||
| @[simp] | ||
| theorem sSup_toSubsemiring (S : Set (Subalgebra R A)) (hS : S.Nonempty) : | ||
| (sSup S).toSubsemiring = sSup (toSubsemiring '' S) := by |
There was a problem hiding this comment.
Similarly iSup on the right here looks nicer
There was a problem hiding this comment.
I'm not sure about this. The existing result sInf_toSubsemiring uses sInf on RHS. For consistency, I think this should also use sSup instead of iSup.
| algebraMap_mem' := fun x => Subfield.subset_closure (Or.inl (Set.mem_range_self x)) } | ||
|
|
||
| @[simp] | ||
| theorem adjoin_toSubfield : |
There was a problem hiding this comment.
In this case it is not working, since the definition of IntermediateField extends Subalgebra but not Subfield. The @[simps] is not working at all, and @[simps!] creates IntermediateField.adjoin_carrier which is unwanted, @[simps! toSubfield] is not working either.
…15088) - `IntermediateField.[s|i]sup_toSubfield` which states that the `sup`, `sSup` and `iSup` for `IntermediateField` is the same as for `Subfield`. - `Algebra.[s|i]sup_toSubsemiring` which states that the `sup`, `sSup` and `iSup` for `Subalgebra` is the same as for `Subsemiring`. - Also add a missing `Algebra.iInf_toSubsemiring`.
|
Pull request successfully merged into master. Build succeeded: |
[s|i]sup_toXXX for intermediate fields and subalgebras[s|i]sup_toXXX for intermediate fields and subalgebras
IntermediateField.[s|i]sup_toSubfieldwhich states that thesup,sSupandiSupforIntermediateFieldis the same as forSubfield.Algebra.[s|i]sup_toSubsemiringwhich states that thesup,sSupandiSupforSubalgebrais the same as forSubsemiring.Algebra.iInf_toSubsemiring.discussion: https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there-code-for-X.3F/topic/IntermediateField.2Esup_toSubfield