Zulip Chat Archive

Stream: new members

Topic: is "subtype" injective?


Kenny Lau (Sep 13 2018 at 19:32):

if {x // p x} = {x // q x}, then is it true that p = q?

Chris Hughes (Sep 13 2018 at 19:33):

Pretty sure it's independent unless they're different sizes.

Kenny Lau (Sep 13 2018 at 19:36):

great, I just found another independent proposition

Kenny Lau (Sep 13 2018 at 19:36):

ZFC 1 : 0 Lean

Mario Carneiro (Sep 13 2018 at 19:57):

Lean has loads of independent propositions like this

Kenny Lau (Sep 13 2018 at 19:57):

ZFC aleph[0] : 0 Lean

Mario Carneiro (Sep 13 2018 at 19:57):

Equality of types is essentially "freely generated"; unless it's obviously true it's probably independent

Mario Carneiro (Sep 13 2018 at 19:58):

of course there is a whole cottage industry built around alternative models that fit in this gap (see: HoTT)

Mario Carneiro (Sep 13 2018 at 20:00):

the distance from axioms to independent statements is very short in lean:

inductive A. inductive B.
example : A = B := independent

Kenny Lau (Sep 13 2018 at 20:00):

wait what

Kenny Lau (Sep 13 2018 at 20:00):

well I suppose it makes sense

Kenny Lau (Sep 13 2018 at 20:01):

so we can essentially have two copies of empty and nobody will notice

Kenny Lau (Sep 13 2018 at 20:01):

also is there any way to create an inductive type?

Kenny Lau (Sep 13 2018 at 20:01):

inside a proof?

Kenny Lau (Sep 13 2018 at 20:01):

i.e. how much does Lean itself know about inductive types?

Mario Carneiro (Sep 13 2018 at 20:02):

oh wait, I forgot to define equality

prelude
inductive A. inductive B.
inductive eqA : Type → Type | refl : eqA A
example : eqA B := independent

Kenny Lau (Sep 13 2018 at 20:02):

lol

Mario Carneiro (Sep 13 2018 at 20:03):

inductive types in lean are essentially an axiom schema

Mario Carneiro (Sep 13 2018 at 20:04):

you have to write down the type specification, and then poof appears a new type constant

Mario Carneiro (Sep 13 2018 at 20:04):

so they only work at the top level

Kenny Lau (Sep 13 2018 at 20:04):

I see

Mario Carneiro (Sep 13 2018 at 20:05):

although you can always define a very general type and then narrow it down from inside a definition, i.e. defining a particular subtype of sigma of W type of whatever rather than writing a new inductive type


Last updated: Dec 20 2023 at 11:08 UTC