Skip to content

feat: face lattice of a polytope is graded by the dimension of the face - #108

Draft
vlad902 wants to merge 2 commits into
ooovi:mainfrom
Workshop-Polyhedra-In-Lean:grading-by-affine-dimension
Draft

vlad902 wants to merge 2 commits into
ooovi:mainfrom
Workshop-Polyhedra-In-Lean:grading-by-affine-dimension

Conversation

@vlad902

@vlad902 vlad902 commented Sep 27, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@martinwintermath

Copy link
Copy Markdown
Collaborator

Could you coordinate this with @ooovi? Olivia is currently trying to remove bundled ConvexSet (and likely also Polytope) from its use. Hence IsFaceOf and Face will be defined on Set, and one needs to work with IsPolytope to state the isomorphism. Now, this is not set in stone. So it would be good to hear if this would be a bad bad idea.


variable {P : Set X}

theorem finite_vectorSpan (hP : IsPolytope R P) : Module.Finite R (vectorSpan R P) := by

@martinwintermath martinwintermath Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see here several useful intermediate/related results:

  1. the affine span of a polytope is finite dimensional.
  2. the vector span of the affine span of any set is the same as the vector span.
  3. the vector span of a finite dimensional affine space is finite dimensional.

/-- The face lattice of a polytope as a graded order with grading given by the dimensions of
homogenization cones.
instance {P : Polytope R A} (F : Face (P : ConvexSet R A)) :
Module.Finite R (vectorSpan R (F.toConvexSet : Set A)) :=

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, I read a bit more. I found it unnatural that there is vectorSpan all over the place. Why do you need that the vector span is finite dimensional? My guess is: because you use FiniteDimensional on the vectorSpan, because there is no analogue for affine spaces. Is this correct?

If so, this reinforced my believe the finite-dimensional issue needs to be solved first.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants