]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/nlibrary/hints_declaration.ma
Release 0.5.9.
[helm.git] / helm / software / matita / nlibrary / hints_declaration.ma
index 99aca7fa6e79fe01a6f086cded9bbc146b309a9a..f91949be9f383f6b749be8388c414d795a3036a5 100644 (file)
@@ -34,13 +34,10 @@ With unidoce and some ASCII art it looks like the following:
  (*---------------------*) ⊢
          T1 ≡ T2       
 
-The order of premises is relevant, since they are processed in order
-(left to right).
-
 *)
    
 (* it seems unbelivable, but it works! *)
-notation > "≔ (list0 ( (list1 (ident x) sep , ) opt (: T) ) sep ,) opt (; (list1 (ident U ≟ term 19 V ) sep ,)) ⊢ term 19 Px ≡ term 19 Py"
+notation > "≔ (list0 ( (list1 (ident x) sep , ) opt (: T) ) sep ,) opt (; (list1 (ident U ≟ term 90 V ) sep ,)) ⊢ term 19 Px ≡ term 19 Py"
   with precedence 90
   for @{ ${ fold right 
                @{ ${ default 
@@ -72,35 +69,11 @@ interpretation "hint_decl_CProp1" 'hint_decl a b = (hint_declaration_CProp1 ? a
 interpretation "hint_decl_CProp0" 'hint_decl a b = (hint_declaration_CProp0 ? a b).
 interpretation "hint_decl_Type0"  'hint_decl a b = (hint_declaration_Type0 ? a b).
 
-(* Non uniform coercions support *)
-nrecord lock2 (S : Type[2]) (s : S) : Type[3] ≝ {
-  force2 : Type[2];
-  lift2  : force2
-}.
-
-nrecord lock1 (S : Type[1]) (s : S) : Type[2] ≝ {
-  force1 : Type[1];
-  lift1  : force1
-}.
-
-ncoercion lift1 : ∀S:Type[1].∀s:S.∀l:lock1 S s. force1 S s l ≝ lift1 
- on s : ? to force1 ???.
-
-ncoercion lift2 : ∀S:Type[2].∀s:S.∀l:lock2 S s. force2 S s l ≝ lift2
- on s : ? to force2 ???.
-
-(* Example of a non uniform coercion declaration 
-   
-     Type[0]              setoid
-                >--->     
-     MR                   R  
-
-   provided MR = carr R
-
-unification hint 0 ≔ R : setoid;
-   MR ≟ carr R, 
-   lock ≟ mk_lock1 Type[0] MR setoid R 
-(* ---------------------------------------- *) ⊢ 
-   setoid ≡ force1 ? MR lock.
-
-*)
\ No newline at end of file
+(* little test
+naxiom A : Type[0].
+naxiom C : A → A → Type[0].
+ndefinition D ≝ C.               
+alias symbol "hint_decl" = "hint_decl_Type1".
+unification hint 0 ≔ 
+  X, R : A, Y ;  Z ≟ X, W ≟ Y ⊢ C X Y ≡ D Z W.
+*)