Add FiniteDimensional for affine subspaces - #111
martinwintermath wants to merge 6 commits into
Conversation
| unfold Affine.FinDim | ||
| rw [vectorSpan_convexHull] |
There was a problem hiding this comment.
This is the sort of lemmas that should be proved by simping away the new definition. I advise you use this proof as much as possible to make sure that we have all the required simp lemmas:
| unfold Affine.FinDim | |
| rw [vectorSpan_convexHull] | |
| simp [Affine.FinDim] |
| unfold Affine.FinDim | ||
| rw [vectorSpan_convexHull] | ||
|
|
||
| theorem _root_.Affine.FinDim.convexHull {s : Set A} (hs : Affine.FinDim R s) : |
There was a problem hiding this comment.
| theorem _root_.Affine.FinDim.convexHull {s : Set A} (hs : Affine.FinDim R s) : | |
| protected theorem _root_.Affine.FinDim.convexHull {s : Set A} (hs : Affine.FinDim R s) : |
| theorem finiteDimensional_iff_affineSpace (s : AffineSubspace K P) [Nonempty s] : | ||
| s.FinDim ↔ AffineSpace.FiniteDimensional K s := Iff.rfl | ||
|
|
||
| theorem dim_eq_affine_dim (s : AffineSubspace K P) [Nonempty s] : |
There was a problem hiding this comment.
| theorem dim_eq_affine_dim (s : AffineSubspace K P) [Nonempty s] : | |
| theorem dim_eq_affineSpaceDim (s : AffineSubspace K P) [Nonempty s] : |
Same below
| theorem finiteDimensional_top_iff : | ||
| (⊤ : AffineSubspace K P).FinDim ↔ _root_.FiniteDimensional K V := by |
There was a problem hiding this comment.
| theorem finiteDimensional_top_iff : | |
| (⊤ : AffineSubspace K P).FinDim ↔ _root_.FiniteDimensional K V := by | |
| theorem finDim_top_iff : | |
| (⊤ : AffineSubspace K P).FinDim ↔ _root_.FiniteDimensional K V := by |
| theorem finiteDimensional_iff_of_equiv (e : P ≃ᵃ[K] Q) : | ||
| FiniteDimensional K P ↔ FiniteDimensional K Q := by |
There was a problem hiding this comment.
| theorem finiteDimensional_iff_of_equiv (e : P ≃ᵃ[K] Q) : | |
| FiniteDimensional K P ↔ FiniteDimensional K Q := by | |
| theorem finiteDimensional_congr (e : P ≃ᵃ[K] Q) : | |
| FiniteDimensional K P ↔ FiniteDimensional K Q := by |
| let := h | ||
| exact FiniteDimensional.of_equiv e.symm | ||
|
|
||
| theorem finDim_eq_of_equiv (e : P ≃ᵃ[K] Q) : finDim K P = finDim K Q := |
There was a problem hiding this comment.
| theorem finDim_eq_of_equiv (e : P ≃ᵃ[K] Q) : finDim K P = finDim K Q := | |
| theorem finDim_congr (e : P ≃ᵃ[K] Q) : finDim K P = finDim K Q := |
|
@YaelDillies Your are fast! Sorry, this PR is 100% AI generated and not even read by me in detail. I was just a proof of concept to show @vlad902 what I have in mind. Still something I hope to go for. Feedback still welcome of course! But I worry there will be too many improvements at this point 😄 . |
|
I am a compulsive reviewer, sorry 😁 |
Can you say were exactly? theorem _root_.Affine.FinDim.convexHull {s : Set A} (hs : Affine.FinDim R s)Why should it be a typeclass argument?
I was also wondering whether there should be both FinDim for sets and affine subspaces. I tend to say yes. The next question is how similar they should be. For example, is there a good reason to have them similar e.g. because of defeq? Otherwise implementation convenience might point the other way. And did you mean |
|
My goal is to discuss what of this AI generated code we want in principle, and then I (or someone else, who is quicker) can make this into a proper PR. My understanding is that we want all three of these:
Yes, this causes duplication of API, but I see no way this can currently be handled otherwise. |
No description provided.