## Γ ⊢ πM: A

### Abstract

Abstract. We make an argument that, for any study involving computational effects such as divergence or continuations, the traditional syntax of simply typed lambda-calculus cannot be regarded as canonical, because standard arguments for canonicity rely on isomorphisms that may not exist in an effectful setting. To remedy this, we define a “jumbo lambda-calculus ” that fuses the traditional connectives together into more general ones, so-called “jumbo connectives”. We provide two pieces of evidence for our thesis that the jumbo formulation is advantageous. Firstly, we show that the jumbo lambda-calculus provides a “complete” range of connectives, in the sense of including every possible connective that, within the beta-eta theory, possesses a reversible rule. Secondly, in the presence of effects, we see that there is no decomposition of jumbo connectives into non-jumbo ones that is valid in both call-byvalue and call-by-name. Finally, we apply the concept of jumbo connectives to systems with isorecursive types (Jumbo FPC) and multiple conclusions (Jumbo LK). At each stage, we see that various connectives proposed in the literature are special cases of the jumbo connectives. 1 Canonicity and Connectives According to many authors [GLT88,LS86,Pit00], the “canonical ” simply typed λ-calculus possesses the following types: A:: = 0 | A + A | 1 | A × A | A → A (1) There are two variants of this calculus. In some texts [GLT88,LS86] the × connective (type constructor) is a projection product, with elimination rules

### Citations

