[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: [mizar] weak types
Josef:
>It seems to me that in the implementation, one would just
>have to remember for such types, that "consider" cannot be
>used,
Also, you don't get anymore from "for x holds P[]" (where x
doesn't occur in P[]) that "P[]" itself has to hold.
>Or is there any deeper reason for avoiding them?
It would be surprising. PVS and Coq and NuPRL all support
types that can be empty.
In PVS I think that you indicate non-emptyness of a type by
writing TYPE+. So for Mizar there might be similar syntax to
indicate that a mode is "weak":
definition let ...;
weak mode ... -> ... means
...
end;
(So what about existential clusters? :-))
By the way: a "cheap" way to implement these "possibly empty
types" would be to have them internally be represented by a
predicate, and then before trying to run CHECKER replacing
them by those predicates. So
for x being Large_Cardinal_that_may_not_exist
holds ...
would be first transformed into
for x being set st Large_Cardinal_that_may_not_exist x
holds ...
and then the old CHECKER would be correct (but maybe too weak?)
Freek