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/notation/relations/doteq_4.ma".
16 include "ground_2/lib/relations.ma".
18 (* EXTENSIONAL EQUIVALENCE **************************************************)
20 definition exteq (A,B:Type[0]): relation (A → B) ≝
21 λf1,f2. ∀a. f1 a = f2 a.
23 interpretation "extensional equivalence"
24 'DotEq A B f1 f2 = (exteq A B f1 f2).
26 (* Basic_properties *********************************************************)
28 lemma exteq_refl (A) (B): reflexive … (exteq A B).
31 lemma exteq_repl (A) (B): replace_2 … (exteq A B) (exteq A B) (exteq A B).
34 lemma exteq_sym (A) (B): symmetric … (exteq A B).
35 /2 width=1 by exteq_repl/ qed-.
37 lemma exteq_trans (A) (B): Transitive … (exteq A B).
38 /2 width=1 by exteq_repl/ qed-.