Zulip Chat Archive

Stream: new members

Topic: zero locus of an ideal


Aniruddh Agarwal (Apr 24 2020 at 07:01):

I'm trying to prove the following lemma:

lemma radical_vanishing_ideal_zero_locus (I : ideal R) :
  vanishing_ideal (zero_locus I) = ideal.radical I :=
sorry

but lean is giving me a type error at zero_locus:

type mismatch at application
  zero_locus I
term
  I
has type
  ideal R : Type u
but is expected to have type
  set ?m_1 : Type ?

This is puzzling to me because zero_locus I for an ideal I seems to type check when used in prime_spectrum.lean in mathlib

Mario Carneiro (Apr 24 2020 at 07:07):

try zero_locus (I : set R)

Aniruddh Agarwal (Apr 24 2020 at 07:10):

That did it!

Aniruddh Agarwal (Apr 24 2020 at 07:15):

Does the notation set R mean subset of R?

Johan Commelin (Apr 24 2020 at 07:15):

If you are a mathematician: yes

Johan Commelin (Apr 24 2020 at 07:16):

Alternatively, read it as "a set whose elements are all of type R"

Johan Commelin (Apr 24 2020 at 07:16):

In Lean you cannot (at least you don't want to!) have a set containing a natural number, a list of reals, a group, and a metric space.

Johan Commelin (Apr 24 2020 at 07:17):

All elements of a set must have the same type.

Johan Commelin (Apr 24 2020 at 07:17):

So you may also think of them as "subsets of the ambient space"

Patrick Massot (Apr 24 2020 at 12:52):

@Aniruddh Agarwal Let me emphasize that the "alternative" reading "a set whose elements are all of type R" is the correct one, and you should really try to get used to it.

Kevin Buzzard (Apr 24 2020 at 13:03):

Johan Commelin said:

In Lean you cannot (at least you don't want to!) have a set containing a natural number, a list of reals, a group, and a metric space.

If you want to package such data together in Lean, you would use a type (a structure). Sets are more primitive than types, in Lean, because they can only have elements of one type.

Mario Carneiro (Apr 24 2020 at 13:06):

I think this is the wrong wording; types are of course more primitive than sets in type theory

Mario Carneiro (Apr 24 2020 at 13:06):

I think you mean to say that sets are less flexible than types in lean

Patrick Massot (Apr 24 2020 at 13:07):

He meant "primitive" = "less nice"


Last updated: Dec 20 2023 at 11:08 UTC