X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Flib%2Fbasics%2Frelations.ma;h=8b746ef6896d4f58bb4efa17728a27b7f8bba0e7;hb=2199f327081f49b21bdcd23d702b5e07ea4f58ce;hp=f469ddca29f72fe1eeaeea9d50752fefed34aad2;hpb=a04bfe6d381b281db15e8b432f6f221576aad439;p=helm.git diff --git a/matita/matita/lib/basics/relations.ma b/matita/matita/lib/basics/relations.ma index f469ddca2..8b746ef68 100644 --- a/matita/matita/lib/basics/relations.ma +++ b/matita/matita/lib/basics/relations.ma @@ -48,6 +48,17 @@ definition tight_apart: ∀A.∀eq,ap:relation A.Prop definition antisymmetric: ∀A.∀R:relation A.Prop ≝ λA.λR.∀x,y:A. R x y → ¬(R y x). +definition singlevalued: ∀A,B. predicate (relation2 A B) ≝ λA,B,R. + ∀a,b1. R a b1 → ∀b2. R a b2 → b1 = b2. + +(* Reflexive closure ************) + +definition RC: ∀A:Type[0]. relation A → relation A ≝ + λA,R,x,y. R … x y ∨ x = y. + +lemma RC_reflexive: ∀A,R. reflexive A (RC … R). +/2 width=1/ qed. + (********** operations **********) definition Rcomp ≝ λA.λR1,R2:relation A.λa1,a2. ∃am.R1 a1 am ∧ R2 am a2.