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/notation/relations/arroweq_2.ma".
16 include "ground/lib/subset_inclusion.ma".
18 (* EQUIVALENCE FOR SUBSETS **************************************************)
20 definition subset_eq (A): relation2 𝒫❨A❩ 𝒫❨A❩ ≝
21 λu1,u2. ∧∧ u1 ⊆ u2 & u2 ⊆ u1.
24 "equivalence (subset)"
25 'ArrowEq u1 u2 = (subset_eq ? u1 u2).
27 (* Basic destructions *******************************************************)
29 lemma subset_in_eq_repl_back (A) (a:A):
30 ∀u1. a ϵ u1 → ∀u2. u1 ⇔ u2 → a ϵ u2.
35 lemma subset_in_eq_repl_fwd (A) (a:A):
36 ∀u1. a ϵ u1 → ∀u2. u2 ⇔ u1 → a ϵ u2.
41 (* Basic constructions ******************************************************)
43 lemma subset_eq_refl (A):
44 reflexive … (subset_eq A).
45 /2 width=1 by conj/ qed.
47 lemma subset_eq_sym (A):
48 symmetric … (subset_eq A).
49 #A #u1 #u2 * /2 width=1 by conj/
52 (* Main constructions *******************************************************)
54 theorem subset_eq_trans (A):
55 Transitive … (subset_eq A).
56 #A #u1 #u2 * #H12 #H21 #u3 * #H23 #H32
57 /3 width=5 by subset_le_trans, conj/