X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fnlibrary%2Fhints_declaration.ma;h=f91949be9f383f6b749be8388c414d795a3036a5;hb=a90c31c1b53222bd6d57360c5ba5c2d0fe7d5207;hp=99aca7fa6e79fe01a6f086cded9bbc146b309a9a;hpb=4377e950998c9c63937582952a79975947aa9a45;p=helm.git diff --git a/helm/software/matita/nlibrary/hints_declaration.ma b/helm/software/matita/nlibrary/hints_declaration.ma index 99aca7fa6..f91949be9 100644 --- a/helm/software/matita/nlibrary/hints_declaration.ma +++ b/helm/software/matita/nlibrary/hints_declaration.ma @@ -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. +*)