X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Fmatita%2Ftests%2Fcoercions.ma;h=20b15cd2650d8a7f7840d68696da39423af2248c;hb=b6f12c7851b23c4793a9fe279c4439b84c817b23;hp=8a45f29295d067744e28346312b7fd5558393f60;hpb=0dbd5619f82e575948ba583317706b4e794f57eb;p=helm.git diff --git a/helm/matita/tests/coercions.ma b/helm/matita/tests/coercions.ma index 8a45f2929..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,20 +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)). + +