X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Flibrary%2Fhigher_order_defs%2Frelations.ma;h=4d4155c56a13046dc7a2dbc78751d66df52a6c37;hb=a79bf6edc13daaea8135ca71fdc92e02e229f030;hp=029b229dc0f518edc78bca16ad317bd326ce59bb;hpb=55b82bd235d82ff7f0a40d980effe1efde1f5073;p=helm.git diff --git a/helm/software/matita/library/higher_order_defs/relations.ma b/helm/software/matita/library/higher_order_defs/relations.ma index 029b229dc..4d4155c56 100644 --- a/helm/software/matita/library/higher_order_defs/relations.ma +++ b/helm/software/matita/library/higher_order_defs/relations.ma @@ -12,22 +12,38 @@ (* *) (**************************************************************************) -set "baseuri" "cic:/matita/higher_order_defs/relations/". - include "logic/connectives.ma". -definition reflexive: \forall A:Type.\forall R:A \to A \to Prop.Prop +definition relation : Type \to Type +\def \lambda A:Type.A \to A \to Prop. + +definition reflexive: \forall A:Type.\forall R :relation A.Prop \def \lambda A.\lambda R.\forall x:A.R x x. -definition symmetric: \forall A:Type.\forall R:A \to A \to Prop.Prop +definition symmetric: \forall A:Type.\forall R: relation A.Prop \def \lambda A.\lambda R.\forall x,y:A.R x y \to R y x. -definition transitive: \forall A:Type.\forall R:A \to A \to Prop.Prop +definition transitive: \forall A:Type.\forall R:relation A.Prop \def \lambda A.\lambda R.\forall x,y,z:A.R x y \to R y z \to R x z. -definition irreflexive: \forall A:Type.\forall R:A \to A \to Prop.Prop +definition irreflexive: \forall A:Type.\forall R:relation A.Prop \def \lambda A.\lambda R.\forall x:A.\lnot (R x x). + +definition cotransitive: \forall A:Type.\forall R:relation A.Prop +\def +\lambda A.\lambda R.\forall x,y:A.R x y \to \forall z:A. R x z \lor R z y. + +definition tight_apart: \forall A:Type.\forall eq,ap:relation A.Prop +\def +\lambda A.\lambda eq,ap.\forall x,y:A. (\not (ap x y) \to eq x y) \land +(eq x y \to \not (ap x y)). + +definition antisymmetric: \forall A:Type.\forall R:relation A.Prop +\def +\lambda A.\lambda R.\forall x,y:A. R x y \to \not (R y x). + +