Zulip Chat Archive

Stream: general

Topic: Theorems


Guillermo Barajas Ayuso (Aug 04 2018 at 15:32):

Hi guys do you know how types can somehow be theorems? E.g. strong_indefinite_description in classical.

Mario Carneiro (Aug 04 2018 at 15:37):

There is nothing preventing you from marking a type as a theorem, or a prop as a def

Mario Carneiro (Aug 04 2018 at 15:42):

Usually we stick to theorem or lemma for things in Prop and def for things in Sort or Type, though, for a few reasons. The VM will not generate code for theorems, and this will affect downstream definitions as well, so that is one reason; it is not a problem with strong_indefinite_description because this theorem is not computable anyway. Also a theorem is never unfolded, which is almost never necessary for a Prop because of proof irrelevance but is often important for defs since we may want to prove theorems about the def later. Here it is not a problem in strong_indefinite_description because the definition is supposed to be arbitrary in its type, so unfolding should never be necessary.

Guillermo Barajas Ayuso (Aug 05 2018 at 16:30):

Ok that makes sense, thanks a lot!


Last updated: Dec 20 2023 at 11:08 UTC