[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: [mizar] Re: strict




On Tue, 9 Jan 2007, Adam Naumowicz wrote:

On Tue, 9 Jan 2007, Jesse Alama wrote:

Adam Naumowicz <adamn@math.uwb.edu.pl> writes:

BTW: it's better to state such properties of F2 as functorial
registrations rather than theorems - this way they could be used
automatically by the checker when one would import your registrations.
I see your point, and when I was looking in the MML for examples on
which I could base my definition of F2, I found that functorial
registrations were the customary way of accomplishing my task.
Although I don't want to break with the custom and I understand the
value for the checker if I follow it, I do think that it is more
natural to express the properties of a new term as theorems rather
than as functorial registrations.  By expressing properties in terms
of functorial registrations, one is writing for the MIZAR checker, not
for human readers.  It seems to me that using functorial registrations
takes MIZAR away from rather than toward the mathematical vernacular.
(Though perhaps one could argue that the MIZAR custom of functorial
registrations is actually captures what's going on in the mathematical
vernacular.)
Yes, it's a clear-cut example of a trade-off between sticking close to the 
mathematical vernacular and adding more automation with new language 
constructs. In this case, however, the registrations look painfully technical 
in their *.miz form, but various forms of presentation may 'smooth' them a 
bit - e.g. the relevant theorems could be printed in the *.xml presentation 
next to the registrations. And in the TEX'ed form of Formalized Mathematics 
the presentation looks more or less like a mathematical statement, e.g.: "One 
can verify that ... is ...".
I think you can have both the theorem and the registration (trivially 
justified by the theorem). Another "more human" way would be just to have 
a theorem-property (analogy of definitional properties like "symmetry"), 
which would tell the checker to use the theorem for the automations. 
Perhaps a better word than "property" would be Andrzej's "pragma" in this 
case (e.g. keyword "register"). But I think the current explicit writing 
of registrations does not hurt much, and the explicit writing has its 
advantages. Also, in the example, wasn't it possible to put "strict" 
directly in the result type of F2 instead of having an extra registration 
for it?
Last thing: the confusion with different versions of "strict" can be 
already now avoided by using synonyms, e.g.:
notation
let G be LoopStr;
synonym G is strict_LoopStr for G is strict;
end;

It wouldn't hurt to add such synonyms automatically to each article accepted to MML, so that when the context is overloaded, people could make sure that they get what they want (if they do not look at the HTML, or other semantic explanation).
Best,
Josef