. Soit-un-terme-t-=-f, t n : T n ) : T . Par le lemme 6.2.1, il existe une unique spécialisation protégée f ? dont la signature correspond à

. Considérons-une-formule-atomique-f-=-p, t n : T n ) Par le lemme 6.2.1 il existe une unique spécialisation p ? dont la signature correspond à, Alors Par ? (F ) p ? (Par ? (t 1 ), . . . , Par ? (t n ))

. Exemple, Supposons que l'on prenne U = {I}. Par produit alors les deux formules (par Par [ ] et Par

L. Nouveau and S. Get, ?, I et get [I/?,I/?] possède la signature de type monomorphe M(I, I), I, I. Ici vu le U et le W choisis précédemment, il ne sert à rien d'appliquer Dis avant Par

. Enfin, comme tout autre inductif on peut définir son empreinte (qui est en relation avec l'empreinte de l'inductif original) et sa séparation avec lui-même ou d'autres inductifs

. La-liste-est-un-cas-assez-simple, une application du prédicat inductif en position négative dans sa définition. Si l'on prend le cas des arbres, c'est-à-dire le type : struct tree { int key; struct tree *left, *right

}. La-définition-d-'un-arbre-binaire-istree-est, *@ #pragma : sep_istree_istree(istree,istree) inductive istree(struct tree * p){ case leave{L} : ? struct tree * p, p.p == null ? istree

.. Fonctions-et-prédicats-générés, 26 3.2. Syntaxe d'entrée de mini, p.30

P. Baudin, J. Filliâtre, C. Marché, B. Monate, Y. Moy et al., ACSL : ANSI/ISO C Specification Language, 2008.

J. Berdine, C. Calcagno, O. Peter, and . Hearn, Symbolic Execution with Separation Logic, Programming Languages and Systems, pp.52-68, 2005.
DOI : 10.1007/11575467_5

J. Berdine, C. Calcagno, and P. W. O-'hearn, Smallfoot: Modular Automatic Assertion Checking with Separation Logic, International Symposium on Formal Methods for Components and Objects, pp.115-137, 2005.
DOI : 10.1007/11804192_6

J. Bloch, Nearly all binary searches and mergesorts are broken, 2006.

F. Bobot, S. Conchon, É. Contejean, M. Iguernelala, S. Lescuyer et al., The Alt-Ergo automated theorem prover, 2008.

F. Bobot, S. Conchon, É. Contejean, and S. Lescuyer, Implementing polymorphism in SMT solvers, Proceedings of the Joint Workshops of the 6th International Workshop on Satisfiability Modulo Theories and 1st International Workshop on Bit-Precise Reasoning, SMT '08/BPR '08, pp.1-5, 2008.
DOI : 10.1145/1512464.1512466

F. Bobot, J. Filliâtre, C. Marché, and A. Paskevich, The Why3 platform. LRI, CNRS & Univ. Paris-Sud & INRIA Saclay, version 0, 2011.
URL : https://hal.archives-ouvertes.fr/hal-00822856

