[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tlaplus] TLA+ for testing computational algorithms rather than verify mathematical proofs



No wonder I could not find anything useful to me.  Will see how I can go with Coq.  Regarging
TLA, I would like to make something similar to what Leslie Lamport has done for mathematical
proofs, even though this was shown before things had been formalized (e.g. as done for The
Mean Value Theorem).

Can I get some help to show that if \sum a_n converges then lim_t^\infty} a_n = 0.

My proof would be to construct a_n = S_n - S_{n-1}

New because \sum a_n converges, then the sequence {S_n}_{n=1}^{\infty} is also convergent
and that \lim_{n=1 \to \infty} s_n = S for some finite value S.

And since n-1 \to \infty as n \to \infty , we also have lim n \to \infty s_{n-1} = S

We now have

lim_n^\infty a_n = lim_n^\infty ( s_n -s_{n-1} )

= lim_n^\infty s_n -  lim_n^\infty s_{n-1} )

= S - S = 0

I cannot do this on my own and need some confirmation that what is produced is correct.

Then I have something that I can build upon.  Could I get some help to do this proof in TLA
in the same manner as Lamport ?


On Monday, April 29, 2024 at 7:11:52 AM UTC+12 Martin wrote:
To my knowledge TLA+ has not been used to formalize proof of pure mathematics on
the level you aim for yet (in particular not without stating it as an algorithm)
- you would need to build up your proof from the foundations and/or add the
lemmas you trust as axioms. But e.g. the methods of analysis like integrals have
not been formalized yet in TLA+ because noone has needed them so far. In that
regard the interactive provers that aim for mathematics (e.g. Coq, Lean,
Insabelle) might be easier to start with?

cheers,
Martin


On 4/28/24 20:51, marta zhango wrote:
> I understand that proving statements about algorithms does not rely on
> complex mathematical results.
> But my quest is to prove statements about mathematics itself (e.g.
> verifying a mathematical proof
> of the linearity of a wavelet transform).
>
>
> On Monday, April 29, 2024 at 6:20:24 AM UTC+12 Martin wrote:
>
>> Most purely mathematical statements in TLA+ I know are about basic
>> properties of
>> the standard library. You can browse through the _proofs.tla files and
>> have a
>> look around.
>>
>> https://github.com/tlaplus/tlapm/tree/main/library
>>
>> As Andrew already mentioned proving statements about algorithms usually
>> does not
>> rely on complex mathematical results. In a way the construction of the
>> algorithm
>> already divides the problem into subtasks that are easier to handle.
>>
>> cheers,
>> Martin
>>
>>
>> On 4/28/24 20:03, marta zhango wrote:
>>> It would help me to have a decently long list of mathematical theorems
>>> (undergraduate mathematics)
>>> proved with TLA+ I can look at. And how to run them and interpret them.
>>>
>>> On Monday, April 29, 2024 at 2:15:56 AM UTC+12 Andrew Helwer wrote:
>>>
>>>> The introductory material for the TLA+ proof system is admittedly not
>>>> great at the moment. There is a basic tutorial available on the INRIA
>>>> website:
>>>>
>> https://tla.msr-inria.inria.fr/tlaps/content/Documentation/Tutorial/The_example.html
>>>>
>>>> Really though the best way to learn is to just try to prove a very
>> simple
>>>> statement and see how it goes, reading other peoples' proofs for
>>>> inspiration. Here are my attempts at some basic proofs:
>>>>
>> https://github.com/tlaplus/Examples/tree/master/specifications/LearnProofs
>>>>
>>>> You can also look at the tlaplus/examples repo in general, there is a
>>>> table in the README with checkboxes marking every spec that includes
>>>> proofs: https://github.com/tlaplus/Examples
>>>>
>>>> The TLA+ proof language is usually applied to prove statements that are
>>>> shallow but broad, as in very simple mathematical statements but a lot
>> of
>>>> them. This is what you have to do to prove an algorithm correct. Each
>>>> individual step in the algorithm is usually mathematically simple, but
>>>> there are a lot of them. I am not aware of the TLA+ proof language being
>>>> used to prove "deep" mathematical theorems like you hear coming out of
>> the
>>>> Rocq and Lean community, but perhaps examples exist.
>>>>
>>>> Andrew Helwer
>>>>
>>>> On Sunday, April 28, 2024 at 3:42:08 AM UTC-4 marta zhango wrote:
>>>>
>>>>> Felicitations Martin. The problem I struggle with is that the TLA+ book
>>>>> does not cover
>>>>> the verification of mathematical proofs. purely mathematical. Have
>>>>> scrutinised Stephan's
>>>>> links to actual proofs of Cantor's theorem. But can one use the
>> software
>>>>> to show that they
>>>>> are indeed correct. This is the field of verification that I have
>>>>> interest in at this moment.
>>>>>
>>>>> Can one find a tutorial about how specific mathematical proofs can be
>>>>> defined and verified ?
>>>>>
>>>>> Thank you so very much
>>>>> Marta
>>>>>
>>>>>
>>>>>
>>>
>>
>

--
You received this message because you are subscribed to the Google Groups "tlaplus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tlaplus+unsubscribe@xxxxxxxxxxxxxxxx.
To view this discussion on the web visit https://groups.google.com/d/msgid/tlaplus/54fa520b-7c7c-4cb7-8572-a97def52681cn%40googlegroups.com.