Zulip Chat Archive
Stream: maths
Topic: Intuitionistic maths
James Palmer (Aug 17 2020 at 15:44):
Hi everyone, does anyone know if much has been done to develop intuitionistic maths in Lean? I was specificialy wondering whether a proof of discontinuous functions not existing was available?
Floris van Doorn (Aug 17 2020 at 15:52):
In mathlib we have only developed mathematics that is compatible with classical mathematics (and mostly classical mathematics itself). There is nothing to prevent you from adding your intuistionistic axioms to Lean, and not using the classical ones. You can check that you have not used classical axioms by writing #print axioms my_theorem
.
Kenny Lau (Aug 17 2020 at 15:53):
"all function is continuous" is a metatheorem right
Kenny Lau (Aug 17 2020 at 15:53):
also your phrasing "discontinuous functions not existing" is a bit... ironic lol
Kenny Lau (Aug 17 2020 at 15:54):
or is that actually a theorem
Reid Barton (Aug 17 2020 at 15:56):
It's a theorem in Brouwer-style intuitionistic mathematics, which is constructive mathematics plus some anti-classical axioms
Mario Carneiro (Aug 17 2020 at 15:56):
The approach Floris mentioned, using lean's actual axioms, is not really useful for investigations of the meta-properties of intuitionistic proofs
Reid Barton (Aug 17 2020 at 15:56):
I think it has been formalized in Nuprl for example
Mario Carneiro (Aug 17 2020 at 15:57):
To do that properly you should formalize the model theory of intuitionistic logic
Mario Carneiro (Aug 17 2020 at 15:58):
which, incidentally, does not require the metatheory (that is, lean) to be anticlassical
Anne Baanen (Aug 17 2020 at 15:59):
Kenny Lau said:
also your phrasing "discontinuous functions not existing" is a bit... ironic lol
@[simp] theorem not_exists : (¬ ∃ x, p x) ↔ ∀ x, ¬ p x :=
exists_imp_distrib
#print axioms not_exists -- no axioms
Anne Baanen (Aug 17 2020 at 16:01):
Classical mathematicians generally know what they're doing. It's when they turn "I can't prove it doesn't exist" into "I know it exists" that everything starts to go wrong :upside_down:
Mario Carneiro (Aug 17 2020 at 16:02):
Isn't it more like "I can prove it's not possible for it not to exist"
Patrick Massot (Aug 17 2020 at 16:31):
I obviously think we shouldn't have different corners of mathlib using incompatible axioms. You should start a new library with anti-classical axioms, maybe call it non-math_lib
.
Mario Carneiro (Aug 17 2020 at 16:32):
If you are explicitly studying logic, axiom removal in lean isn't nearly good enough, but you can do deep embeddings just fine
Mario Carneiro (Aug 17 2020 at 16:34):
The only people who are satisfied with no-axioms lean are those who study CIC and maybe HoTT, and even these people are unhappy with some of the things that lean gives them that they don't want, like definitional proof irrelevance
Mario Carneiro (Aug 17 2020 at 16:34):
the baseline is just too high for meaningful axiom study
Mario Carneiro (Aug 17 2020 at 16:36):
So far, mathlib has developed with zero new axioms beyond what core lean gives us, and I think we should keep it that way. #print axioms
hasn't got a lot of love, and people aren't used to checking it, so adding an anticlassical axiom into mathlib would be a disaster
Mario Carneiro (Aug 17 2020 at 16:37):
It would be nice if the docs page listed print axioms results though
James Palmer (Aug 17 2020 at 16:39):
thanks everyone for the help! And sorry for my dodgy wording...
Last updated: Dec 20 2023 at 11:08 UTC