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 "basic_2/syntax/ceq_ext_ceq_ext.ma".
16 include "basic_2/relocation/lexs_lexs.ma".
18 (* RANGED EQUIVALENCE FOR LOCAL ENVIRONMENTS ********************************)
20 (* Main properties **********************************************************)
22 theorem lreq_trans: ∀f. Transitive … (lreq f).
23 /3 width=5 by lexs_trans, ceq_ext_trans/ qed-.
25 theorem lreq_canc_sn: ∀f. left_cancellable … (lreq f).
26 /3 width=3 by lexs_canc_sn, lreq_trans, lreq_sym/ qed-.
28 theorem lreq_canc_dx: ∀f. right_cancellable … (lreq f).
29 /3 width=3 by lexs_canc_dx, lreq_trans, lreq_sym/ qed-.
31 theorem lreq_join: ∀f1,L1,L2. L1 ≡[f1] L2 → ∀f2. L1 ≡[f2] L2 →
32 ∀f. f1 ⋓ f2 ≘ f → L1 ≡[f] L2.
33 /2 width=5 by lexs_join/ qed-.
35 theorem lreq_meet: ∀f1,L1,L2. L1 ≡[f1] L2 → ∀f2. L1 ≡[f2] L2 →
36 ∀f. f1 ⋒ f2 ≘ f → L1 ≡[f] L2.
37 /2 width=5 by lexs_meet/ qed-.