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 (* NOTATION FOR THE LAMBDA CALCULUS *******************************************)
17 (* equivalence, invariance *)
19 notation "hvbox(a break ≅ b)"
20 non associative with precedence 45
23 notation "hvbox(a break (≅ ^ term 90 c) b)"
24 non associative with precedence 45
27 notation "hbox(! term 50 a)"
28 non associative with precedence 50
31 notation "hbox((! ^ term 90 b) term 50 a)"
32 non associative with precedence 50
33 for @{'Invariant1 $a $b}.
35 (* lifting, substitution *)
37 notation "hvbox(M break [ l ])"
38 non associative with precedence 90
43 notation "hvbox(〚term 90 T〛)"
44 non associative with precedence 50
47 notation "hvbox(〚term 90 T〛 break _ [term 90 E])"
48 non associative with precedence 50
51 notation "hvbox(〚term 90 T〛 break _ [term 90 E1 break , term 90 E2])"
52 non associative with precedence 50
53 for @{'IInt2 $T $E1 $E2}.
55 notation "hvbox(《term 90 T》)"
56 non associative with precedence 50
59 notation "hvbox(《term 90 T》 break _ [term 90 E])"
60 non associative with precedence 50
63 notation "hvbox(《term 90 T》 break _ [term 90 E1 break , term 90 E2])"
64 non associative with precedence 50
65 for @{'EInt2 $T $E1 $E2}.