From ef2b176ed947139f5cf05887b937a36ee2acb566 Mon Sep 17 00:00:00 2001 From: Enrico Tassi Date: Thu, 30 Aug 2007 13:39:33 +0000 Subject: [PATCH] tests for coercions under lambdas --- .../matita/tests/coercions_contravariant.ma | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 helm/software/matita/tests/coercions_contravariant.ma 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). + -- 2.39.2