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

Re: [mizar] weak types



On Wed, 19 Nov 2003, Andrzej Trybulec wrote:

> 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;

Just repeating the argument from previous post, this seems to me pretty 
unnatural :-). If we defined predicate 
"t is_natural_transformation_of F1,F2"  in the corresponding way, your
definition just says:

assume A1: ex t st t is_natural_transformation_of F1,F2;
mode natural_transformation of F1,F2 -> transformation of F1,F2 means
     it is_natural_transformation_of F1,F2; 
existence by A1;

> when one proves that a transformation is a natural transformation, then one
> has to prove first the guard (the assumption in the definition) 

So before I am allowed to prove, that t is natural, I have to prove that 
there is something natural. Thanks.

> and then the
> definiens, like in the proof of coherence in NATTRA_1:def 9

This would be much nicer as attribute "natural" defined for 
"transformation of F1,F2", and then as exactly the same kind of functor 
cluster as I described previously (but now for t2'*'t1), needing weak 
types in loci. 

> 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.

The permissiveness might be good for functions like sqrt, I am not sure. 
But for types, the only "advantage" of permissive over weak is, that 
you can "consider" them even in cases when they "are empty", knowing 
exactly nothing in such cases. For weak types, if you find out that you 
are in the empty case, you can trivially prove anything right away, which 
(I repeat myself) is the common mathematical understanding.

Josef