Soient H 1 : R symétrique et H 2 : iperm_bij R l 1 l 2 . Grâce à H 1 on obtient f et g tels que : H 3 : bij f g et H 4 : ?i, R (fct l 1 i) ,
(fct l 2 i) (fct l 1 ( f ? i))). On prend f ? := g et g ? := f , et on doit donc prouver deux choses : 1. bij g f : on utilise ,
fct (sons g 2 ) i) On prouve que i = conv H 6 (conv sym H 6 i) (la preuve est immédiate), Il nous reste donc à prouver que Gall P (fct (sons g 2 ) (conv H 6 ,
Soient H 1 : l ? l ? et H 2 : element_of R l g. H 2 nous donne g ? tel que H 3 : g ? ? l et H 4 : Geq R g g ? . On veut prouver que ?y, y ? l ? ? Geq R g y. On prend y := g ? ,
On raisonne par coinduction. Soient H 1 : ?g, P g ? P ? g ? et ,
Soit H 1 : l ? l ? . On veut montrer que : Gall (element_of R l) g ? Gall (element_of R l ? ) g ,
il nous suffit de prouver que ?g ? , element_of R l g ? ? element_of R l ? g ? ,
G_ finite R eq ) l et n et ln tels que l = n, ln. On raisonne par induction sur n. Et on veut montrer que : ?l ? , iall (Gall (element_of R eq l ? )) n, ln [Cas 0] Comme ln est vide (elle est de type ilistn (Graph T) 0), on prend lg := []. On doit montrer que ?i : Fin (lg 0, ln), Gall (element_of R eq []) (fct 0, ln i) Or on a Fin ,
H 1 : G_ finite R g, nous donne l telle que H 2 : Gall (element_of R l) g. On veut prouver que ?m, Gall (?x ,
On applique la règle dir de la Définition 5.4 (Infinite_Graph n a pour fils Infinite_Graph n+1 ) On doit prouver que : Geq eq Infinite_Graph n+1 ,
Soit H 1 : n < m. On raisonne par induction sur m. [Cas 0] Ici H 1 : n < 0 ce qui est faux. [Cas m + 1] L'hypothèse d'induction est IH ,
On va raisonner par induction sur n puis par analyse de cas en se servant de H et de l'hypothèse d'induction. On veut montrer que Preuves 2. x = succ i : d'après la définition de f ? , R x ( f ? x) nous donne R (succ i) ( f i) ,
On veut montrer que : max_list_nat (map f (makeListFin n)) ? f i. D'après le Lemme 5.28, il nous suffit de montrer que : f i ? map f (makeListFin n) Ou encore, d'après un résultat bien connu sur map que i ? makeListFin n ,
Soient H 1 : bij f g et H 2 : IPPGen T. On a P : N ? U ? Prop tel que H 3 : ?n?s, P n s et on veut montrer que : ?s 0 ,
On a P tel que H 2 : ¬¬P et on veut montrer que P est vraie. D'après H 1 , on a deux solutions pour P : [Cas H 3 : P] On ,
sons g 1 ) (sons g 2 ) : d'après le Théorème 4.2, il nous suffit de prouver que : iperm_ind GPerm_mend R (sons g 1 ) ,
34 utilisé avec H 1 , il nous suffit de prouver que iperm_ind R (sons g 1 ) (sons g 2 ) ,
après H 3 . [Direction ?] On raisonne par coinduction avec CH : GPerm_bij_mend R ? GPerm_mend R . D'après la Définition 6, hypothèse GPerm_bij_mend R g 1 g 2 nous donne R telle que : H 1 : R ? GPerm_bij_mend R H 2 : R (label g 1 ) ,
48 utilisé avec H 1 , il nous suffit de prouver que iperm_bij R (sons g 1 ) (sons g 2 ) ,
Soit H 1 : GinGP R g 1 g 2 On raisonne par induction sur H 1 . [Cas de base] On a maintenant H 1 : GPerm_imp R g 1 g 2, Le Lemme 6.3 appliqué à H 1 nous donne H 2 : R (label g 1 ) (label g 2 ) H 3 : iperm_ind GPerm_imp R (sons g 1 ) (sons g 2 ,
21 nous donne i ? tel que H 4 : GPerm_imp R (fct (sons g 1 ) i) (fct (sons g 2 ) i ? ) ,
6.41 151 Graph_in_Graph_ Perm_trans GPerm 741 ,
Constructing polymorphic programs with quotient types, Lecture Notes in Computer Science, vol.3125, pp.2-15 ,
A Polymorphic Lambda-Calculus with Sized Higher-Order Types, Thèse de doctorat, p.36, 2006. ,
The B-book -assigning programs to meanings, 2005. ,
A coalgebraic perspective on minimization and determinization, Proceedings of the Fifteenth International Conference on Foundations of Software Science and Computation structures Lecture Notes in Computer Science, 2012. ,
A formalization of the strong normalization proof for system F in LEGO, BEZEM et GROOTE [17], pp.13-28 ,
Term-graph rewriting via explicit paths, Andrei VORONKOV, éditeur : RTA : International Conference on Rewriting Techniques and Applications RTA Lecture Notes in Computer Science, pp.32-47, 2008. ,
Types for Proofs and Programs, International Workshop TYPES'93, Nijmegen, The Netherlands, Lecture Notes in Computer Science, vol.806, pp.217-219, 1993. ,
Generalised coinduction, Mathematical Structures in Computer Science, vol.13, issue.2, pp.321-348, 2003. ,
Typebased termination of recursive definitions, Mathematical Structures in Computer Science, vol.14, issue.1, pp.97-141, 2004. ,
From coinductive proofs to exact real arithmetic : theory and applications, Logical Methods in Computer Science, vol.7, issue.1, pp.2011-162 ,
Filters on CoInductive Streams, an Application to Eratosthenes??? Sieve, Pawel URZYCZYN, éditeur : TLCA, volume 3461 de Lecture Notes in Computer Science, pp.102-115, 2005. ,
DOI : 10.1007/11417170_9
URL : https://hal.archives-ouvertes.fr/inria-00070658
Interactive Theorem Proving and Program Development Coq'Art : The Calculus of Inductive Constructions. Texts in Theoretical Computer Science, 2004. ,
Inductive and coinductive components of corecursive functions in Coq, 2008. ,
Using structural recursion for corecursion, BERARDI, pp.220-236 ,
Maximum marking problems, Journal of Functional Programming, vol.11, issue.04, pp.411-424, 2001. ,
DOI : 10.1017/S0956796801004038
Specifying in Coq inheritance used in computer algebra, Research report, 2000. ,
An extensible encoding of object-oriented data models in HOL, Journal of Automated Reasoning, vol.41, issue.3-4, pp.219-249, 2008. ,
is Coq being too conservative ? " du Coq club, janvier 2010. https://sympa.inria.fr/sympa, pp.2010-2011 ,
Model checking, 2001. ,
Modeling permutations in Coq for Coccinelle, éditeurs : Rewriting, Computation and Proof, pp.259-269 ,
Infinite objects in type theory, BARENDREGT et NIPKOW [8], pp.62-78 ,
HUET : The calculus of constructions, Inf. Comput, vol.76, issue.23, pp.95-120, 1988. ,
Fundamental properties of infinite trees, Theor. Comput. Sci, vol.25, pp.95-169, 1983. ,
is Coq being too conservative ? " du Coq club, janvier 2010. https://sympa.inria.fr/sympa, pp.2010-2011 ,
Beating the productivity checker using embedded languages, EPTCS, vol.43, pp.29-48, 2010. ,
Bibliothèque standard de l'assistant de preuve Coq, pp.69-70 ,
FAQ de l'assistant de preuve Coq ,
Manuel de référence de l'assistant de preuve Coq. http://coq.inria.fr, pp.1-18 ,
On the productivity of recursive definitions. circulated privately, p.26, 1980. ,
A new representation for exact real numbers, Electr. Notes Theor. Comput. Sci, vol.6, pp.119-132, 1997. ,
Inductive graphs and functional graph algorithms, J. Funct. Program, vol.11, issue.5, pp.467-492, 2001. ,
Inductive and coinductive types with iteration and recursion, Proceedings of the Workshop on Types for Proofs and Programs, pp.193-217, 1992. ,
A unifying approach to recursive and co-recursive definitions, Herman GEUVERS et Freek WIEDIJK, éditeurs : TYPES, volume 2646 de Lecture Notes in Computer Science, pp.148-161, 2002. ,
Unifying recursive and co-recursive definitions in sheaf categories, Igor WALUKIEWICZ, éditeur : FoSSaCS, volume 2987 de Lecture Notes in Computer Science, pp.136-150, 2004. ,
Codifying guarded definitions with recursive schemes, Lecture Notes in Computer Science, vol.996, pp.39-59, 1994. ,
Un Calcul de Constructions Infinies et son application a la vérification de systèmes communicants, Thèse de doctorat, pp.2-22, 1996. ,
A tutorial on [co-]inductive types in Coq, 2007. ,
An intensional characterization of the largest bisimulation, Theor. Comput. Sci, vol.53, pp.335-343, 1987. ,
Guarded induction and weakly final coalgebras in dependent type theory éditeurs : From Sets and Types to Topology and Analysis. Towards Practicable Foundations for Constructive Mathematics, pp.115-134, 2005. ,
Formal objects in type theory using very dependent types, éditeurs : Informal proceedings of Third Workshop on Foundations of Object-Oriented Languages (FOOL 3), 1999. ,
An n log n algorithm for minimizing states in a finite automaton, Theory of machines and computations (Proc. Internat. Sympos, pp.189-196, 1971. ,
A tutorial on (co)algebras and (co)induction, EATCS Bulletin, vol.62, pp.62-222, 1997. ,
SCHWARTZBACH : Graph types, Proc. 20th ACM POPL, pp.196-205, 1993. ,
Programming with streams in Coq -a case study : the sieve of Eratosthenes, BARENDREGT et NIPKOW [8], pp.191-212 ,
A formally verified compiler back-end. CoRR, abs/0902, 2009. ,
Circ : a behavioral verification tool based on circular coinduction, KURZ et al. [51], pp.433-442 ,
Circ : a circular coinductive prover, Till MOSSA, pp.372-378, 2007. ,
Tarski's fixed-point theorem and lambda calculi with monotone inductive types. Synthese, pp.107-129, 2002. ,
The view from the left, J. Funct. Program, vol.14, issue.1, pp.69-111, 2004. ,
Resumptions, weak bisimilarity and big-step semantics for while with interactive i/o : an exercise in mixed induction-coinduction, Luca ACETO et Pawel SOBOCINSKI, pp.57-75, 2010. ,
A proof pearl with the fan theorem and bar induction -walking through infinite trees with mixed induction and coinduction, Hongseok YANG, éditeur : APLAS, volume 7078 de LNCS, pp.353-368 ,
Object-oriented verification based on record subtyping in higher-order logic, Theorem Proving in Higher Order Logics, 1998. ,
A Proof Assistant for Higher-Order Logic. LNCS 2283, 2002. ,
Coinductive field of exact real numbers and general corecursion, Electr. Notes Theor. Comput. Sci, vol.164, issue.1, pp.121-139, 2006. ,
Coalgebraic reasoning in Coq : bisimulation and the lambda-coiteration scheme, BERARDI et al. [11], pp.272-288 ,
Inductive definitions in the system Coq -rules and properties, BEZEM et GROOTE [17], pp.328-345 ,
Circuits as streams in Coq : verification of a sequential multiplier, éditeurs : TYPES, volume 1158 de Lecture Notes in Computer Science, pp.216-230, 1995. ,
Coinductive graph representation : the problem of embedded lists, Rachid ECHAHED, Annegret HABEL et Mohamed MOSBAH, éditeurs : Graph Computation Models, 2010. ,
Coinductive graph representation : the problem of embedded lists, ECEASST, pp.39-2011 ,
Formalisation en Coq, 2012. ,
Permutations in Coinductive Graph Representation, Dirk PATTINSON et Lutz SCHRÖDER, éditeurs : Coalgebraic Methods in Computer Science, 2012. ,
Minimizing finite automata with graph programs, ECEASST, pp.39-2011 ,
Proofs-as-model-transformations, éditeurs : International Conference on Model Transformation, pp.214-228, 2008. ,
Proving properties about lists using containers, Lecture Notes in Computer Science, vol.4989, pp.97-112, 2008. ,
Circular coinduction : a proof theoretical foundation, KURZ et al. [51], pp.127-144 ,
On the productivity of recursive list definitions, ACM Trans. Program. Lang. Syst, vol.11, issue.4, pp.633-649, 1989. ,
Coq 8.2 Reference Manual, chapitre User defined equalities and relations . INRIA TypiCal, 2008. ,
http://www.msr-inria.inria.fr/Projects/math-components ,
A lattice-theoretical fixpoint theorem and its applications, Pacific Journal of Mathematics, vol.5, issue.2, pp.285-309, 1955. ,
Least and greatest fixed points in intuitionistic natural deduction, Theoretical Computer Science, vol.272, pp.315-339, 2002. ,
WRAITH : A note on categorical datatypes, Lecture Notes in Computer Science, vol.389, pp.118-127 ,