X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Flib%2Fbasics%2Frelations.ma;h=a82f314f698e9dc23fb479c56848c83b586d2654;hb=b834d6352d377911404b13aa400818f8861cbc9a;hp=59aad912df75b687b4c2ebe7481dc2e9f5ca0a47;hpb=409f569bde067546830df25cd0b1ca898573f66a;p=helm.git diff --git a/matita/matita/lib/basics/relations.ma b/matita/matita/lib/basics/relations.ma index 59aad912d..a82f314f6 100644 --- a/matita/matita/lib/basics/relations.ma +++ b/matita/matita/lib/basics/relations.ma @@ -11,6 +11,11 @@ include "basics/logic.ma". +(********** preducates *********) + +definition predicate: Type[0] → Type[0] +≝ λA.A→Prop. + (********** relations **********) definition relation : Type[0] → Type[0] ≝ λA.A→A→Prop. @@ -77,8 +82,9 @@ injective A B f → injective B C g → injective A C (λx.g (f x)). (* extensional equality *) +(* moved inside sets.ma definition exteqP: ∀A:Type[0].∀P,Q:A→Prop.Prop ≝ -λA.λP,Q.∀a.iff (P a) (Q a). +λA.λP,Q.∀a.iff (P a) (Q a). *) definition exteqR: ∀A,B:Type[0].∀R,S:A→B→Prop.Prop ≝ λA,B.λR,S.∀a.∀b.iff (R a b) (S a b). @@ -86,11 +92,12 @@ definition exteqR: ∀A,B:Type[0].∀R,S:A→B→Prop.Prop ≝ definition exteqF: ∀A,B:Type[0].∀f,g:A→B.Prop ≝ λA,B.λf,g.∀a.f a = g a. +(* notation " x \eqP y " non associative with precedence 45 for @{'eqP A $x $y}. interpretation "functional extentional equality" -'eqP A x y = (exteqP A x y). +'eqP A x y = (exteqP A x y). *) notation "x \eqR y" non associative with precedence 45 for @{'eqR ? ? x y}.