Fredrik Nordvall Forsberg

Learn More
Data types are undergoing a major leap forward in their sophistication driven by a conjunction of i) theoretical advances in the foundations of data types, and ii) requirements of programmers for ever more control of the data structures they work with. In this paper we develop a theory of indexed data types where, crucially, the indices are generated(More)
Induction-induction is a principle for defining data types in Martin-Löf Type Theory. An inductive-inductive definition consists of a set A, together with an A-indexed family B : A Ñ Set, where both A and B are inductively defined in such a way that the constructors for A can refer to B and vice versa. In addition, the constructors for B can refer to the(More)
Reynolds' theory of parametric polymorphism captures the invariance of polymorphically typed programs under change of data representation. Semantically, reflexive graph categories and fibrations are both known to give a categorical understanding of parametric polymorphism. This paper contributes further to this categorical perspective by showing the(More)
Minlog is a proof assistant which automatically extracts computational content in an extension of Gödel's T from formalized proofs. We report on extending Minlog to deal with predicates defined using a particular combination of induction and coinduction, via so-called nested definitions. In order to increase the efficiency of the extracted programs, we have(More)
This paper combines reflexive-graph-category structure for relational parametricity with fibrational models of impredicative poly-morphism. To achieve this, we modify the definition of fibrational model of impredicative polymorphism by adding one further ingredient to the structure: comprehension in the sense of Lawvere. Our main result is that such(More)
Induction-induction is a principle for mutually defining data types A ∶ Set and B ∶ A → Set. Both A and B are defined inductively, and the constructors for A can refer to B and vice versa. In addition, the constructor for B can refer to the constructor for A. Induction-induction occurs in a natural way when formalising dependent type theory in type theory.(More)
In the 1980s, John Reynolds postulated that a parametrically polymorphic function is an ad-hoc polymorphic function satisfying a uniformity principle. This allowed him to prove that his set-theoretic semantics has a relational lifting which satisfies the Identity Extension Lemma and the Abstraction Theorem. However, his definition (and subsequent variants)(More)
Homotopy Type Theory extends intensional Martin-Löf Type Theory with two new features: Voevodsky's Univalence Axiom and higher inductive types (HITs). Both are motivated by interpretations of Type Theory into abstract homotopy theory, where intuitively types are interpreted as topological spaces, terms are interpreted as points, and the identity type is(More)