X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fnlibrary%2Fsets%2Fsetoids1.ma;h=6d6b68743195a8acd2f86b6b4b134165d10e35dd;hb=b2d91e46900424ce5eb5a058c33841e72cc4b229;hp=bae7f549ecc5ca3fdf800b59788aa5b3eaf48399;hpb=6678a28314d8878bb46d5de7b1060628f4930242;p=helm.git diff --git a/helm/software/matita/nlibrary/sets/setoids1.ma b/helm/software/matita/nlibrary/sets/setoids1.ma index bae7f549e..6d6b68743 100644 --- a/helm/software/matita/nlibrary/sets/setoids1.ma +++ b/helm/software/matita/nlibrary/sets/setoids1.ma @@ -14,6 +14,7 @@ include "properties/relations1.ma". include "sets/setoids.ma". +include "hints_declaration.ma". nrecord setoid1: Type[2] ≝ { carr1:> Type[1]; @@ -30,8 +31,8 @@ ndefinition setoid1_of_setoid: setoid → setoid1. | napply trans]##] nqed. -ncoercion setoid1_of_setoid : ∀s:setoid. setoid1 ≝ setoid1_of_setoid - on _s: setoid to setoid1. +(*ncoercion setoid1_of_setoid : ∀s:setoid. setoid1 ≝ setoid1_of_setoid + on _s: setoid to setoid1.*) (*prefer coercion Type_OF_setoid.*) interpretation "setoid1 eq" 'eq t x y = (eq_rel1 ? (eq1 t) x y). @@ -63,3 +64,16 @@ nrecord binary_morphism1 (A,B,C:setoid1) : Type[1] ≝ interpretation "prop11" 'prop1 c = (prop11 ????? c). interpretation "prop21" 'prop2 l r = (prop21 ???????? l r). interpretation "refl1" 'refl = (refl1 ???). + +ndefinition unary_morphism1_setoid1: setoid1 → setoid1 → setoid1. + #s; #s1; @ (unary_morphism1 s s1); @ + [ #f; #g; napply (∀a:s. f a = g a) + | #x; #a; napply refl1 + | #x; #y; #H; #a; napply sym1; nauto + | #x; #y; #z; #H1; #H2; #a; napply trans1; ##[##2: napply H1 | ##skip | napply H2]##] +nqed. + +unification hint 0 ≔ S, T ; + R ≟ (unary_morphism1_setoid1 S T) +(* --------------------------------- *) ⊢ + carr1 R ≡ unary_morphism1 S T. \ No newline at end of file