I'm just getting started with Metamath. I have mm and mmj2 installed on my computer and I've been able to prove the first few theorems in set.mm independently, so I know my setup works. I have a few questions about mm and its suitability for my purposes:
- I don't have a background in abstract math, but I'm looking to learn with an interactive theorem prover as a feedback system. I started with Lean about 1 month ago, but I started to try proving properties of families of sets and cartesian products and I was bogged down by tons of technical stuff and I just gave up after a few days because I couldn't figure out the right syntax.
I think the problem with Lean for a beginner is that it makes heavy use of tactics, which obscures what's actually happening in the proof.
I'm interested in mm because it's very simple and tactics aren't part of the system. It would be hard to get bogged down with lots of technical detail. But the structure of a proof in mm is very different than anything I've seen. For example, x implies y is normally proven by assume x, show y, but mm doesn't seem to allow that. I'm sorry if this is a stupid question, but if I learn math with mm, will I be learning the "right" math?
2, I was thinking of using Mizar for my purposes. Mizar is also much simpler than Lean or Coq in that it doesn't make heavy use of tactics. The proof style of Mizar also seems much more conventional (and better looking) than mm. My only problem here is that there doesn't seem to be a really active community around Mizar and it is still possible to get bogged down by technical stuff (the typing system is confusing for me with Mizar). For learning abstract math, what is the group's opinion on choosing Mizar vs mm?
3. If I do use mm, is there a good way to go about systematically learning the math content? This evening, I started with the first theorem in set.mm and proved about the first 5 or 6 theorems. Should I just try to sequentially prove every theorem in set.mm? Or is this way too much? What's a better strategy?
I think the problem with Lean for a beginner is that it makes heavy use of tactics, which obscures what's actually happening in the proof. I'm interested in mm because it's very simple and tactics aren't part of the system. It would be hard to get bogged down with lots of technical detail.
I'm sorry if this is a stupid question, but if I learn math with mm, will I be learning the "right" math?
- If I do use mm, is there a good way to go about systematically learning the math content? This evening, I started with the first theorem in set.mm and proved about the first 5 or 6 theorems. Should I just try to sequentially prove every theorem in set.mm? Or is this way too much? What's a better strategy?
--
You received this message because you are subscribed to a topic in the Google Groups "Metamath" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/metamath/lO3PPEkLet0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to metamath+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/metamath/8d6c57ae-198e-4cff-98b8-9b12d51e746dn%40googlegroups.com.
You are probably ready to try out one or more prover systems (or
keep trying out in the case of lean) rather than collect more
opinions, but I'm pretty sure either Lean or methamath set.mm
would be suitable in terms of being able to do things with
functions, relations, integers, etc (and not have to start from
scratch on everything). Hope it isn't intimidating to post the
tables of contents of their math libraries, but it is
https://leanprover-community.github.io/mathlib-overview.html for
lean and http://us.metamath.org/mpeuni/mmtheorems.html for set.mm
- I post this just to show that either one of these systems
formalizes a bunch of different areas of mathematics.
Personally, I dabbled in trying to learn the type theory based
systems (coq and isabelle in my case, I suppose it would be lean
today) and I kept coming back to metamath (or now-defunct
metamath-like systems). But this could be as much happenstance (in
terms of which ones I encountered first or first had a reason to
get proficient in) as anything which would have made it difficult
for me to learn the others.
You received this message because you are subscribed to the Google Groups "Metamath" group.
To unsubscribe from this group and stop receiving emails from it, send an email to metamath+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/metamath/CAOcJWNHe7rsHLf2t-qh1LyUghxCx3G9%3DMDcndFyFT-kbpQZcdA%40mail.gmail.com.
Also, when I say abstract math, I think I’m really just looking to learn the topics in an introductory discrete math course. I want to learn about set theory, which includes Cartesian products, families of sets, functions, and relations. I ultimately would like a system that I could use to verify proof problems from a graph theory or algorithms text. I’m pretty sure what I’m looking to learn might actually be formal logic. Does this change your opinion about what I should be using?
Personally, I dabbled in trying to learn the type theory based systems (coq and isabelle in my case, I suppose it would be lean today) and I kept coming back to metamath (or now-defunct metamath-like systems). But this could be as much happenstance (in terms of which ones I encountered first or first had a reason to get proficient in) as anything which would have made it difficult for me to learn the others.