From: Enrico Tassi Date: Thu, 30 Aug 2007 13:39:33 +0000 (+0000) Subject: tests for coercions under lambdas X-Git-Tag: make_still_working~6087 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=ef2b176ed947139f5cf05887b937a36ee2acb566;p=helm.git tests for coercions under lambdas --- diff --git a/helm/software/matita/tests/coercions_contravariant.ma b/helm/software/matita/tests/coercions_contravariant.ma new file mode 100644 index 000000000..b1656aeca --- /dev/null +++ b/helm/software/matita/tests/coercions_contravariant.ma @@ -0,0 +1,39 @@ +(**************************************************************************) +(* ___ *) +(* ||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/test/". + +include "logic/equality.ma". +include "nat/nat.ma". + +axiom A : nat -> Type. +axiom B : nat -> Type. +axiom A1: nat -> Type. +axiom B1: nat -> Type. +axiom b : ∀n.B n. +axiom c : ∀n,m. A1 n -> A m. +axiom d : ∀n,m. B n -> B1 m. +axiom f : ∀n,m. A n -> B m. + +coercion cic:/matita/test/c.con. +coercion cic:/matita/test/d.con. + +definition foo := λn,n1,m,m1.(λx.d m m1 (f n m (c n1 n x)) : A1 n1 -> B1 m1). +definition foo1_1 := λn,n1,m,m1.(f n m : A1 n1 -> B1 m1). + +definition g := λn,m.λx:A n.b m. +definition foo2 := λn,n1,m,m1.(g n m : A1 n1 -> B1 m1). +definition foo3 := λn1,n,m,m1.(g n m : A1 n1 -> B1 m1). +definition foo4 := λn1,n,m1,m.(g n m : A1 n1 -> B1 m1). +