Induction, Coinduction, and Fixed Points: A Concise Survey

12/25/2018
by   Moez A. AbdelGawad, et al.
0

In this survey paper (which hitherto is an ongoing work-in-progress) we present the formulation of the induction and coinduction principles using the language and conventions of each of order theory, set theory, programming languages' type theory, first-order logic, and category theory, for the purpose of examining some of the similarities and, more significantly, the dissimilarities between these various mathematical disciplines. Towards that goal we discuss plenty of other related concepts, such as fixed points, pre-fixed points, post-fixed points, inductive sets and types, coinductive sets and types, algebras and coalgebras. Following the set-theoretic formulation of these concepts we present few basic examples from number theory and real analysis that illustrate the concepts more concretely. We conclude our survey by hinting at the possibility of a more abstract and more unified treatment that uses concepts from category theory such as monads and comonads. As a side-benefit of relevance to programming languages theorists in particular, the formulation of these concepts in programming languages type theory involves their separate formulation, first, in the theory of types of functional programming languages and, next, in the theory of types of object-oriented programming languages. Separating these two formulations helps demonstrate one of the fundamental differences between nominal subtyping, predominant in object-oriented programming languages, and structural subtyping, predominant in functional programming languages.

READ FULL TEXT
research
12/25/2018

Induction, Coinduction, and Fixed Points: A Concise Comparative Survey (and Tutorial)

In this survey paper (which hitherto is an ongoing work-in-progress) we ...
research
12/25/2018

Induction, Coinduction, and Fixed Points: A Concise Survey (and Tutorial)

In this survey paper we present the formulation of the induction and coi...
research
02/26/2019

Induction, Coinduction, and Fixed Points in PL Type Theory

Recently we presented a concise survey of the formulation of the inducti...
research
07/13/2023

Typed Design Patterns for the Functional Era

This paper explores how design patterns could be revisited in the era of...
research
01/21/2018

NOOP: A Domain-Theoretic Model of Nominally-Typed OOP

The majority of industrial-strength object-oriented (OO) software is wri...
research
05/15/2018

OOP and its Calculated Measures in Programming Interactivity

This study examines the object oriented programming (OOP) and its calcul...
research
09/16/2018

Exploiting Errors for Efficiency: A Survey from Circuits to Algorithms

When a computational task tolerates a relaxation of its specification or...

Please sign up or login with your details

Forgot password? Click here to reset