S. Relation_déduite, V : ? i ) ? R', 1?i?n, Ass'(V) := (& i ? i ) & Ass(V) Pour toutes les autres variables U, Ass'(U) := Ass(U) Sinon : Echec

. Vérifier-la-contrainte-de-sortie-de-la-tête, Ass(V), ?), alors : Succès Sinon : Echec 4.2.3 Calcul de la relation déduite L'exécution de l'algorithme relation_déduite(Type, Terme, R) consiste à vérifier que Terme appartient à gen(Type), puis calculer r(Type, Terme), la relation déduite du type Type

@. Si-terme, =. V-variable, and R. {v, Type} ? Si Terme n'est pas une variable : -Si Type = T ?-variable, décomposer T sur Terme : Instancier T à TypeT non essayé, qui contient le foncteur principal de Terme

-. Type-est-défini-dans-la-base, Terme = ?(x 1 , ?, x n ) : Vérifier que Type a un composant élémentaire ?(Type 1 , ?, Type n ) Pour 1?i?n, relation_déduite(Type i , x i , R i )

R. , ?. Bansai, A. K. Sterling, and L. , Succès ? Pour tous les autres cas : Echec BibliographieAn Abstract Interpretation Scheme for Logic Programs based on Type Expression, Proc. of International Conference on Fifthth Generation Computer Systems, pp.422-429, 1988.

L. Cardelli and P. Wegner, On understanding types, data abstraction, and polymorphism, ACM Computing Surveys, vol.17, issue.4, pp.471-522, 1985.
DOI : 10.1145/6041.6042

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

A. Colmerauer, Prolog II : Manuel de référence et modèle théorique, 1982.

S. Debray and D. Warren, Automatic mode inference for logic programs, The Journal of Logic Programming, vol.5, issue.3, pp.207-229, 1988.
DOI : 10.1016/0743-1066(88)90010-6

W. Drabent and J. Maluszynski, Inductive Assertion Method for Logic Programs, Proc. TAPSOFT LNCS N°, vol.250, pp.167-181, 1987.

T. Kanamori and K. Horiuchi, Type Inference in PROLOG and its Application, Proc. of 9th International Joint Conference on Artificial Intelligence, pp.704-707, 1985.

T. Kanamori and T. Kawamura, Analyzing Succes Patterns of Logic Programs by Abstract Hybrid Interpretation, 1987.

U. Reddy and T. K. Lakshman, Typed Prolog : A Semantic Reconstruction of the Mycroft-O'Keefe Type System, Proc. of International Symposium on Logic Programming, pp.202-217, 1991.

J. W. Lloyd, Foundations of Logic Programming " Second, Extended Edition, 1987.

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

P. Mishra and U. Reddy, Declaration-free type checking, Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages , POPL '85, pp.7-21, 1985.
DOI : 10.1145/318593.318603

A. Mycroft, O. Keefe, and R. A. , A polymorphic type system for prolog, Artificial Intelligence, vol.23, issue.3, pp.295-307, 1984.
DOI : 10.1016/0004-3702(84)90017-1

O. Oudot, Utilisation des modes directionnels dans la résolution, 1987.

C. Pyo and U. Reddy, Inference of polymorphic types for logic programs, Proc. of NACLP, pp.1115-1134, 1989.

P. Van-roy, Improving the execution speed of compiled Prolog with modes, clause selection, and determinism, CW Report N°, vol.51, 1986.
DOI : 10.1007/BFb0014976

D. H. Warren, Implementing Prolog-Compiling Predicate Logic Programs, Dept. of Artificial Intelligence, 1977.

J. Xu and D. S. Warren, A type inference system for Prolog, Proc. of 5th International Conference on Logic Programming, pp.604-619, 1988.

J. Yardeni and E. Shapiro, A type system for logic programs, The Journal of Logic Programming, vol.10, issue.2, pp.211-244, 1987.
DOI : 10.1016/0743-1066(91)80002-U