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

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, and the intuitions behind them, 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 Survey

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

Induction, Coinduction, and Fixed Points: A Concise Comparative Survey

In this survey article (which hitherto is an ongoing work-in-progress) w...
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
01/04/2023

Implementation of hyperbolic complex numbers in Julia language

Background: Hyperbolic complex numbers are used in the description of hy...
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
09/05/2018

Covariance and Controvariance: a fresh look at an old issue (a primer in advanced type systems for learning functional programmers)

Twenty years ago, in an article titled "Covariance and contravariance: c...
research
05/15/2018

OOP and its Calculated Measures in Programming Interactivity

This study examines the object oriented programming (OOP) and its calcul...

Please sign up or login with your details

Forgot password? Click here to reset