F. Bobot and A. Paskevich, Expressing Polymorphic Types in a Many-Sorted Language, Frontiers of Combining Systems ('FROCOS), 8th International Symposium, Proceedings, 2011.
DOI : 10.1007/978-3-540-78800-3_24

URL : https://hal.archives-ouvertes.fr/inria-00591414

R. Bornat, Proving pointer programs in Hoare logic [13] Rod Burstall. Some techniques for proving correctness of programs which alter data structures, Mathematics of Program Construction, pp.102-12623, 1972.

S. Böhme and M. Moskal, Heaps and Data Structures: A Challenge for Automated Provers, Proceedings of the 23rd International Conference on Automated Deduction, pp.177-191, 2011.
DOI : 10.1007/978-3-642-02959-2_10

. Bor-yuh, X. Chang, G. Rival, and . Necula, Shape analysis with structural invariant checkers, Static Analysis, pp.384-401, 2007.

. Bor-yuh-evan, X. Chang, and . Rival, Relational inductive shape analysis, Proceedings of the 35th annual symposium on Principles of programming languages, POPL '08, pp.247-260, 2008.

D. R. Chase, M. Wegman, and F. K. Zadeck, Analysis of pointers and structures, ACM SIGPLAN Notices, vol.25, issue.6, pp.296-310, 1990.
DOI : 10.1145/93548.93585

A. Church, An Unsolvable Problem of Elementary Number Theory, American Journal of Mathematics, vol.58, issue.2, pp.345-363, 1936.
DOI : 10.2307/2371045

K. Claessen, A. Lillieström, and N. Smallbone, Sort it out with monotonicity -translating between many-sorted and unsorted first-order logic, CADE, pp.207-221, 2011.

J. Couchot and S. Lescuyer, Handling Polymorphism in Automated Deduction, CADE-21, pp.263-278, 2007.
DOI : 10.1007/978-3-540-73595-3_18

P. Cousot and R. Cousot, Systematic design of program analysis frameworks, Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages , POPL '79, pp.269-282, 1979.
DOI : 10.1145/567752.567778

H. B. Curry, J. R. Hindley, and J. P. Seldin, Combinatory Logic II, of Studies in Logic and the Foundations of Mathematics, 1972.

L. Damas and R. Milner, Principal type-schemes for functional programs, Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '82, pp.207-212, 1982.
DOI : 10.1145/582153.582176

L. De, M. , and N. Bjørner, Z3 : An efficient SMT solver, TA- CAS'08, pp.337-340, 2008.

D. Detlefs, G. Nelson, and J. B. Saxe, Simplify: a theorem prover for program checking, Journal of the ACM, vol.52, issue.3, pp.365-473, 2005.
DOI : 10.1145/1066100.1066102

W. Edsger and . Dijkstra, A discipline of programming. Series in Automatic Computation, 1976.

D. Distefano, O. Peter, H. Hearn, and . Yang, A Local Shape Analysis Based on Separation Logic, Lecture Notes in Computer Science, vol.24, issue.3, pp.287-302, 2006.
DOI : 10.1145/514188.514190

J. Filliâtre and C. Marché, Multi-prover Verification of C Programs, ICFEM'04, pp.15-29, 2004.
DOI : 10.1007/978-3-540-30482-1_10

C. A. Hoare, An axiomatic basis for computer programming, Communications of the ACM, vol.12, issue.10, pp.576-580, 1969.
DOI : 10.1145/363235.363259

T. Hubert and C. Marché, Separation analysis for deductive verification, Heap Analysis and Verification, pp.81-93, 2007.

G. Huet, The Zipper, Journal of Functional Programming, vol.7, issue.5, 1997.
DOI : 10.1017/S0956796897002864

J. Hurd, An LCF-Style Interface between HOL and First-Order Logic, CADE-18, volume 2392 of LNAI, pp.134-138, 2002.
DOI : 10.1007/3-540-45620-1_10

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

J. Hurd, First-order proof tactics in higher-order logic theorem provers, Design and Application of Strategies/Tactics in Higher Order Logics, pp.56-68, 2003.

S. Ishtiaq and P. W. O-'hearn, Bi as an assertion language for mutable data structures, POPL, pp.14-26, 2001.

B. Jacobs and F. Piessens, The verifast program verifier, CW Reports, vol.520, 2008.
DOI : 10.1007/978-3-642-17164-2_21

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

B. Jacobs, J. Smans, and F. Piessens, A Quick Tour of the VeriFast Program Verifier, Programming Languages and Systems, pp.304-311, 2010.
DOI : 10.1007/978-3-642-17164-2_21

D. Neil, S. S. Jones, and . Muchnick, Flow analysis and optimization of lisplike structures, Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, POPL '79, pp.244-256, 1979.

D. Kaplan, Some Completeness Results in the Mathematical Theory of Computation, Journal of the ACM, vol.15, issue.1, pp.124-158, 1968.
DOI : 10.1145/321439.321447

I. Kassios, Dynamic Frames: Support for Framing, Dependencies and Sharing Without Restrictions, FM 2006 : Formal Methods, pp.268-283, 2006.
DOI : 10.1007/11813040_19

K. Leino, Dafny: An Automatic Program Verifier for Functional Correctness, Logic for Programming, Artificial Intelligence, and Reasoning, pp.348-370, 2010.
DOI : 10.1007/978-3-642-17511-4_20

K. Rustan, M. Leino, and P. Rümmer, A polymorphic intermediate verification language : Design and logical encoding [42] Maria Manzano. Extensions of First-Order Logic, volume 19 of Cambridge Tracts in Theoretical Computer Science, TACAS'10, pp.312-327, 1996.

C. Marché, Jessie, Proceedings of the 2007 workshop on Programming languages meets program verification , PLPV '07, pp.1-2, 2007.
DOI : 10.1145/1292597.1292598

J. Meng and L. C. Paulson, Translating Higher-Order Clauses to First-Order Clauses, Journal of Automated Reasoning, vol.9, issue.2, pp.35-60, 2008.
DOI : 10.1007/s10817-007-9085-y

R. Milner, A theory of type polymorphismn programming, Journal of Computer and System Sciences, vol.17, 1978.

Y. Moy, Union and cast in deductive verification, Proceedings of the C, pp.1-16, 2007.

Y. Moy and C. Marché, Inferring local (non-)aliasing and strings for memory safety, Heap Analysis and Verification (HAV'07), pp.35-51, 2007.

T. Nipkow, L. C. Paulson, and M. Wenzel, Isabelle/HOL ? A Proof Assistant for Higher-Order Logic, LNCS, vol.2283, 2002.

P. W. O-'hearn and D. J. Pym, Abstract, Bulletin of Symbolic Logic, vol.two, issue.02, pp.215-244, 1999.
DOI : 10.1016/0304-3975(93)90181-R

M. Presburger, Über die Vollständigkeit eines gewissen Systems der Arithmetik ganzer Zahlen, in welchem die Addition als einzige Operation hervortritt, Comptes Rendus du premier Congrès des Mathématiciens des Pays slaves, 1929.

J. C. Reynolds, Separation logic: a logic for shared mutable data structures, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science, 2002.
DOI : 10.1109/LICS.2002.1029817

C. John and . Reynolds, Intuitionistic reasoning about shared mutable data structure, Millennial Perspectives in Computer Science, pp.303-321, 2000.

A. Riazanov and A. Voronkov, Vampire 1.1, IJCAR'01, pp.376-380, 2001.
DOI : 10.1007/3-540-45744-5_29

J. Smans, B. Jacobs, and F. Piessens, Implicit Dynamic Frames: Combining Dynamic Frames and Separation Logic, ECOOP 2009 ? Object-Oriented Programming, pp.148-172, 2009.
DOI : 10.1007/978-3-540-78163-9_19

J. Smans, B. Jacobs, and F. Piessens, Implicit dynamic frames, ACM Transactions on Programming Languages and Systems, vol.34, issue.1, 2009.
DOI : 10.1145/2160910.2160911

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

A. M. Turing, On computable numbers, with an application to the Entscheidungsproblem, Proc. London Math. Soc, vol.43, pp.544-546, 1937.