1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 include "ground_2/lib/relations.ma".
17 (* FUNCTIONS ****************************************************************)
19 definition left_identity (A) (f): predicate A ≝ λi. ∀a:A. a = f i a.
21 definition right_identity (A) (f): predicate A ≝ λi. ∀a:A. a = f a i.
23 definition compatible_2 (A) (B):
24 relation3 … (relation A) (relation B) ≝
26 ∀a1,a2. Sa a1 a2 → Sb (f a1) (f a2).
28 definition compatible_3 (A) (B) (C):
29 relation4 … (relation A) (relation B) (relation C) ≝
31 ∀a1,a2. Sa a1 a2 → ∀b1,b2. Sb b1 b2 → Sc (f a1 b1) (f a2 b2).
33 definition annulment_2 (A) (f): predicate A ≝
34 λi:A. ∀a1,a2. i = f a1 a2 → ∧∧ i = a1 & i = a2.