formal_methods
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| formal_methods [2022/02/05 21:12] – intro with maple domin144 | formal_methods [2022/02/06 14:10] (current) – domin144 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Formal methods ====== | ====== Formal methods ====== | ||
| + | {{indexmenu_n> | ||
| + | |||
| + | ===== My pursue for math in computers ===== | ||
| + | |||
| + | ==== Discovery of computer algebra systems ==== | ||
| My fascination with formal methods started, before I knew there is such thing and how it is called. | My fascination with formal methods started, before I knew there is such thing and how it is called. | ||
| Line 10: | Line 15: | ||
| "No more silly mistakes or silent assumptions. All the derivations will be now correct and complete!" | "No more silly mistakes or silent assumptions. All the derivations will be now correct and complete!" | ||
| - | The euphoria did not last long. Soon, I realized, that Maple actually does a lot of silent assumptions. I found a three step sequence to make Maple admit that 1 = 0. | + | The euphoria did not last long. Soon, I realized, that Maple actually does a lot of silent assumptions. |
| + | I found a three step sequence to make Maple admit that '' | ||
| + | |||
| + | I have no access to maple right now to reproduce the case, but it involved combining '' | ||
| + | Maple would happily compute: '' | ||
| + | |||
| + | I am not sure, if current version of Maple would do the same. Later I found an example on the web, in which maple was cheated in just one step. I cannot find it right now. Anyway, it shows, that Maple, like all the other [[computer algebra systems]] I checked, does not follow strict mathematics. | ||
| + | |||
| + | ==== Brute force attempt ==== | ||
| + | |||
| + | Unsatisfied with the [[computer algebra systems]], I tried to write a simple " | ||
| + | Numerous problems appeared. | ||
| + | How to e.g. represent a generic subset of real numbers? | ||
| + | One could try to represent it a sum of ranges. | ||
| + | This would not cover e.g. set of rational numbers. | ||
| + | Even a set of even numbers would have an infinite representation. | ||
| + | |||
| + | The conclusion is: to have a generic representation for mathematical objects, one has to keep it's symbolic definition, just like one writes it in ones paper notebook! | ||
| + | |||
| + | As with any idea, which is good and simple, someone had to find it before me. | ||
| + | A new search through the web started. This time term " | ||
| + | Still, not exactly what I wanted. | ||
| + | |||
| + | ==== Metamath ==== | ||
| + | |||
| + | Somebody must have defined strict rule to operate on the symbols. | ||
| + | After making another search, I finally hit [[http:// | ||
| + | |||
| + | Reading the introduction was enlightening. | ||
| + | All mathematics reduced to few axioms, inference rules and the rewrite principle. | ||
| + | This was my first encounter of axiomatic approach, set theory, etc. | ||
| + | I think, the first chapter of this book is a must read for every mathematician or engineer. | ||
| - | TODO: show the sequence | + | Now, what was needed was a [[computer algebra systems|computer algebra system]], which would produce, apart from the result, a proof of the results correctness. |
| + | I started | ||
| + | I wrote a [[https:// | ||
| + | ==== More formal methods ==== | ||
| + | As one would expect, I soon got tired of this work. | ||
| + | I started to look further for existing solutions. | ||
| + | The interesting sources I found are [[http:// | ||
| + | Here I am now, studying the formal methods and collecting my findings on this page. | ||
formal_methods.1644095539.txt.gz · Last modified: 2022/02/05 21:12 by domin144
