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 à ,
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 )) ,
Supposons que l'on prenne U = {I}. Par produit alors les deux formules (par Par [ ] et Par ,
?, 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 ,
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 ,
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 ,
*@ #pragma : sep_istree_istree(istree,istree) inductive istree(struct tree * p){ case leave{L} : ? struct tree * p, p.p == null ? istree ,
26 3.2. Syntaxe d'entrée de mini, p.30 ,
ACSL : ANSI/ISO C Specification Language, 2008. ,
Symbolic Execution with Separation Logic, Programming Languages and Systems, pp.52-68, 2005. ,
DOI : 10.1007/11575467_5
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
Nearly all binary searches and mergesorts are broken, 2006. ,
The Alt-Ergo automated theorem prover, 2008. ,
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
The Why3 platform. LRI, CNRS & Univ. Paris-Sud & INRIA Saclay, version 0, 2011. ,
URL : https://hal.archives-ouvertes.fr/hal-00822856
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
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. ,
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
Shape analysis with structural invariant checkers, Static Analysis, pp.384-401, 2007. ,
Relational inductive shape analysis, Proceedings of the 35th annual symposium on Principles of programming languages, POPL '08, pp.247-260, 2008. ,
Analysis of pointers and structures, ACM SIGPLAN Notices, vol.25, issue.6, pp.296-310, 1990. ,
DOI : 10.1145/93548.93585
An Unsolvable Problem of Elementary Number Theory, American Journal of Mathematics, vol.58, issue.2, pp.345-363, 1936. ,
DOI : 10.2307/2371045
Sort it out with monotonicity -translating between many-sorted and unsorted first-order logic, CADE, pp.207-221, 2011. ,
Handling Polymorphism in Automated Deduction, CADE-21, pp.263-278, 2007. ,
DOI : 10.1007/978-3-540-73595-3_18
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
Combinatory Logic II, of Studies in Logic and the Foundations of Mathematics, 1972. ,
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
Z3 : An efficient SMT solver, TA- CAS'08, pp.337-340, 2008. ,
Simplify: a theorem prover for program checking, Journal of the ACM, vol.52, issue.3, pp.365-473, 2005. ,
DOI : 10.1145/1066100.1066102
A discipline of programming. Series in Automatic Computation, 1976. ,
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
Multi-prover Verification of C Programs, ICFEM'04, pp.15-29, 2004. ,
DOI : 10.1007/978-3-540-30482-1_10
An axiomatic basis for computer programming, Communications of the ACM, vol.12, issue.10, pp.576-580, 1969. ,
DOI : 10.1145/363235.363259
Separation analysis for deductive verification, Heap Analysis and Verification, pp.81-93, 2007. ,
The Zipper, Journal of Functional Programming, vol.7, issue.5, 1997. ,
DOI : 10.1017/S0956796897002864
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
First-order proof tactics in higher-order logic theorem provers, Design and Application of Strategies/Tactics in Higher Order Logics, pp.56-68, 2003. ,
Bi as an assertion language for mutable data structures, POPL, pp.14-26, 2001. ,
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
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
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. ,
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
Dynamic Frames: Support for Framing, Dependencies and Sharing Without Restrictions, FM 2006 : Formal Methods, pp.268-283, 2006. ,
DOI : 10.1007/11813040_19
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
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. ,
Jessie, Proceedings of the 2007 workshop on Programming languages meets program verification , PLPV '07, pp.1-2, 2007. ,
DOI : 10.1145/1292597.1292598
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
A theory of type polymorphismn programming, Journal of Computer and System Sciences, vol.17, 1978. ,
Union and cast in deductive verification, Proceedings of the C, pp.1-16, 2007. ,
Inferring local (non-)aliasing and strings for memory safety, Heap Analysis and Verification (HAV'07), pp.35-51, 2007. ,
Isabelle/HOL ? A Proof Assistant for Higher-Order Logic, LNCS, vol.2283, 2002. ,
Abstract, Bulletin of Symbolic Logic, vol.two, issue.02, pp.215-244, 1999. ,
DOI : 10.1016/0304-3975(93)90181-R
Ü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. ,
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
Intuitionistic reasoning about shared mutable data structure, Millennial Perspectives in Computer Science, pp.303-321, 2000. ,
Vampire 1.1, IJCAR'01, pp.376-380, 2001. ,
DOI : 10.1007/3-540-45744-5_29
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
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
On computable numbers, with an application to the Entscheidungsproblem, Proc. London Math. Soc, vol.43, pp.544-546, 1937. ,