Categorical Liveness Checking by Corecursive Algebras

Total Page:16

File Type:pdf, Size:1020Kb

Categorical Liveness Checking by Corecursive Algebras Categorical Liveness Checking by Corecursive Algebras Natsuki Urabe∗ Masaki Hara Ichiro Hasuo Dept. Computer Science, The University of Tokyo, Japan National Institute of Informatics, Japan {urabenatsuki, qnighy}@is.s.u-tokyo.ac.jp [email protected] ∗JSPS Research Fellow Abstract—Final coalgebras as “categorical greatest fixed using a ranking function [4]. For a two-player game, a ranking points” play a central role in the theory of coalgebras. Somewhat function is typically defined as a function b : X → N∞, from analogously, most proof methods studied therein have focused the state space X to the set N = N ∪ {∞}, that satisfies on greatest fixed-point properties like safety and bisimilarity. ∞ Here we make a step towards categorical proof methods for the following conditions: (i) for each non-accepting state x of ′ least fixed-point properties over dynamical systems modeled as the angelic player, there exists a successor state x such that coalgebras. Concretely, we seek a categorical axiomatization of b(x) ≥ b(x′)+1; and (ii) for each non-accepting state y of the well-known proof methods for liveness, namely ranking functions demonic player, we have b(y) ≥ b(y′)+1 for each successor (in nondeterministic settings) and ranking supermartingales (in state y′ of y. It is known that soundness holds: existence probabilistic ones). We find an answer in a suitable combination of coalgebraic simulation (studied previously by the authors) and of a ranking function b such that b(x) < ∞ implies that, corecursive algebra as a classifier for (non-)well-foundedness. regardless of the demonic player’s choice, the angelic player can construct a path x = x0 →x1 →· · · that eventually reaches I. INTRODUCTION an accepting state. The well-foundedness of N is crucial here: A. Backgrounds we have b(xi) >b(xi+1) for each i before an accepting state is reached; and an infinite descending chain is impossible in N. Verification of liveness, much like that of safety, is a For example, in the two-player game in (2), the ranking func- prototypical problem that underlines verification of more com- tion b = [x0 7→ 5, x1 7→ 0, x2 7→ 4, x3 7→ 1, x4 7→ 3, x5 7→ 2] plex alternating fixed-point specifications. Liveness means that ensures that x1 is reachable from x0. Intuitively, the value b(x) something “good” eventually occurs, while safety means that bounds the number of steps from x to an accepting state. anything “bad” never occurs. 2) Ranking Supermartingales: One can ✉x1 x1 x3 x5 1 O 1) Ranking Functions: As an exam- 1 ✉o ÈÉ o ÈÉ consider liveness checking problems also for 2 ple, suppose that we are given a transition O O 2 probabilistic systems. A typical example is ÈÉ x0 (3) ; O system as in the figure (1). Here x1 is / ÈÉ / ÈÉ / ÈÉ (1) the almost-sure reachability problem: let us an accepting state that represents a good x0 x2 x4 consider the probabilistic transition system (PTS) as in the event. The reachability problem—a typical example of liveness figure (3). In the almost-sure reachability problem, we want checking problems—asks the following: “Does there exist a to know if the accepting state x1 is reached with probability path from the initial state x0 to x1?” The answer is yes: x1 1. In the PTS in (3), the answer is yes, though there exists is reachable by the path → x0 → x2 → x3 → x1. Note that the a path that does not visit any accepting state at all (namely path does not refer to the states x4 and x5. arXiv:1704.04872v1 [cs.LO] 17 Apr 2017 x x x → x0 → x0 → · · · , but this occurs with probability 0). In the example above, we assumed ✉1 ÈÉ 3 ÈÉ 5 o O o O A notion analogous to that of ranking function is also that the system is controlled in an an- known for probabilistic systems, namely ranking supermartin- gelic manner: we can choose the next / ÈÉ / / ÈÉ (2) gales [5], [6]. For a fixed positive real ε> 0, an (ε-additive) state to eventually reach a good state. x0 x2 x4 ranking supermartingale is a function b′ : X → [0, ∞], from However, real-world systems often contain demonic branching, the state space X to the set [0, ∞] of extended non-negative too, where the next state is chosen to avoid a good state. real numbers, that satisfies the following condition. Such a system can be modeled as a two-player game played by angelic and demonic players. The figure (2) illustrates an ′ ′ ′ ′ ∀x ∈ X \ Acc. b (x) ≥ x′∈X Prob(x→x ) · b (x ) + ε example. At the state x the next move is chosen by the 2 demonic player. The answer to the reachability problem is Here Prob(x → x′) denotesP the probability with which the ′ again yes: no matter if x3 or x4 is chosen as the successor of system makes a transition from x to x . This means that for ′ x2, the angelic player can force reaching x1 (by → x3 → x1 each state x ∈ X, the expected value of b decreases by at least and → x4 → x5 → x3 → x1). ε after a transition. The existence of a ranking supermartingale Numerous methods are known for such liveness checking b′ such that b′(x) < ∞ implies that the expected value of problems (e.g. [1], [2], [3]). A well-known method is the one the number of steps from x to an accepting state is finite functor F c : X → F X represents ( )Σ × {0, 1} deterministic automaton coalgebra-algebra homomorphism (|c|)r (see the diagram). P2( ) × {0, 1} two-player game Corecursive algebras have been previously used to describe D( ) × {0, 1} probabilistic transition system (PTS) general structured corecursion [13] (see also Rem. II.17). Our Fig. 1. Coalgebraic representations of transition systems. Here P and D use of them in this paper seems novel: r being corecursive denote the powerset and the distribution functors respectively (Def. II.15). means that the function Φc,r : f 7→ r◦Ff ◦c has a unique fixed point; in particular its least and greatest fixed points coincide1; (specifically it is no bigger than b′(x)/ε). From this it easily we find this feature of corecursive algebras suited for their use follows that an accepting state is visited almost surely. as categorical “classifiers” for (non-)well-foundedness. 3) Coalgebras and Algebras: This paper aims to under- 2) Modalities and Least Fixed-Point Properties: Liveness stand, in the categorical terms of (co)algebra, essences of properties such as reachability and termination are all instances liveness checking methods like ranking functions and ranking of least fixed-point properties: once a proper modality ♥σ is supermartingales. Coalgebras are commonly used for mod- fixed, the property in question is described by a least fixed- eling state-based dynamics in the categorical language (see point formula µu. ♥σu. The way we categorically formulate e.g. [7], [8]). Formally, for an endofunctor F over a category these constructs, as shown below, is nowadays standard (see C, an F -coalgebra is an arrow c of the type c : X → FX. e.g. [17], [18]). As the base category C we use Sets in this We can regard X as a state space, F as a specification paper (although extensions e.g. to Meas would not be hard). of the branching type, and c : X → FX as a transition • We fix a domain Ω ∈ C of truth values (e.g. Ω= {0, 1}), function. By changing the functor F we can represent various and a property over X ∈ C is an arrow u: X → Ω. kinds of transition types (see Fig. 1). It is also known that, • A (state-based, dynamical) system is a coalgebra c: X → using coalgebras, we can generalize various automata-theoretic FX for a suitable functor F : C → C. 2 notions and techniques (such as behavioral equivalence [9], • A modality ♥σ is interpreted as an F -algebra σ : F Ω → bisimulation [10] and simulation [11]) to various systems (e.g. Ω over Ω (see Example III.4 and Prop. IV.2 for examples). nondeterministic, probabilistic, and weighted ones). • Assuming some syntax is given, we should be able to A dual notion, i.e. an arrow of type a : FX → X, is known derive the interpretation ♥σϕ c of a modal formula from as an F -algebra. In this paper, it is used to capture properties ϕ c. In the current (purelyJ semantical)K framework this (or predicates) over a system represented as a coalgebra. goesJ K as follows. Given a property u: X → Ω, we define the property Φc,σ(u): X → Ω by the composite B. Contributions c F u σ We contribute a categorical axiomatization of “ranking Φc,σ(u) = X → FX → F Ω → Ω . functions” that is behind the well-known methods that we have • Assuming a suitable order structure ⊑ on Ω and ad- corecursive algebras Ω sketched. It combines: as value domains ditional monotonicity requirements, the correspondence (that are, like N , suited to detect well-foundedness) and lax ∞ Φ : ΩX → ΩX has the least fixed point. It is denoted homomorphisms (like in coalgebraic simulations [11], [12]). c,σ by µσ : X → Ω; intuitively it is the interpretation Based on the axiomatization we develop a general theory; our c µu.J♥σKu c of the formula µu. ♥σu in the system c. main result is soundness, i.e. that existence of a categorical J K ranking function indeed witnesses liveness (identified with Concrete examples are in §III-B. Another standard categorical modeling of a modality (see e.g. [19]) is by a predicate lifting, a least fixed-point property).
Recommended publications
  • CTL Model Checking
    CTL Model Checking Prof. P.H. Schmitt Institut fur¨ Theoretische Informatik Fakult¨at fur¨ Informatik Universit¨at Karlsruhe (TH) Formal Systems II Prof. P.H. Schmitt CTLMC Summer 2009 1 / 26 Fixed Point Theory Prof. P.H. Schmitt CTLMC Summer 2009 2 / 26 Fixed Points Definition Definition Let f : P(G) → P(G) be a set valued function and Z a subset of G. 1. Z is called a fixed point of f if f(Z) = Z . 2. Z is called the least fixed point of f is Z is a fixed point and for all other fixed points U of f the relation Z ⊆ U is true. 3. Z is called the greatest fixed point of f is Z is a fixed point and for all other fixed points U of f the relation U ⊆ Z is true. Prof. P.H. Schmitt CTLMC Summer 2009 3 / 26 Finite Fixed Point Lemma Let G be an arbitrary set, Let P(G) denote the power set of a set G. A function f : P(G) → P(G) is called monotone of for all X, Y ⊆ G X ⊆ Y ⇒ f(X) ⊆ f(Y ) Let f : P(G) → P(G) be a monotone function on a finite set G. 1. There is a least and a greatest fixed point of f. S n 2. n≥1 f (∅) is the least fixed point of f. T n 3. n≥1 f (G) is the greatest fixed point of f. Prof. P.H. Schmitt CTLMC Summer 2009 4 / 26 Proof of part (2) of the finite fixed point Lemma Monotonicity of f yields ∅ ⊆ f(∅) ⊆ f 2(∅) ⊆ ..
    [Show full text]
  • Least Fixed Points Revisited
    LEAST FIXED POINTS REVISITED J.W. de Bakker Mathematical Centre, Amsterdam ABSTRACT Parameter mechanisms for recursive procedures are investigated. Con- trary to the view of Manna et al., it is argued that both call-by-value and call-by-name mechanisms yield the least fixed points of the functionals de- termined by the bodies of the procedures concerned. These functionals dif- fer, however, according to the mechanism chosen. A careful and detailed pre- sentation of this result is given, along the lines of a simple typed lambda calculus, with interpretation rules modelling program execution in such a way that call-by-value determines a change in the environment and call-by- name a textual substitution in the procedure body. KEY WORDS AND PHRASES: Semantics, recursion, least fixed points, parameter mechanisms, call-by-value, call-by-name, lambda calculus. Author's address Mathematical Centre 2e Boerhaavestraat 49 Amsterdam Netherlands 28 NOTATION Section 2 s,t,ti,t',... individual } function terms S,T,... functional p,p',... !~individual} boolean .J function terms P,... functional a~A, aeA} constants b r B, IBeB x,y,z,u X, ~,~ X] variables qcQ, x~0. J r149149 procedure symbols T(t I ..... tn), ~(tl,.-.,tn) ~ application T(TI' '~r)' P(~I' '~r)J ~x I . .xs I . .Ym.t, ~x] . .xs I . .ym.p, abstraction h~l ...~r.T, hX1 ..Xr.~ if p then t' else t"~ [ selection if p then p' else p"J n(T), <n(T),r(r)> rank 1 -< i <- n, 1 -< j -< r,) indices 1 -< h -< l, 1 _< k <- t,T,x,~, .
    [Show full text]
  • Domain Theory: an Introduction
    Domain Theory: An Introduction Robert Cartwright Rebecca Parsons Rice University This monograph is an unauthorized revision of “Lectures On A Mathematical Theory of Computation” by Dana Scott [3]. Scott’s monograph uses a formulation of domains called neighborhood systems in which finite elements are selected subsets of a master set of objects called “tokens”. Since tokens have little intuitive significance, Scott has discarded neighborhood systems in favor of an equivalent formulation of domains called information systems [4]. Unfortunately, he has not rewritten his monograph to reflect this change. We have rewritten Scott’s monograph in terms of finitary bases (see Cartwright [2]) instead of information systems. A finitary basis is an information system that is closed under least upper bounds on finite consistent subsets. This convention ensures that every finite answer is represented by a single basis object instead of a set of objects. 1 The Rudiments of Domain Theory Motivation Programs perform computations by repeatedly applying primitive operations to data values. The set of primitive operations and data values depends on the particular programming language. Nearly all languages support a rich collection of data values including atomic objects, such as booleans, integers, characters, and floating point numbers, and composite objects, such as arrays, records, sequences, tuples, and infinite streams. More advanced languages also support functions and procedures as data values. To define the meaning of programs in a given language, we must first define the building blocks—the primitive data values and operations—from which computations in the language are constructed. Domain theory is a comprehensive mathematical framework for defining the data values and primitive operations of a programming language.
    [Show full text]
  • Arxiv:1301.2793V2 [Math.LO] 18 Jul 2014 Uaeacnetof Concept a Mulate Fpwrbet Uetepwre Xo) N/Rmk S Ff of Use Make And/Or Axiom), Presupp Principles
    ON TARSKI’S FIXED POINT THEOREM GIOVANNI CURI To Orsola Abstract. A concept of abstract inductive definition on a complete lattice is formulated and studied. As an application, a constructive version of Tarski’s fixed point theorem is obtained. Introduction The fixed point theorem referred to in this paper is the one asserting that every monotone mapping on a complete lattice L has a least fixed point. The proof, due to A. Tarski, of this result, is a simple and most significant example of a proof that can be carried out on the base of intuitionistic logic (e.g. in the intuitionistic set theory IZF, or in topos logic), and that yet is widely regarded as essentially non-constructive. The reason for this fact is that Tarski’s construction of the fixed point is highly impredicative: if f : L → L is a monotone map, its least fixed point is given by V P , with P ≡ {x ∈ L | f(x) ≤ x}. Impredicativity here is found in the fact that the fixed point, call it p, appears in its own construction (p belongs to P ), and, indirectly, in the fact that the complete lattice L (and, as a consequence, the collection P over which the infimum is taken) is assumed to form a set, an assumption that seems only reasonable in an intuitionistic setting in the presence of strong impredicative principles (cf. Section 2 below). In concrete applications (e.g. in computer science and numerical analysis) the monotone operator f is often also continuous, in particular it preserves suprema of non-empty chains; in this situation, the least fixed point can be constructed taking the supremum of the ascending chain ⊥,f(⊥),f(f(⊥)), ..., given by the set of finite iterations of f on the least element ⊥.
    [Show full text]
  • First Order Logic, Fixed Point Logic and Linear Order Anuj Dawar University of Pennsylvania
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by ScholarlyCommons@Penn University of Pennsylvania ScholarlyCommons IRCS Technical Reports Series Institute for Research in Cognitive Science November 1995 First Order Logic, Fixed Point Logic and Linear Order Anuj Dawar University of Pennsylvania Steven Lindell University of Pennsylvania Scott einsW tein University of Pennsylvania, [email protected] Follow this and additional works at: http://repository.upenn.edu/ircs_reports Dawar, Anuj; Lindell, Steven; and Weinstein, Scott, "First Order Logic, Fixed Point Logic and Linear Order" (1995). IRCS Technical Reports Series. 145. http://repository.upenn.edu/ircs_reports/145 University of Pennsylvania Institute for Research in Cognitive Science Technical Report No. IRCS-95-30. This paper is posted at ScholarlyCommons. http://repository.upenn.edu/ircs_reports/145 For more information, please contact [email protected]. First Order Logic, Fixed Point Logic and Linear Order Abstract The Ordered conjecture of Kolaitis and Vardi asks whether fixed-point logic differs from first-order logic on every infinite class of finite ordered structures. In this paper, we develop the tool of bounded variable element types, and illustrate its application to this and the original conjectures of McColm, which arose from the study of inductive definability and infinitary logic on proficient classes of finite structures (those admitting an unbounded induction). In particular, for a class of finite structures, we introduce a compactness notion which yields a new proof of a ramified version of McColm's second conjecture. Furthermore, we show a connection between a model-theoretic preservation property and the Ordered Conjecture, allowing us to prove it for classes of strings (colored orderings).
    [Show full text]
  • Characterizations of Inductive Posets with Applications Milan R
    PROCEEDINGS OF THE AMERICAN MATHEMATICAL SOCIETY Volume 104, Number 2, October 1988 CHARACTERIZATIONS OF INDUCTIVE POSETS WITH APPLICATIONS MILAN R. TASKOVIC (Communicated by Andrew Odlyzko) ABSTRACT. This paper presents new characterizations of inductiveness of posets in terms of fixed apexes and fixed points. Applications in nonlinear functional analysis and fixed point theory are considered. 1. Introduction and main results. Let P be a partially ordered set. A self- mapping / of P into itself is called an isotone mapping if x < y implies f(x) < f(y). An isotone (order-preserving or increasing) map / of a partially ordered set (:= poset) P to itself has a fixed point if there exists an element f in P such that /(£) — f. P is said to have the fixed point property if every isotone map / of P into itself has a fixed point. The first of the fixed point theorems for partially ordered sets goes back to Tarski and Knaster (cf. [TA]), who proved that the lattice of all subsets of a set has the fixed point property. In the mid-1950's Tarski [TA] published a generalization: Every complete lattice has the fixed point property. Tarski [TA] raised the question whether the converse of this result also holds. Davis [DA] proved the converse: Every lattice with the fixed point property is complete. In [RI], Rival published a far-reaching extension: Every isotone map of a finite, connected poset P into itself has a fixpoint. Call a poset P inductive (chain-complete) when every nonempty chain in P has an upper bound (supremum) in P.
    [Show full text]
  • Corecursive Algebras: a Study of General Structured Corecursion (Extended Abstract)
    Corecursive Algebras: A Study of General Structured Corecursion (Extended Abstract) Venanzio Capretta1, Tarmo Uustalu2, and Varmo Vene3 1 Institute for Computer and Information Science, Radboud University Nijmegen 2 Institute of Cybernetics, Tallinn University of Technology 3 Department of Computer Science, University of Tartu Abstract. We study general structured corecursion, dualizing the work of Osius, Taylor, and others on general structured recursion. We call an algebra of a functor corecursive if it supports general structured corecur- sion: there is a unique map to it from any coalgebra of the same functor. The concept of antifounded algebra is a statement of the bisimulation principle. We show that it is independent from corecursiveness: Neither condition implies the other. Finally, we call an algebra focusing if its codomain can be reconstructed by iterating structural refinement. This is the strongest condition and implies all the others. 1 Introduction A line of research started by Osius and Taylor studies the categorical foundations of general structured recursion. A recursive coalgebra (RCA) is a coalgebra of a functor F with a unique coalgebra-to-algebra morphism to any F -algebra. In other words, it is an algebra guaranteeing unique solvability of any structured recursive diagram. The notion was introduced by Osius [Osi74] (it was also of interest to Eppendahl [Epp99]; we studied construction of recursive coalgebras from coalgebras known to be recursive with the help of distributive laws of functors over comonads [CUV06]). Taylor introduced the notion of wellfounded coalgebra (WFCA) and proved that, in a Set-like category, it is equivalent to RCA [Tay96a,Tay96b],[Tay99, Ch.
    [Show full text]
  • Type-Based Termination, Inflationary Fixed-Points, and Mixed Inductive-Coinductive Types
    Type-Based Termination, Inflationary Fixed-Points, and Mixed Inductive-Coinductive Types Andreas Abel Department of Computer Science Ludwig-Maximilians-University Munich, Germany [email protected] Type systems certify program properties in a compositional way. From a bigger program one can abstract out a part and certify the properties of the resulting abstract program by just using the type of the part that was abstracted away. Termination and productivity are non-trivial yet desired pro- gram properties, and several type systems have been put forward that guarantee termination, com- positionally. These type systems are intimately connected to the definition of least and greatest fixed-points by ordinal iteration. While most type systems use “conventional” iteration, we consider inflationary iteration in this article. We demonstrate how this leads to a more principled type system, with recursion based on well-founded induction. The type system has a prototypical implementa- tion, MiniAgda, and we show in particular how it certifies productivity of corecursive and mixed recursive-corecursive functions. 1 Introduction: Types, Compositionality, and Termination While basic types like integer, floating-point number, and memory address arise on the machine-level of most current computers, higher types like function and tuple types are abstractions that classify values. Higher types serve to guarantee certain good program behaviors, like the classic “don’t go wrong” ab- sence of runtime errors [Mil78]. Such properties are usually not compositional, i. e., while a function f and its argument a might both be well-behaved on their own, their application f a might still go wrong. This issue also pops up in termination proofs: take f = a = λx.xx, then both are terminating, but their application loops.
    [Show full text]
  • Least and Greatest Fixed Points in Linear Logic
    Least and Greatest Fixed Points in Linear Logic DAVID BAELDE, University of Minnesota The first-order theory of MALL (multiplicative, additive linear logic) over only equalities is a well-structured 2 but weak logic since it cannot capture unbounded (infinite) behavior. Instead of accounting for unbounded behavior via the addition of the exponentials (! and ?), we add least and greatest fixed point operators. The resulting logic, which we call μMALL, satisfies two fundamental proof theoretic properties: we establish weak normalization for it, and we design a focused proof system that we prove complete with respect to the initial system. That second result provides a strong normal form for cut-free proof structures that can be used, for example, to help automate proof search. We show how these foundations can be applied to intuitionistic logic. Categories and Subject Descriptors: F.4.1 [Mathematical Logic and Formal Languages]: Mathematical Logic—Proof theory; F.3.1 [Logics and Meanings of Programs]: Specifying and Verifying and Reasoning about Programs—Specification techniques; F.3.3 [Logics and Meanings of Programs]: Studies of Program Constructs—Program and recursion schemes General Terms: Design, Theory, Verification Additional Key Words and Phrases: Fixed points, linear logic, (co)induction, recursive definitions, cut elimination, normalization, focusing, proof search ACM Reference Format: Baelde, D. 2012. Least and greatest fixed points in linear logic. ACM Trans. Comput. Logic 13, 1, Article 2 (January 2012), 44 pages. DOI = 10.1145/2071368.2071370 http://doi.acm.org/10.1145/2071368.2071370 1. INTRODUCTION Inductive and coinductive definitions are ubiquitous in mathematics and computer sci- ence, from arithmetic to operational semantics and concurrency theory.
    [Show full text]
  • Fixed-Point Logics and Computation
    1 Fixed-Point Logics and Computation Symposium on the Unusual E®ectiveness of Logic in Computer Science Anuj Dawar University of Cambridge Anuj Dawar ICLMPS'03 2 Mathematical Logic Mathematical logic seeks to formalise the process of mathematical reasoning and turn this process itself into a subject of mathematical enquiry. It investigates the relationships among: Structure ² Language ² Proof ² Proof-theoretic vs. Model-theoretic views of logic. Anuj Dawar ICLMPS'03 3 Computation as Logic If logic aims to reduce reasoning to symbol manipulation, On the one hand, computation theory provides a formalisation of \symbol manipulation". On the other hand, the development of computing machines leads to \logic engineering". The validities of ¯rst-order logic are r.e.-complete. Anuj Dawar ICLMPS'03 4 Proof Theory in Computation As all programs and data are strings of symbols in a formal system, one view sees all computation as inference. For instance, the functional programming view: Propositions are types. ² Programs are (constructive proofs). ² Computation is proof transformation. ² Anuj Dawar ICLMPS'03 5 Model Theory in Computation A model-theoretic view of computation aims to distinguish computational structures and languages used to talk about them. Data Structure Programming Language Database Query Language Program/State Space Speci¯cation Language The structures involved are rather di®erent from those studied in classical model theory. Finite Model Theory. Anuj Dawar ICLMPS'03 6 First-Order Logic terms { c; x; f(t1; : : : ; ta) atomic formulas { R(t1; : : : ; ta); t1 = t2 boolean operations { ' Ã, ' Ã, ' ^ _ : ¯rst-order quanti¯ers { x', x' 9 8 Formulae are interpreted in structures: A = (A; R1; : : : ; Rm; f1; : : : ; fn; c1; : : : ; cn) Anuj Dawar ICLMPS'03 7 Success of First-Order Logic First-order logic is very successful at its intended purpose, the formalisation of mathematics.
    [Show full text]
  • Chapter 10 DOMAIN THEORY and FIXED-POINT SEMANTICS
    Chapter 10 DOMAIN THEORY AND FIXED-POINT SEMANTICS lthough we did not stress the point in Chapter 9, the notation of denotational semantics is built upon that of the lambda calculus. The A purpose of denotational semantics is to provide mathematical descrip- tions of programming languages independent of their operational behavior. The extended lambda calculus serves as a mathematical formalism, a metalanguage, for denotational definitions. As with all mathematical formal- isms, we need to know that the lambda calculus has a model to ensure that the definitions are not meaningless. Furthermore, denotational definitions, as well as programming languages in general, rely heavily on recursion, a mechanism whose description we de- ferred in the discussion of the lambda calculus in Chapter 5. Normally a user of a programming language does not care about the logical foundations of declarations, but we maintain that serious questions can be raised concern- ing the validity of recursion. In this chapter we justify recursive definitions to guarantee that they actually define meaningful objects. 10.1 CONCEPTS AND EXAMPLES Programmers use recursion to define functions and procedures as subpro- grams that call themselves and also to define recursive data structures. Most imperative programming languages require the use of pointers to declare recursive data types such as (linked) lists and trees. In contrast, many func- tional programming languages allow the direct declaration of recursive types. Rather than investigating recursive types in an actual programming language, we study recursive data declarations in a wider context. In this introductory section we consider the problems inherent in recursively defined functions and data and the related issue of nontermination.
    [Show full text]
  • Corecursion and Coinduction: How They Relate to Recursion and Induction
    Corecursion and coinduction: what they are and how they relate to recursion and induction Mike Gordon 1 Contents Preface 3 Summary 4 Data, codata, constructors and destructors ............... 4 Recursion and corecursion ......................... 5 Fixed points, induction, coinduction and bisimulation ......... 7 Overview of the rest of this article .................... 9 Natural numbers, Peano’s axioms and Peano structures 10 Algebras and coalgebras 11 Numbers and conumbers .......................... 12 Example of corecursion for numbers ................... 14 Lists and colists ............................... 15 Example of corecursion for lists ...................... 17 Coinduction and bisimulation 19 Bisimulation coinduction for conumbers ................. 20 Example of bisimulation coinduction for numbers ..... 20 Justification of bisimulation coinduction for numbers ... 21 Bisimulation coinduction for lists ..................... 22 Examples of bisimulation coinduction for lists ....... 22 Justification of bisimulation coinduction for lists ..... 27 F-algebras and F-coalgebras 28 Set theory notation ............................. 29 Numbers and lists ............................. 29 Morphisms ................................. 30 Initial and terminal algebras ........................ 32 Least and greatest fixed points 32 Fixed points, numbers and conumbers .................. 33 Summary of fixed point proof rules for numbers and conumbers .... 34 Fixed points, lists and colists ....................... 34 Summary of fixed point proof rules
    [Show full text]