I am looking for a program that would help me prove some elementary inequalities. What I mean by that is that:
- I would tell the program some term written with usual functions, then I would tell him « use the Cauchy-Schwarz inequality like this », « distribute this linear function over this sum », « apply Fubini’s theorem to switch these two integrals », etc.;
- It would show me step by step what the « current term » looks like;
- When the proof is finished, it would output a text that is a program itself, such that anyone wanting to check my proof would only have to compile the program.
Now, I think that any proof assistant would allow me to do that, but is there a user-friendly one, that can be used by people that have never used any proof assistant before?
I am sure that some people working in analytic number theory (which is, as far as I know, a field where proofs are usually full of « elementary » but very, very long and subtle inequality proofs) should already be using this kind of stuff (I mean, I hope they are, this would make refereeing much easier).
EDIT: after reading Andrej Bauer’s answer, I realized that my question wasn’t precise enough.
To set an arbitrary threshold, let me give you an example: when I write proofs in $\LaTeX$ of this kind of things, I spend some time copying the current term, paste it below, make some identical changes on different terms, writing « because of Lemma 3.1 » in the margin, get worried about overfull hboxes
, make some mistakes that I spot only after trying to prove three other lemmas based on this one, so I have to change everything, etc.; all this for a proof that only a few people will have the courage to check by hand.
I am willing to invest a lot of time in learning how to use proof assistant that, after some effort to get proficient with it, would allow me to write automatically checkable proofs in roughly the same time as the time it takes me to typeset them into $\LaTeX$. If there is one, can you tell me which one it I would be?
I have always been afraid of learning Coq or Lean (the only ones I have heard of) because I have the (uninformed opinion) that since they have been designed for a general purpose, they might not be very nice to use for such a specific (and, to my opinion, much more elementary) purpose.