441 | Computational lambda-calculus and monads
- Moggi
- 1989
(Show Context)
Citation Context ...ne argument {#sole.A ⊢ B} ( −→ � −→ A) → B type of functions with n arguments {#sole. A ⊢ B} � bool {#true.ǫ,#false.ǫ} � groundI ground type with I elements {ǫ}i∈I TA studied in call-by-value setting =-=[Mog89]-=- � {#sole. ⊢ A} LA studied in call-by-name setting [McC96a] � {#sole.A} To make this more systematic, define a jumbo-arity to be a countable family of natural numbers {ni}i∈I. Then both � and � provid... |

427 | Introduction to higher order categorical logic - Lambek, Scott - 1986 |

239 |
The formal semantics of Programming languages
- Winskel
- 1993
(Show Context)
Citation Context ...ary variant) or over all countable sets (for the infinitely wide variant), −→ A indicates a finite sequence of types, | −→ A | is its length, and $n (for n ∈ N) is the set {0,...,n − 1}. As in, e.g., =-=[Win93]-=-, we include a construct let to make a binding, although this can be desugared in various ways. (4) (5)sTypes A ::= P { −→ A i}i∈I | Q { −→ A i ⊢ Ai}i∈I Terms Γ,x : A,Γ ′ ⊢ x : A î ∈ I Γ ⊢ Nj : Aîj (∀... |

161 | The duality of computation
- Curien, Herbelin
- 2000
(Show Context)
Citation Context ...s { A i ⊢}i∈I � −→ { A i ⊢ B}i∈I � −→ { A i ⊢ B}i∈I from jumbo λ-calculus � i∈IAi � as in Sect. 2.4 {Ai ⊢}i∈I � i∈IAi � as in Sect. 2.4 {⊢ Ai}i∈I � A → B as in Sect. 2.4 {A ⊢ B}i∈1 � A − B studied in =-=[CH00]-=- {A ⊢ B}i∈1 � A × B as in Sect. 2.4 {A,B ⊢}i∈1 A ∨ B in call-by-name λµν-calculus [PR01] � {⊢ A,B}i∈1 � ¬B left version {⊢ B}i∈1 � ¬B right version {B ⊢}i∈1 As in Sect. 2.4, we define an LK jumbo-arit... |

105 |
Proofs and Types. Cambridge Tracts
- Girard, Lafon, et al.
- 1989
(Show Context)
Citation Context ... exchanging R � and L � • and exchanging the two premises of each instance of Cut. Clearly, if q is a proposition, sequent or proof, then q ◦◦ = q, i.e. − ◦ is an involution. In Gentzen’s formulation =-=[GLT88]-=-, implication is a primitive connective but not its dual, so this involution is absent. To rectify this, a primitive operation − needed to be introduced in [CH00]. Likewise, a connective called ∨, dua... |

99 | Relational properties of domains
- Pitts
- 1996
(Show Context)
Citation Context ...n infinitely wide variant where I ranges over countable sets. The call-by-name and call-by-value interpreters are unchanged, and the cpo semantics, and its adequacy proof, follow the usual technology =-=[Pit96]-=-. Defining µpmX.A to be � X.{#sole.A} and µunfX.A to be � X.{#sole. ⊢ A}, we obtain, in both CBV and CBN, the following cpo isomorphisms: µpmX.A ∼ = LA[µpmX.A/X] µunfX.A ∼ = T A[µunfX.A/X] Thus in nei... |

88 | The HOL logic
- Pitts
- 1993
(Show Context)
Citation Context ...ts of this calculus. In some texts [GLT88,LS86] the × connective (type constructor) is a projection product, with elimination rules Γ ⊢ M : A × B Γ ⊢ πM : A Γ ⊢ M : A × B Γ ⊢ π ′ M : B In other texts =-=[Pit00]-=-, × is a pattern-match product, with elimination rule Γ ⊢ M : A × B Γ,x : A,y : B ⊢ N : C Γ ⊢ pm M as 〈x,y〉. N : C This choice of five connectives 0,+,1, ×, → raises some questions.s1. Why not include... |

83 | Control categories and duality: on the categorical semantics of the lambda-mu calculus
- Selinger
(Show Context)
Citation Context ...mitive connective but not its dual, so this involution is absent. To rectify this, a primitive operation − needed to be introduced in [CH00]. Likewise, a connective called ∨, dual to ×, was needed in =-=[Sel01]-=- to get a match between syntax and semantics in the call-by-name setting. We see that all such dual connectives are present for free in Jumbo LK. 7 Further Development Jumbo connectives can easily be ... |

60 |
Locus Solum: from the rules of logics to the logics of rules
- Girard
(Show Context)
Citation Context ...the form of the jumbo connectives is likewise more general. Related work Both our arguments for jumbo connectives (invalidity of decompositions, possession of a reversible rule) have arisen in ludics =-=[Gir01]-=-. 1.1 Infinitely Wide Variant Frequently, in semantics, one wishes to study infinitely wide calculi with countable sum types and countable product types. (The latter are necessarily projection product... |

51 | Classical logic, continuation semantics and abstract machines - Streicher, Reus - 1998 |

49 |
and Full Abstraction for a Functional Metalanguage with Recursive Types. Distinguished Dissertations
- MCCUSKER
- 1998
(Show Context)
Citation Context ...wers are not valid in the presence of effectful constructs, such as recursion or control operators. For example, in a call-by-name language with recursion, +(A,B,C) � ∼ = (A + B) + C (a point made in =-=[McC96b]-=-), and A × B � ∼ = A Π B. To see this, consider standard semantics that interprets each type by a pointed cpo. Then A + B denotes ([[A]] + [[B]])⊥, and A Π B denotes [[A]] × [[B]] whereas A × B denote... |

29 |
Call-By-Push-Value: A Functional/Imperative Synthesis
- Levy
- 2004
(Show Context)
Citation Context ... both dependent sum and dependent product, and there does not appear to be a smooth way of combining these connectives. Both CBN and CBV jumbo λ-calculus can be decomposed into call-by-pushvalue; see =-=[Lev04]-=- for details and properties of the translations (though not the justification of jumbo λ-calculus given here). A more general discussion of how this relates to Jumbo LK, and the duality between CBV an... |

28 |
Lectures on Predomains and Partial Functions. Notes for a course at CSLI
- Plotkin
- 1985
(Show Context)
Citation Context ...round $n}n∈N is cpoisomorphic to A in CBV. Thus, neither � nor � has a universally valid decomposition. And in the infinitely wide CBV setting, � cannot be decomposed at all. 5 Isorecursive Types FPC =-=[Plo85]-=- is typed λ-calculus extended with isorecursive types; it has a CBV and a CBN variant. It includes two judgements: � �s– Φ ⊢ A type, where Φ is a type context, i.e. a finite sequence of distinct type ... |

20 |
On the semantics of classical disjunction
- Pym, Ritter
- 1998
(Show Context)
Citation Context ...n Sect. 2.4 {Ai ⊢}i∈I � i∈IAi � as in Sect. 2.4 {⊢ Ai}i∈I � A → B as in Sect. 2.4 {A ⊢ B}i∈1 � A − B studied in [CH00] {A ⊢ B}i∈1 � A × B as in Sect. 2.4 {A,B ⊢}i∈1 A ∨ B in call-by-name λµν-calculus =-=[PR01]-=- � {⊢ A,B}i∈1 � ¬B left version {⊢ B}i∈1 � ¬B right version {B ⊢}i∈1 As in Sect. 2.4, we define an LK jumbo-arity to be a countable family of pairs of natural numbers {mi ⊢ ni}i∈I. Then both � and � p... |

5 | Full abstraction by translation, in
- McCusker
- 1996
(Show Context)
Citation Context ...ns with n arguments {#sole. A ⊢ B} � bool {#true.ǫ,#false.ǫ} � groundI ground type with I elements {ǫ}i∈I TA studied in call-by-value setting [Mog89] � {#sole. ⊢ A} LA studied in call-by-name setting =-=[McC96a]-=- � {#sole.A} To make this more systematic, define a jumbo-arity to be a countable family of natural numbers {ni}i∈I. Then both � and � provide a family of connectives, indexed by jumbo-arities, as fol... |