[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: [mizar] weak types
Dear Freek,
Freek Wiedijk wrote:
>
> So I'm not sure exactly what a Mizar-like system that's build
> on these principles should look like. But I do think that
> sqrt x > a should _not_ be an abbreviation of
> x >= 0 & sqrt x > a. Instead I think that to be allowed to
> write down sqrt x > a you should be required to prove
> x >= 0. Apart from that you could use the existing
> (permissive) semantics of Mizar as far as I'm concerned.
With a permissive definition like (NATTRA_1:def 8):
let A,B be Category, F1,F2 be Functor of A,B;
assume F1 is_naturally_transformable_to F2;
mode natural_transformation of F1,F2 -> transformation of F1,F2 means
for a,b being Object of A st Hom(a,b) <> {}
for f being Morphism of a,b holds it.b*F1.f = F2.f*it.a;
when one proves that a transformation is a natural transformation, then one
has to prove first the guard (the assumption in the definition) and then the
definiens, like in the proof of coherence in NATTRA_1:def 9
t2`*`t1 is natural_transformation of F,F2
proof thus F is_naturally_transformable_to F2 by A1,A2,Th25;
thus thesis by A3,A4,A5,Lm2;
end;
And if one refers to NATTRA_1:def 8, one has also to refer to the fact that
F1 is_naturally_transformable_to F2
and, of course to the definiens.
So the difference seems to be in the fact, that you want to state the guard,
if you just write
T is natural_transformation
and in Mizar we need guard only when the definition is actually used. It is
something like lazy evaluation.
I believe it is the main argument for the permissiveness.
Andrzej