[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: [mizar] weak types
Freek Wiedijk wrote:
> I see. I still don't like it. Talking about 1/0, it's
> nonsense. 1/0 is not 0, it is not some unknown real number,
> it is _illegal._
>
To be a bit more precise, x/y is defined as x*y", so breaking the permissiveness
we rather put 0" = 0 (it is not original, I owe the information, that this works
pretty well in HOL, to John Harrison; and John has shown me a book of a British
algebraist, sorry I do no remember the name, that observed that nobody knows why
mathematician do not allow division by zero).
I do not know what you mean by _illegal_ (I am not kidding, there are few
different meanings of it). The problem is of course what to do with
x/y
if we either do not know if y (maybe a complicated term) is zero, or if it is
hard to prove, or ....
Let us think about an experiment. Let we introduce
fd(x,y) fd - funny division
with the meaning as it is in MML, and x/y in your meaning (Michael Kohlhase has
nothing against our x/y, but claims that we should use a different notation).
Then we will see which functor the authors would prefer. It is difficult to
forecast the result, but I believe that (most of)
the authors would prefer the functor that is easier to use, i.e. fd(x,y)
>
> By the way, by now you all know my dislike of only non-empty
> types because of "Element of". But _if_ empty types are
> forbidden, I think that "Element of X" should have had a
> guard "X is non empty set".
Originally it had. When we broke the permissiveness, putting Element of {} equal
to {} some theorems then got simplified. Again, if you like you may go back to
the original definition:
let X be set;
assume
Z: X is non empty;
mode element of X means it in X;
existence by Z;
I think that using 'element of ...' defined above instead of 'Element of ...' is
a sort of masochism. But maybe it is more honest way to cope with the problem.
Andrzej