?. ). Holds, From (18) and Lemma 4.3.13, there exists Q 3 such that (Q ? ) t 0 : (Q ? 3 , ?), We know from (16) that Q ? is already shared there exist Q ? 2 , ? 2 and ? ? such that (Q ? ) ?(t 0 ) : (Q ? 223) ?(Q 3 ) ? ? ? ? > ? ? Q ? 2 (24) ? ? ? ?(?) = ? 2

. Property, It is a consequence of the following

. Property, As a preliminary result, we show the same property for equivalence, that is, if (Q) ? 1 ? ? 2 holds, then ?(? 1 ) and ?(? 2 ) are equivalent in ML. The proof is by induction on the derivation of (Q) ? 1 ? ? 2 . Transitivity is by induction hypothesis. Reflexivity and symmetry are immediate: the ML equivalence relation is reflexive and symmetric. For congruence, the proof is similar to the one for the instance relation

@. Case, The premise is (Q) ? 1 ? ? ? 2 . Necessarily, we have (Q) ? 1 ? ? 2 (Rule eAbs-Equiv), because other possible rules for abstraction mention rigid bindings. Then, we conclude using the preliminary result

P. Henk and . Barendregt, The Lambda Calculus: Its Syntax and Semantics, 1984.

?. Boehm, Partial polymorphic type inference is undecidable, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985), pp.339-345, 1985.
DOI : 10.1109/SFCS.1985.44

?. Luca and C. , An implementation of FSub, Digital Equipment Corporation Systems Research Center, 1993.

?. Sébastien-carlier, J. Polakow, J. B. Wells, and A. J. Kfoury, System e: Expansion variables for flexible typing with linear and non-linear types and intersection types, Prooceedings of the 13th European Symposium on Programming., volume 2986 of Lecture Notes in Computer Science, pp.294-309

?. Gilles-dowek, T. Hardin, C. Kirchner, and F. Pfenning, Higher-order unification via explicit substitutions: the case of higher-order patterns, Joint international conference and symposium on logic programming, pp.259-273, 1996.

?. Jacques-garrigue and D. Rémy, Extending ML with Semi-Explicit higher-order polymorphism, Journal of Functional Programming, vol.155, pp.134-169, 1999.

?. P. Giannini and S. Rocca, Characterization of typings in polymorphic type discipline, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science, pp.61-70, 1988.
DOI : 10.1109/LICS.1988.5101

J. Girard, Interprétation fonctionnelle etéliminationetélimination des coupures de l'arithmétique d'ordre supérieur, Thèse d'´ etat, 1972.

?. Haruo, H. , and B. C. Pierce, How good is local type inference?, 1999.

?. Trevor and J. , A polar type system, ICALP Satellite Workshops, pp.323-338, 2000.

?. Trevor and J. , Rank-2 type systems and recursive definitions, 1995.

?. S. Jones and M. Shields, Lexically scoped type variables Available at http://research.microsoft.com/ ? simonpj/papers/scoped-tyvars, 2004.

P. Jones and M. Shields, Practical type inference for arbitrary-rank types, Journal of Functional Programming, vol.17, issue.01, 2004.
DOI : 10.1017/S0956796806006034

?. A. Kfoury and J. B. Wells, A direct algorithm for type inference in the rank-2 fragment of the second-order ?-calculus, Proceedings of the ACM Conference on Lisp and functional programming, pp.196-207, 1994.

?. Konstantin, L. , and M. Odersky, Polymorphic type inference and abstract data types, ACM Transactions on Programming Languages and Systems, vol.16, issue.5, pp.1411-1430, 1994.

?. Didier and L. Botlan, MLF : Une extension de ML avec polymorphisme de second ordre et instanciation implicite, 2004.

?. Didier, L. Botlan, and D. Rémy, MLF: Raising ML to the power of System-F, Proceedings of the Eighth ACM SIGPLAN International Conference on Functional Programming, pp.27-38, 2003.

