X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2Flibrary%2Fhigher_order_defs%2Ffunctions.ma;h=71b6d84599df20cfcd223a7565e4c83bb85f03e5;hb=91a095f0686ee569ba035e4e30c7d071588cb8e7;hp=bdea562cedeff817a299edbe619a69b07084a975;hpb=244d65f63ca6a736b871f9f91328fe8c5524ff05;p=helm.git diff --git a/helm/matita/library/higher_order_defs/functions.ma b/helm/matita/library/higher_order_defs/functions.ma index bdea562ce..71b6d8459 100644 --- a/helm/matita/library/higher_order_defs/functions.ma +++ b/helm/matita/library/higher_order_defs/functions.ma @@ -19,18 +19,21 @@ include "logic/connectives.ma". definition injective: \forall A,B:Type.\forall f:A \to B.Prop \def \lambda A,B.\lambda f. - \forall x,y:A.eq B (f x) (f y) \to (eq A x y). + \forall x,y:A.f x = f y \to x=y. (* we have still to attach exists *) definition surjective: \forall A,B:Type.\forall f:A \to B.Prop \def \lambda A,B.\lambda f. - \forall z:B.ex A (\lambda x:A.(eq B z (f x))). + \forall z:B.ex A (\lambda x:A.z=f x). definition symmetric: \forall A:Type.\forall f:A \to A\to A.Prop -\def \lambda A.\lambda f.\forall x,y.eq A (f x y) (f y x). +\def \lambda A.\lambda f.\forall x,y.f x y = f y x. + +definition symmetric2: \forall A,B:Type.\forall f:A \to A\to B.Prop +\def \lambda A,B.\lambda f.\forall x,y.f x y = f y x. definition associative: \forall A:Type.\forall f:A \to A\to A.Prop -\def \lambda A.\lambda f.\forall x,y,z.eq A (f (f x y) z) (f x (f y z)). +\def \lambda A.\lambda f.\forall x,y,z.f (f x y) z = f x (f y z). (* functions and relations *) definition monotonic : \forall A:Type.\forall R:A \to A \to Prop. @@ -39,6 +42,8 @@ definition monotonic : \forall A:Type.\forall R:A \to A \to Prop. (* functions and functions *) definition distributive: \forall A:Type.\forall f,g:A \to A \to A.Prop -\def \lambda A.\lambda f,g.\forall x,y,z:A.eq A (f x (g y z)) (g (f x y) (f x z)). - +\def \lambda A.\lambda f,g.\forall x,y,z:A. f x (g y z) = g (f x y) (f x z). +definition distributive2: \forall A,B:Type.\forall f:A \to B \to B. +\forall g: B\to B\to B. Prop +\def \lambda A,B.\lambda f,g.\forall x:A.\forall y,z:B. f x (g y z) = g (f x y) (f x z).