The languages of some current proof assistants now offer the possibility to reuse general results more easily.

On convergences with filters,

I looked a little bit at the categories to see if this formalism could generalise the limits with the filters but I didn’t have much success. Perhaps I missed some interesting theories…

My experience is that formalizing with more generality saves work in the long term. Sometimes when I have some specific result in mind there is a temptation to make shortcuts and go straight to the goal. I found that it is better to not to hurry and always ask myself “what more general fact this fact might be a consequence of?”. Sometimes that more general fact is even easier to prove in the short term.

As for limits of real sequences defined in terms of filters this is how it is done in Isabelle/HOL. As Manuel Eberl says on Stack Overflow

]]>In ‘real world’ Isabelle, limits are expressed with filters and there is a large library around them

I think that the particularity of formalising mathematics (or physics or whatever…) with a proof assistant is that it is neither mathematics nor computer science, just as biochemistry is neither chemistry nor biology, but rather a work of translation.

Not mathematics? In the sense that I know few examples where one can say “we have discovered a new theorem” thanks to formalisation and this theorem is actually used among mathematicians. Even if it seems to me that I must know a little bit about my mathematical subject, when I formalise, I don’t create new mathematics. Of course it would be nice if this would help the mathematician but for the moment I don’t see the benefit yet.

But the usefulness seems to me, for the moment, perhaps elsewhere…

On the other hand, it seems to me that the circle of people formalising mathematics is quite small. Smaller than the people who develop proof assistants (automatic or not) or who are looking for the conditions to make these proof assistants (automatic or not) more efficient or ideal?

My little experience has taught me that the search for a generalisation or a reduction of hypotheses of a theorem is sometimes useful, not so much for the mathematician or the computer scientist but for our translation work, which is often tedious and always very long.

If we manage to find faster, more general ways, then we hope that we can reuse these bits of code in other demonstrations and lighten our work. And that, I think, is worth it! But it’s not given in advance to know that hypotheses are not useful or that the demonstration is valid in a more general case. Often because it would be necessary to define more general concepts, when we can barely manage to formalise a less general theorem, and to reach the end of this less general theorem is already good!

I don’t know of any formaliser who would have directly started the convergences of real sequences using the abstract concept of filter, neighbourhood (found in IsarMathLib) and uniform space.

Is this useful? Only time will tell and I am still very curious…

I’m quite sure it is possible to connect to Windows, although I have not done it myself. You would have to write Windows-specific software to read the data as the code that I put in GitHub is Linux only. I think USB serial connectors show up as COM ports on Windows and PySerial can read from them.

]]>I am working now on the second generation of the monitoring setup. It will be independent of the Xively service and based again on the Shinyei sensor, but connected to Raspberry Pi with KDB+ running on it. ]]>