# Zulip Chat Archive

## Stream: general

### Topic: representing "objects" in n-dimensional space

#### Twain Byrnes (Nov 21 2022 at 13:30):

hi! I was trying to do a formalization of the ham sandwich theorem and I couldn't figure out how to talk about having "n n-dimensional objects" in my theorem statement (or how to talk about slicing all of them in half with whatever volume means...)

i was thinking i would start with the pancake theorem (2-D version), in which case I would need to know how to tell Lean that I want a theorem statement saying "If I have two two-dimensional objects (on a plane), I can draw one line that bisects the area of both objects".

pretty much all I've got right now is `euclidean_space ℝ (fin 2)`

and I have no idea how to write the rest. Any help would be greatly appreciated!

thanks :)

#### Riccardo Brasca (Nov 21 2022 at 13:42):

Forgetting Lean for a moment, what mathematical object have you in mind? A `n`

-dimensional topological manifold?

#### Riccardo Brasca (Nov 21 2022 at 13:42):

In any case before formalizing anything, you should have a very precise mathematical statement.

#### Yaël Dillies (Nov 21 2022 at 13:44):

I suspect the correct generality is measurable sets

#### Twain Byrnes (Nov 21 2022 at 14:10):

i think i don't want a manifold. maybe a measurable set? but i'm not really sure what measureable means

not really sure what the precise words i'm looking for are

but like in two dimensions, i would want any closed loop, like a circle or a rectangle

three dimensions i would want something like a sphere or a platonic solid

#### Riccardo Brasca (Nov 21 2022 at 14:15):

First of all find a *precise* mathematical statement, that's completely unrelated to Lean. Don't worry about having the most general version at the beginning, but you need a theorem to formalize.

#### Twain Byrnes (Nov 21 2022 at 15:03):

the wiki article states the theorem as

"for every positive integer n the ham sandwich theorem states that given n measurable "objects" in n-dimensional Euclidean space, it is possible to divide each one of them in half (with respect to their measure, e.g. volume) with a single (n − 1)-dimensional hyperplane"

#### Adam Topaz (Nov 21 2022 at 15:11):

What does "object" mean in this theorem?

#### Vincent Beffara (Nov 21 2022 at 15:22):

"object" here sounds like "measurable set of finite measure"

#### Julian Berman (Nov 21 2022 at 16:29):

@Twain Byrnes it may help to share what your background is and/or whether you saw this theorem in a particular book, or just in the Wikipedia article

#### Twain Byrnes (Nov 21 2022 at 17:16):

image.png

okay i was able to find a paper referencing it that described it like so

i'm presently a junior in college studying electrical engineering; i've taken a lot of discrete courses for an EE, but not a lot relative to a lot of maths majors

#### Riccardo Brasca (Nov 21 2022 at 17:19):

Do you know a proof of this theorem?

#### Riccardo Brasca (Nov 21 2022 at 17:20):

It is *very difficult* to learn some mathematics while formalizing it. If you want to practice Lean, it's better to take a theorem you understand well, and formalize it.

#### Eric Wieser (Nov 21 2022 at 17:22):

What's the canonical way in mathilb to talk about an affine halfplane like the one described there? (cutting with a hyperplane is intersecting with a halfplane)

#### Eric Wieser (Nov 21 2022 at 17:23):

(sure, you could say there exists a point and a normal vector, but it seems like a useful primitive to have somewhere)

#### Jireh Loreaux (Nov 21 2022 at 17:27):

How about the sub-level sets of a linear functional?

#### Riccardo Brasca (Nov 21 2022 at 17:28):

Maybe an docs#affine_subspace such that docs#affine_subspace.direction has the required dimension?

#### Jireh Loreaux (Nov 21 2022 at 17:29):

I would be surprised if we didn't have this somewhere in all the convexity theory. @Yaël Dillies would probably know. It's surely required for Hahn-Banach separation.

#### Riccardo Brasca (Nov 21 2022 at 17:29):

Hahn-Banach separation is spelled out using functionals.

#### Eric Wieser (Nov 21 2022 at 17:35):

Unless I'm mistake, an affine subspace can do the hyperplane but not the halfplane

#### Eric Wieser (Nov 21 2022 at 17:35):

(if `k`

were a semiring but not a ring then things might be different)

#### Eric Wieser (Nov 21 2022 at 17:36):

Ah, so an affine map from `V`

to `R`

should probably suffice?

#### Riccardo Brasca (Nov 21 2022 at 17:37):

Why do you want the halfplane?

#### Riccardo Brasca (Nov 21 2022 at 17:38):

The theorem in `ℝ²`

is that if you have two slice of bread you can, with only one cut, cut *both* slices in half. The cut is a line, an hyperplane.

#### Jireh Loreaux (Nov 21 2022 at 17:43):

Eric, if `f : V →ₗ[ℝ] ℝ`

is a linear functional and `a : ℝ`

, then `{x : V | f x ≤ a}`

is a half-space whose boundary is an affine subspace. Is this clear? Maybe I'm misunderstanding your confusion.

#### Twain Byrnes (Nov 21 2022 at 17:47):

Riccardo Brasca said:

Do you know a proof of this theorem?

so in 2d it's pretty easy with IVT and the n-dimensional generalization apparently follows pretty directly from borsuk ulam (not quite sure how that works, but i think it shouldn't be too bad to understand)

this is probably the best proof i've seen for 2d: https://prove-me-wrong.com/2022/07/01/the-pancake-theorem/

#### Eric Wieser (Nov 21 2022 at 17:58):

Why do you want the halfplane?

Because then the theorem can be stated as "there exists a halfplane such that `h`

intersected with each of the sets has measure equal to half the measure of the object"

#### Eric Wieser (Nov 21 2022 at 17:59):

@Jireh Loreaux: I thought you were claiming that `{x : V | f x ≤ a}`

was itself an affine space. I ~~fully~~ mostly agree with your last message (`P →ᵃ[ℝ] ℝ`

not `V →ₗ[ℝ] ℝ`

if it's affine, right).

#### Jireh Loreaux (Nov 21 2022 at 18:01):

No, it's a linear functional. The affine part is the `a`

.

#### Junyan Xu (Nov 21 2022 at 18:22):

I think a halfspace can be defined either as the sub-zero set of an affine map to ℝ, or as the sub-level set of a linear functional. A halfplane is meant to be a 2-dimensional halfspace, right?

#### Yaël Dillies (Nov 21 2022 at 19:17):

Yes, everything was said already. Halfspaces in mathlib are modelled as sub/superlevels of functionals.

#### Joseph Myers (Nov 21 2022 at 19:40):

Given the affine subspace (of the right dimension), you could also consider equivalence classes with respect to the `s_same_side`

relation in `analysis.convex.side`

. Or connected components of the complement.

I suspect the way to assert that the affine subspace has the right dimension is `is_coatom`

(though we don't have any lemmas at all about `is_coatom`

for affine subspaces).

Last updated: Dec 20 2023 at 11:08 UTC