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 "formal_topology/o-algebra.ma".
17 definition is_o_saturation: ∀C:OA. C ⇒_1 C → CProp[1] ≝
18 λC:OA.λA:C ⇒_1 C.∀U,V. (U ≤ A V) =_1 (A U ≤ A V).
20 definition is_o_reduction: ∀C:OA. C ⇒_1 C → CProp[1] ≝
21 λC:OA.λJ:C ⇒_1 C.∀U,V. (J U ≤ V) =_1 (J U ≤ J V).
23 theorem o_saturation_expansive: ∀C,A. is_o_saturation C A → ∀U. U ≤ A U.
24 intros; apply (fi ?? (i ??)); apply (oa_leq_refl C).
27 theorem o_saturation_monotone: ∀C:OA.∀A:C ⇒_1 C. is_o_saturation C A → ∀U,V. U ≤ V → A U ≤ A V.
28 intros; apply (if ?? (i ??)); apply (oa_leq_trans C);
29 [apply V|3: apply o_saturation_expansive ]
33 theorem o_saturation_idempotent: ∀C:OA.∀A:C ⇒_1 C. is_o_saturation C A → ∀U. A (A U) =_1 A U.
34 intros; apply (oa_leq_antisym C);
35 [ apply (if ?? (i (A U) U)); apply (oa_leq_refl C).
36 | apply o_saturation_expansive; assumption]