X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Ftests%2Fcoercions_contravariant.ma;fp=matita%2Ftests%2Fcoercions_contravariant.ma;h=153c295c59642d016149aa25ff0806523e3b8fae;hp=0000000000000000000000000000000000000000;hb=f61af501fb4608cc4fb062a0864c774e677f0d76;hpb=58ae1809c352e71e7b5530dc41e2bfc834e1aef1 diff --git a/matita/tests/coercions_contravariant.ma b/matita/tests/coercions_contravariant.ma new file mode 100644 index 000000000..153c295c5 --- /dev/null +++ b/matita/tests/coercions_contravariant.ma @@ -0,0 +1,38 @@ +(**************************************************************************) +(* ___ *) +(* ||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 *) +(* *) +(**************************************************************************) + + + +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 c : ∀n,m. A1 n -> A m. +axiom d : ∀n,m. B n -> B1 m. +axiom f : ∀n,m. A n -> B m. +axiom g : ∀n.B n. + +coercion cic:/matita/tests/coercions_contravariant/c.con. +coercion cic:/matita/tests/coercions_contravariant/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 h := λn,m.λx:A n.g m. +definition foo2 := λn,n1,m,m1.(h n m : A1 n1 -> B1 m1). +definition foo3 := λn1,n,m,m1.(h n m : A1 n1 -> B1 m1). +definition foo4 := λn1,n,m1,m.(h n m : A1 n1 -> B1 m1).