La coinducción en informática es un método para determinar y probar las propiedades de los sistemas de objetos que interactúan en paralelo (en general). Desde un punto de vista matemático, es dual a la inducción estructural .
Como definición o especificación , la coinducción describe un método por el cual un objeto se puede dividir en objetos más simples. Como técnica de demostración matemática, se puede utilizar la coinducción para demostrar que todos los requisitos establecidos por la especificación se pueden satisfacer para algún nombre en clave .
En programación, el paradigma ecológico es una extensión natural de la programación lógica y la coinducción que también generaliza otras extensiones de la programación lógica, como árboles infinitos , predicados perezosos y predicados de interacción paralela. La programación ecológica tiene aplicaciones en las áreas de árboles racionales, demostrando propiedades infinitas, evaluación perezosa, inferencia paralela, verificación de modelos, etc.
Codata es una entidad dual a los datos . Los datos de código son contenedores potencialmente infinitos que pueden contener tanto elementos de datos como de datos de código. El mecanismo de correcursión se usa para operar con codatos , la coinducción se usa para probar las propiedades de los codatos (en analogía directa con los datos, para lo cual se usan la recursión y la inducción , respectivamente).