?. Daan-leijen, A type directed translation of MLF to System F, The International Conference on Functional Programming (ICFP'07, 2007.

?. Daan-leijen, HMF: Simple type inference for first-class polymorphism Extended version available as Microsoft Research technical report MSR-TR, The 13th ACM symp. of the International Conference on Functional Programming (ICFP'08), 2007.

D. Leijen, Flexible types: robust type inference for first-class polymorphism, Proceedings of the 36th ACM Symposium on Principles of Programming Languages (POPL'09), 2009.

?. Daan-leijen and A. Löh, Qualified types for MLF, ICFP '05: Proceedings of the tenth ACM SIGPLAN international conference on Functional programming, pp.144-155, 2005.

?. David and M. , A logical algorithm for ML type inference, Rewriting Techniques and Applications, 14th International Conference, pp.436-451, 2003.

?. Miller, Unification under a mixed prefix, Journal of Symbolic Computation, vol.14, issue.4, pp.321-358, 1992.
DOI : 10.1016/0747-7171(92)90011-R

URL : http://doi.org/10.1016/0747-7171(92)90011-r

?. R. Milner, A theory of type polymorphism in programming, Journal of Computer and System Sciences, vol.17, issue.3, pp.348-375, 1978.
DOI : 10.1016/0022-0000(78)90014-4

?. John and C. Mitchell, Polymorphic type inference and containment. Information and Computation, pp.211-249, 1988.

?. Martin, O. , and K. Läufer, Putting type annotations to work, Proceedings of the 23rd ACM Conference on Principles of Programming Languages, pp.54-67, 1996.

?. Martin-odersky, C. Zenger, and M. Zenger, Colored local type inference, ACM SIGPLAN Notices, vol.36, issue.3, pp.41-53, 2001.
DOI : 10.1145/373243.360207

?. William, O. Jr, and D. K. Gifford, Type reconstruction with first-class polymorphic values, SIGPLAN '89 Conference on Programming Language Design and Implementation, 1989.

?. Simon, P. Jones, D. Vytiniotis, S. Weirich, and M. Shields, Practical type inference for arbitrary-rank types, J. Funct. Program, vol.17, issue.1, pp.1-82, 2007.

?. Frank and P. , Partial polymorphic type inference and higher-order unification, Proceedings of the ACM Conference on Lisp and Functional Programming, pp.153-163, 1988.

F. Pfenning, On the undecidability of partial polymorphic type reconstruction, Fundamenta Informaticae, vol.19, issue.12, pp.185-199, 1992.

?. Benjamin and C. Pierce, Types and Programming Languages, 2002.

?. Benjamin and C. Pierce, Bounded quantification is undecidable. Information and Computation, pp.131-165, 1994.

?. Benjamin and C. Pierce, Programming with Intersection Types and Bounded Polymorphism Available as School of Computer Science technical report CMU-CS, pp.91-205, 1991.

?. Benjamin, C. Pierce, and D. N. Turner, Local type inference, ACM Trans. Program. Lang. Syst, vol.22, issue.1, pp.1-44, 2000.

?. François, P. , and D. Rémy, The essence of ML type inference, Advanced Topics in Types and Programming Languages, pp.389-489, 2005.

?. François, P. , and Y. Régis-gianas, Stratified type inference for generalized algebraic data types, Proceedings of the 33rd ACM Symposium on Principles of Programming Languages (POPL'06), pp.232-244, 2006.

?. François, P. , and D. Rémy, The essence of ML type inference. Extended preliminary version of (Pottier and Rémy, 2003.

?. Didier and R. , Simple, partial type-inference for System F based on type-containment, Proceedings of the tenth International Conference on Functional Programming, 2005.

?. Didier and R. , Programming objects with ML-ART: An extension to ML with abstract and record types, Theoretical Aspects of Computer Software, pp.321-346, 1994.

?. Didier, R. , and B. Yakobowski, A graphical presentation of MLF types with a linear-time unification algorithm, Proceedings of the 2007 ACM SIGPLAN International Workshop on Types in Languages Design and Implementation (TLDI'07), pp.27-38, 2007.

?. Didier, R. , and B. Yakobowski, From ML to MLF: Graphic type constraints with efficient type inference, The 13th ACM SIGPLAN International Conference on Functional Programming (ICFP'08), pp.63-74, 2008.

?. Didier, R. , and B. Yakobowski, A church-style intermediate language for MLF, 2008.

?. John and C. Reynolds, Towards a theory of type structure, Proc. Colloque sur la Programmation, pp.408-425, 1974.

A. Schubert, Second-order unification and type inference for Church-style polymorphism, Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '98, pp.279-288, 1998.
DOI : 10.1145/268946.268969

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.3618

?. Vytiniotis, S. Weirich, and S. P. Jones, Boxy types: inference for higher-rank types and impredicativity, ICFP '06: Proceedings of the Eleventh ACM SIGPLAN International Conference on Functional Programming, pp.251-262, 2006.

?. Vytiniotis, S. Weirich, and S. P. Jones, FPH: First-class Polymorphism for Haskell, The 13th ACM SIGPLAN International Conference on Functional Programming (ICFP'08), 2008.

?. J. Wells, The Essence of Principal Typings, Proc. 29th Int'l Coll. Automata, Languages, and Programming, pp.913-925, 2002.
DOI : 10.1007/3-540-45465-9_78

?. J. Wells, Typability and type checking in System F are equivalent and undecidable, Annals of Pure and Applied Logic, vol.98, issue.1-3, pp.1-3111, 1999.
DOI : 10.1016/S0168-0072(98)00047-5

J. B. Wells, Type Inference for System F with and without the Eta Rule, 1996.

?. Boris and Y. , Graphical types and constraints: second-order polymorphism and inference, 2008.

. Unité-de-recherche-inria-rocquencourt-domaine-de-voluceau-rocquencourt-bp, 105 -78153 Le Chesnay Cedex (France) Unité de recherche INRIA Futurs : Parc Club Orsay Université -ZAC des Vignes 4, rue Jacques Monod -91893 ORSAY Cedex (France) Unité de recherche INRIA Lorraine : LORIA, Technopôle de Nancy-Brabois -Campus scientifique 615, rue du Jardin Botanique -BP 101 -54602 Villers-lès-Nancy Cedex (France) Unité de recherche INRIA Rennes : IRISA, Campus universitaire de Beaulieu -35042 Rennes Cedex (France) Unité de recherche INRIA Rhône-Alpes : 655, avenue de l'Europe -38334 Montbonnot Saint-Ismier (France) Unité de recherche, 2004.

I. De-voluceau-rocquencourt, BP 105 -78153 Le Chesnay Cedex (France) http://www.inria.fr ISSN, pp.249-6399