X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2Ftests%2Fcoercions.ma;h=20b15cd2650d8a7f7840d68696da39423af2248c;hb=2b7403dcc161d1cbf6bacd62f0868d0bc67c0fda;hp=337ef50edc1fc2a63bb1600e0ca6f0f32dc005f8;hpb=7d5438513549fb3b1e7ba39d095db00b99478eaf;p=helm.git diff --git a/helm/matita/tests/coercions.ma b/helm/matita/tests/coercions.ma index 337ef50ed..20b15cd26 100644 --- a/helm/matita/tests/coercions.ma +++ b/helm/matita/tests/coercions.ma @@ -1,3 +1,20 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +set "baseuri" "cic:/matita/tests/coercions/". +include "legacy/coq.ma". + inductive pos: Set \def | one : pos | next : pos \to pos. @@ -19,13 +36,29 @@ let rec pos2nat x \def definition nat2int \def \lambda x. positive x. -coercion pos2nat. +coercion cic:/matita/tests/coercions/pos2nat.con. -coercion nat2int. +coercion cic:/matita/tests/coercions/nat2int.con. definition fst \def \lambda x,y:int.x. -alias symbol "eq" (instance 0) = "leibnitz's equality". theorem a: fst O one = fst (positive O) (next one). reflexivity. qed. + +definition double: + \forall f:int \to int. pos \to int +\def + \lambda f:int \to int. \lambda x : pos .f (nat2int x). + +definition double1: + \forall f:int \to int. pos \to int +\def + \lambda f:int \to int. \lambda x : pos .f (pos2nat x). + +definition double2: + \forall f:int \to int. pos \to int +\def + \lambda f:int \to int. \lambda x : pos .f (nat2int (pos2nat x)). + +