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 "logic/pts.ma".
16 ndefinition hint_declaration_Type0 ≝ λA:Type[0] .λa,b:A.Prop.
17 ndefinition hint_declaration_Type1 ≝ λA:Type[1].λa,b:A.Prop.
18 ndefinition hint_declaration_Type2 ≝ λa,b:Type[1].Prop.
19 ndefinition hint_declaration_CProp0 ≝ λA:CProp[0].λa,b:A.Prop.
20 ndefinition hint_declaration_CProp1 ≝ λA:CProp[1].λa,b:A.Prop.
21 ndefinition hint_declaration_CProp2 ≝ λa,b:CProp[1].Prop.
23 notation > "≔ (list0 (ident x : T ) sep ,) ⊢ term 19 Px ≡ term 19 Py"
25 for @{ ${ fold right @{'hint_decl $Px $Py} rec acc @{ ∀${ident x}:$T.$acc } } }.
27 interpretation "hint_decl_Type2" 'hint_decl a b = (hint_declaration_Type2 a b).
28 interpretation "hint_decl_CProp2" 'hint_decl a b = (hint_declaration_CProp2 a b).
29 interpretation "hint_decl_Type1" 'hint_decl a b = (hint_declaration_Type1 ? a b).
30 interpretation "hint_decl_CProp1" 'hint_decl a b = (hint_declaration_CProp1 ? a b).
31 interpretation "hint_decl_CProp0" 'hint_decl a b = (hint_declaration_CProp0 ? a b).
32 interpretation "hint_decl_Type0" 'hint_decl a b = (hint_declaration_Type0 ? a b).