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/notation/relations/rajust_5.ma".
16 include "basic_2/substitution/drop.ma".
18 (* AJUSTMENT ****************************************************************)
20 inductive fpa (s:bool): bi_relation lenv term ≝
21 | fpa_fwd: ∀L,K,T,U,d,e. ⇩[s, d, e] L ≡ K → ⇧[d, e] T ≡ U → fpa s K T L U
22 | fpa_bwd: ∀L,K,T,U,d,e. ⇩[s, d, e] L ≡ K → ⇧[d, e] T ≡ U → fpa s L U K T
26 "ajustment (restricted closure)"
27 'RAjust L1 T1 s L2 T2 = (fpa s L1 T1 L2 T2).
29 (* Basic properties *********************************************************)
31 lemma fpa_refl: ∀s. bi_reflexive … (fpa s).
32 /2 width=4 by fpa_fwd/ qed.
34 lemma fpa_sym: ∀s. bi_symmetric … (fpa s).
35 #s #L1 #L2 #T1 #T2 * /2 width=4 by fpa_fwd, fpa_bwd/