Breaking the Loop: Recursive Proofs for Coinductive Predicates in Fibrations
aa r X i v : . [ c s . L O ] F e b Breaking the LoopRecursive Proofs for Coinductive Predicates inFibrations
Henning BasoldCNRS, ENS de Lyon [email protected]
Abstract
The purpose of this paper is to develop and study recursive proofs of coinduct-ive predicates. Such recursive proofs allow one to discover proof goals in the con-struction of a proof of a coinductive predicate, while still allowing the use of up-totechniques. This approach lifts the burden to guess invariants, like bisimulation re-lations, beforehand. Rather, they allow one to start with the sought-after proof goaland develop the proof from there until a point is reached, at which the proof can beclosed through a recursion step. Proofs given in this way are both easier to constructand to understand, similarly to proofs given in cyclic proof systems or by appealingparameterised coinduction.In this paper, we develop a framework for recursive proofs of coinductive predic-ates that are given through fibrational predicate liftings. This framework is built onthe so-called later modality, which has made its appearance in type theoretic settingsbefore. In particular, we show the soundness and completeness of recursive proofs,we prove that compatible up-to techniques can be used as inference rules in recursiveproofs, and provide some illustrating examples.
Recursion is one of the most fundamental notions in Computer Science and Mathematics,be it as the foundation of computability, or to define and reason about structures determ-ined by repeated constructions. In this paper, we will focus on the use of recursion as aproof method for coinductive predicates.The usual way to prove that some objects are contained in a coinductive predicateor are related by a coinductive relation, is to establish an invariant. More specifically,1uppose Φ : L → L is a monotone function on a lattice and Φ that has a greatest fixedpoint ν Φ . One proves that the coinductive predicate ν Φ holds for x ∈ L by establishing a y ∈ L with x ≤ y ≤ Φ ( y ) . This approach does, however, not fit common practice, as oneusually incrementally constructs the invariant y , rather than guessing it, while followingthe necessary proof steps. Such an incremental construction leads to a recursive proofmethodology.There are several ways that have been proposed to formalise the idea of recursiveproofs for coinductive predicates. In the setting of complete lattices, Hur et al. [19] de-veloped so-called parameterised coinduction. Their techniques were later streamlinedusing the companion by Pous [24]. Another approach is to use ideas from game the-ory [23, 30] to prove coinductive predicates. There are also type theoretic approachesthat use systems of equations to prove coinductive predicates [1, 7, 9, 16]. Finally, re-cursion has also entered syntactic proof systems in the form of cyclic proof systems,e.g. [11, 13, 14, 26, 29]. Cyclic proof systems are particularly useful in settings that requireproofs by induction or coinduction because cyclic proof systems ease proofs enormouslycompared to, for example, invariant-based method from above or (co)induction schemes.Nothing comes for free though: In this case checking proofs becomes more difficult, asthe correctness conditions are typically global for a proof tree and not compositional. Forthe same reason, also soundness proofs a often rather complex.In this paper, we will study an approach to proving coinductive predicates throughrecursive proofs. Recursion in such proofs is thereby controlled by using the so-calledlater modality [22], which allows checking of recursive proofs on a per-rule basis. Thisresults in straightforward proof checking, a per-rule soundness proof, and proofs that canbe easily debugged. We will thereby develop the recursive proofs abstractly for a generalfirst-order logic, given in form of a fibration. This generality allows us to obtain recursiveproofs for coinductive predicates in many different settings. In particular, we will discussset-based predicates, quantitative predicates, syntactic first-order logic, and (models of)dependent type theory. An instance of this is the syntactic first-order logic given by theauthor in [4] to reason about program equivalences. This instance was also the originalmotivation of the present paper, as the results in loc. cit. are mostly obtained by hand.Towards this, we proceed as follows. In Sec. 2, we show that certain fibrations of func-tors are fibred Cartesian closed, which is the technical machinery that makes recursiveproofs work. Next, we develop in Sec. 3 and Sec. 4 a theory of descending chains of pre-dicates in general categories and fibrations, respectively. In the same sections, we alsoprovide the necessary results for the construction of recursive proofs. Section 5 providessome specific results concerning the descending chain that is induced by a lifting of abehaviour functor. In particular, we show how up-to techniques can be used as proofrules. We instantiate these results in Sec. 6 to obtain recursive proofs for some illustrativeexamples. 2 elated Work To a large part, the present paper develops many results of Birkedalet al. [8] in the setting of general fibrations rather than just the codomain fibration
Set → → Set of sets. That [8] was so restrictive is not so surprising, as the intention there was toconstruct models of programming languages, rather than applying the developed tech-niques to proofs. Going beyond the category of sets also means that one has to involvemuch more complicated machinery to obtain exponential objects. Later, Bizjak et al. [9]extended the techniques from [8] to dependent type theory, thereby enabling reasoningby means of recursive proofs in a syntactic type theory. However, also this is again a veryspecific setting, which rules out most examples that we are interested in here. Similarly,also the parameterised coinduction in [19] is too restrictive, as it applies only to lattices.It might be possible to develop parameterised coinduction in the setting of fibrations byusing the companion [24, 25, 5]. We leave this for another time though.
We fix an index category I in the following and define F : C → D F : [ I , C ] → [ I , D ] by F ( σ ) = F ◦ σ . Note that F = [ I , F ] , where [ I , −] : Cat → Cat is the strict 2-functorthat assigns to a category C the functor category [ I , C ] . Thus, (−) preserves compositionof functors and applies to natural transformations as well. We use this to define for amorphism f : X → Y in C , a morphism f : K X ⇒ K Y in [ I , C ] where K X is the constantfunctor sending any object in I to X : Note that there is a natural transformation K f : K X ⇒ K Y , which is given by K f , I = f . Thus, we can put f = (cid:2) I , K f (cid:3) . Lemma 2.1. If F : C → D and G : D → C with F ⊣ G , then F ⊣ G .Proof. Given F and G as above, the following unique correspondence follows from thepoint-wise unique correspondence given by the adjunction F ⊣ G . That this correspond-ence is natural also follows from uniqueness of the point-wise correspondence. (cid:3) Lemma 2.2.
The functor (−) extends to a fibred functor on the (large) fibration
Fib → Cat .Proof.
A fibration p : E → B induces a fibration p : E → B , see [20, Ex. 1.8.8] and [36].Given a map of fibration ( F , G ) , easily shows that ( F , G ) is again a map of fibrations. Fi-nally, that (−) is fibred follows from the fact that (−) preserves strict 2-pullbacks, since itis an enriched right adjoint functor [21]. (cid:3) S : I op × I → C be a functor. The end of S is an object ∫ i ∈ I S ( i , i ) in C together with auniversal extranatural transformation π : ∫ i ∈ I S ( i , i ) → S . Concretely, this means that α isa family of morphisms indexed by objects in i , such that the following diagram commutesfor all u : i → j . ∫ i ∈ I S ( i , i ) S ( j , j ) S ( i , i ) S ( i , j ) π j π i S ( u , id ) S ( id , u ) Moreover, given any other extranatural transformation α : X → S there is a unique f : X → ∫ i ∈ I S ( i , i ) with π i ◦ f = α i for every i ∈ I .It is well-known that ends can be computed as certain limits in C . By analysing care-fully the necessary limits, we obtain the following result. Proposition 2.3.
Let I be a small category and C a category that has finite limits and forevery object i ∈ I products of the size of the coslice category i ↓ I . If C is Cartesian closed,then also [ I , C ] is. The exponential object is then given by (cid:16) G F (cid:17) ( i ) = ∫ i → j G ( j ) F ( j ) . Proof.
More precisely, we define for each i ∈ I a functor S i : ( i ↓ I ) op × i ↓ I → C by S ( i → j , i → k ) = G ( k ) F ( j ) and S ( f : j ′ → j , д : k → k ′ ) = G ( д ) F ( f ) . The end of S is thengiven by the equaliser as in the following diagram. ∫ i → j G ( i ) F ( i ) Î I ( i , j ) G ( j ) F ( j ) Î I ( i , j ) , I ( i , k ) G ( k ) F ( j ) That such an equaliser gives indeed the end of S is standard. Note that both productsrange only over objects in the coslice category i ↓ I , hence the products exist in C . Finally,that the given definition of G F is an exponential object is folklore, see [31] and cf. [35,Thm. 2.12]. (cid:3) Given that we can construct exponential objects as certain ends, one reasonably mightexpect that this also works for fibred Cartesian closed categories, which are fibrations p : E → B in which every every fibre is Cartesian closed and reindexing preserves thisstructure, see [20, Def. 1.8.2]. To prove this, we require a suitable adaption of the co-Yoneda lemma to the setting of fibrations. Lemma 2.4 (Fibred co-Yoneda) . Let p : E → B be a cloven fibration, and suppose H : I op → E and U : I op → B are functors, such that p ◦ H = U . Then H (cid:27) ∫ i ∈ I Õ v ∈ I (− , i ) Þ U ( v ) H ( i ) . heorem 2.5. Let I be a small category and p : E → B a cloven fibration that has fibredfinite limits, fibred exponents and for every object i ∈ I fibred products of the size of thecoslice category i ↓ I . Under these conditions, [ I , p ] : [ I , E ] → [ I , B ] is again a fibred CCC.The exponential object of F , G ∈ [ I , E ] U is given by (cid:16) G F (cid:17) ( i ) = ∫ v : i → j (cid:0) U ( v ) ∗ G ( j ) (cid:1) U ( v ) ∗ F ( j ) . Proof.
The size of the involved limits to compute the end are given in the same way as inProp. 2.3. Note that the end is equivalently given by an end followed by a product: ∫ v : i → j (cid:0) U ( v ) ∗ G ( j ) (cid:1) U ( v ) ∗ F ( j ) (cid:27) ∫ j ∈ I Ö v : i → j (cid:0) U ( v ) ∗ G ( j ) (cid:1) U ( v ) ∗ F ( j ) To show that the given exponential is right-adjoint to the product of functors, we considerfor H ∈ [ I , E ] U the following chain of natural isomorphisms. [ I , E ] U (cid:16) H , G F (cid:17) (cid:27) ∫ i ∈ I E U ( i ) (cid:16) H ( i ) , (cid:16) G F (cid:17) ( i ) (cid:17) (cid:27) ∫ i ∈ I E U ( i ) H ( i ) , ∫ j ∈ I Ö v : i → j (cid:0) U ( v ) ∗ G ( j ) (cid:1) U ( v ) ∗ F ( j ) ! (cid:27) ∫ i ∈ I ∫ j ∈ I Ö v : i → j E U ( i ) (cid:16) H ( i ) , (cid:0) U ( v ) ∗ G ( j ) (cid:1) U ( v ) ∗ F ( j ) (cid:17) (cid:27) ∫ i ∈ I ∫ j ∈ I Ö v : i → j E U ( i ) ( H ( i ) × ( U ( v ) ∗ F ( j )) , U ( v ) ∗ G ( j )) (cid:27) ∫ i ∈ I ∫ j ∈ I Ö v : i → j E U ( i ) (cid:16)Þ U ( v ) ( H ( i ) × ( U ( v ) ∗ F ( j ))) , G ( j ) (cid:17) (cid:27) ∫ i ∈ I ∫ j ∈ I Ö v : i → j E U ( i ) (cid:16) (cid:16)Þ U ( v ) H ( i ) (cid:17) × F ( j ) , G ( j ) (cid:17) (*) (cid:27) ∫ i ∈ I ∫ j ∈ I Ö v : i → j E U ( i ) (cid:16)Þ U ( v ) H ( i ) , G ( j ) F ( j ) (cid:17) (cid:27) ∫ j ∈ I E U ( i ) ∫ i ∈ I Õ v : i → j Þ U ( v ) H ( i ) , G ( j ) F ( j ) ! (cid:27) ∫ j ∈ I E U ( i ) (cid:16) H ( j ) , G ( j ) F ( j ) (cid:17) (**) (cid:27) ∫ j ∈ I E U ( i ) ( H ( j ) × F ( j ) , G ( j )) [ I , E ] U ( H × F , G ) Note that coproducts in p fulfil the Frobenius property in the step (*) because p is a fibredCCC, see [20, Lem. 1.9.11]. Moreover, we do not need to assume the existence of cop-roducts along morphisms of B or further colimits explicitly, since H ( j ) is isomorphic to ∫ i ∈ I Ý v : i → j Ý U ( v ) H ( i ) by the fibred co-Yoneda lemma that we used in the step (**). (cid:3) In this section, we extend the development in [8] to more general categories. Besidesgiving us some intuition for the later modality, we also obtain results that we can reusein later sections of this paper.Let ω be the poset of finite ordinals, i.e., ω = { , , . . . } with their usual order. Since ω can be seen as a category, we can use its dual category ω op as index category, therebyobtaining a functor [ ω op , −] : Cat → Cat as in the last section. We will denote this functorin the following by (−) = [ ω op , −] . (1)The category of descending chains in C is then the presheaf category C , the objects ofwhich we denote by σ , τ , . . . More explicitly, σ ∈ C assigns as a functor σ : ω op → C toeach n ∈ N an object σ n ∈ C and to each pair of natural numbers with m ≤ n a morphism σ ( m ≤ n ) : σ n → σ m in C . Assumption 3.1.
Throughout this section, we assume that C is a category with a terminalobject , finite limits and is Cartesian closed.In particular, we get by Prop. 2.3 that C is also Cartesian closed as follows. Let n be theposet of all numbers less or equal to n . Observe now for n ∈ N that n ↓ ω op = ( ω / n ) op = n op . Hence, n ↓ ω op is finite and, as assumed, we only need finite limits in C to obtainCartesian-closure of C from Prop. 2.3.Let us now introduce the later modality, which is the central construction that under-lies the recursive proofs that we develop in this paper. Definition 3.2.
The later modality on C is the functor ◮ : C → C given on objects by ( ◮ σ ) = ( ◮ σ ) n + = σ n ( ◮ σ )( m ≤ n ) = ( ! : σ n → , m = n = σ ( m ′ ≤ n ′ ) , m = m ′ + , n = n ′ + Theorem 3.3.
The map ◮ given in Def. 3.2 on objects is a functor C → C . Moreover, ◮ hasa left adjoint and thereby preserves limits. Finally, there is a natural transformation next : Id ⇒ ◮ , given by next σ , = ! σ : σ → and next σ , n + = σ ( n ≤ n + ) . roof. Functoriality is given by uniqueness of maps into the final object . The left adjointto ◮ is given by ◭ with ◭ ( σ ) n = σ n + . ◭ σ → τ ∀ n . σ n + → τ n σ → and ∀ n . σ n + → τ n σ → ◮ τ Finally, naturality of next is given again by uniqueness of maps into final objects and byfunctoriality of chains. (cid:3)
Since ◮ preserves in particular binary products, we obtain the following. Lemma 3.4.
For all σ , τ ∈ C there is a morphism ◮ ( σ τ ) → ◮ σ ◮ τ . One the central properties of the later modality is that it allows us to construct fixedpoints of certain maps in C , which are called contractive. Definition 3.5.
A map f : τ × σ → σ in C is called д - contractive if д is a map д : τ × ◮ σ → σ with f = д ◦ ( id × next σ ) . We call s : τ → σ a fixed point or solution for f , if the followingdiagram commutes. τ στ × σ s h id , s i f We can now show that there is a generic operator in C that allows us to constructfixed points. Theorem 3.6.
For every σ ∈ C there is a unique morphism, dinatural in σ , l Ü ob σ : σ ◮ σ → σ , such that for all д -contractive maps f the map l Ü ob σ ◦ λд is a solution for f . Dinaturalitymeans thereby that for all h : σ → τ the diagram below commutes. τ ◮ τ τσ ◮ τ σ ◮ σ σ l Ü ob τ h id id ◮ h l Ü ob σ h Proof.
We define l Ü ob n : ( σ ◮ σ ) n → σ n by iteration on n . For 0, we putl Ü ob ≔ ( σ ◮ σ ) h id , ! i −−−→ ( σ ◮ σ ) × = ( σ ◮ σ ) × ( ◮ σ ) −−→ σ , (−) × ◮ σ ⊣ (−) ◮ σ . In the iteration step, we definel Ü ob n + ≔ ( σ ◮ σ ) n + ( σ ◮ σ ) n + × ( σ ◮ σ ) n ( σ ◮ σ ) n + × σ n σ n + , h id , σ ◮ σ ( n ≤ n + ) i id × l Ü ob n ev n + where σ ◮ σ ( n ≤ n + ) is the functorial action of σ ◮ σ (Prop. 2.3). To show that l Ü ob is theunique map making l Ü ob σ ◦ λд as solution one first shows that l Ü ob is uniquely fulfillingthe equation l Ü ob n = ( ev ◦ ( id × next ) ◦ h id , l Ü ob i) n by induction on n and doing a smalldiagram chase. Uniqueness of solutions is then given the properties of the adjunction (−) × ◮ σ ⊣ (−) ◮ σ . (cid:3) Remark . Birkedal et al. [8] give some closure properties of contractive maps. Thesecan be extended to our more general setting, but as we will not need them here, we willnot state and prove them. ◭ Now that we have developed some understanding of how descending chains work in gen-eral categories, we will essentially lift the results from Sec. 3 to fibrations. This will allowus to construct from a first-order logic, given by a fibration, a new logic of descendingchains that admits the same logical structure as the given fibration and admits recursiveproofs for coinductive predicates.Throughout this section, we assume the following.
Assumption 4.1.
Let p : E → B be a cloven fibration, such that,• E has fibred final objects,• fibred finite limits in E exist, and• E is a fibred CCC.Similarly to Sec. 3, we obtain by Lem. 2.2 that the functor p : E → B given by post-composition is a fibration. By the above assumptions, we then get by Thm. 2.5 that p is afibred CCC. We obtain another fibred CCC by change-of-base along the diagonal functor δ : B → B that sends an object I ∈ B to the constant chain K I : ω op → B , see [20, Ex. 1.8.8]and [36]: B × B E EB B q pδ I ∈ B , the fibre of q above I is isomorphic to E K I . Hence, we will simplifynotation in the following and just refer to E K I as E I . Furthermore, we note the followingresult, which might seem trivial at first, but it allows us to apply, for instance, Lem. 2.1 tofunctors between fibres of a given fibration. Lemma 4.2. E K I = E I , which we will denote by E I . Having worked only abstractly so far, it is about time that we give a few examples.There are four kinds of examples that we shall use here to illustrate different aspects ofthe theory: predicates over sets, quantitative predicates, syntactic first-order logic, andset families that model dependent types. We begin with the simplest example, namelythat of predicates. Despite its simplicity, it is already a quite useful because it allows us toreason about predicates and relations for arbitrary coalgebras in
Set . Example 4.3 (Predicates) . A standard fibration is the fibration Pred → Set of predicates,where an object in Pred is a predicate ( P ⊆ X ) over a set X . Each fibre Pred X has a finalobject X = ( X ⊆ X ) and the fibred binary products are given by intersection. Moreover,exponents also exist in Pred X by defining Q P = { x ∈ X | x ∈ P = ⇒ x ∈ Q } . The fibration Pred consists then of descending chains of predicates. In particular, if σ ∈ Pred X , then σ is a chain with σ ⊇ σ ⊇ · · · . Note now that each fibre Pred X is a poset,hence equalisers are trivial and (finite) limits are just given as (finite) products. Hence,Thm. 2.5 applies and we obtain that Pred is a fibred CCC. Since equalisers are trivial, it iseasy to see that the exponential for σ , τ ∈ Pred X can be defined as follows. ( τ σ ) n = Ù m ≤ n τ σ n n ⊆ X We end this example by noting that fibred constructions, like the above products andexponents, are preserved by a change-of-base, see [20, Lem. 1.8.4]. This induces thusexponents in the fibration of (binary) relations Rel → Set and the associated fibrationRel → Set . Hence, one can also apply the results in this paper to reason, for example,about bisimilarity in coalgebras. ◭ Often, one is not just interested in merely logical predicates, but rather wants to ana-lyse quantitative aspects of system. This is, for instance, particularly relevant for prob-abilistic or weighted automata. The following example extends the predicate fibrationfrom Ex. 4.3 to quantitative predicates, which gives a convenient setting to reason aboutquantitative properties. 9 xample 4.4 (Quantitative Predicates) . We define the category of quantitative predicatesqPred as follows.qPred = ( objects: pairs ( X , δ ) with X ∈ Set and δ : X → [ , ] morphisms: f : ( X , δ ) → ( Y , γ ) if f : X → Y in Set and δ ≤ γ ◦ f It is easy to show that the first projection qPred → Set gives rise to a cloven fibration, forwhich the reindexing functors are given for u : X → Y by u ∗ ( Y , γ ) = (cid:0) X , λx . γ ( u ( x )) (cid:1) . For brevity, let us refer to an object ( X , δ ) in qPred X just by its underlying valuation δ .One readily checks that qPred is a fibred CCC by defining the products and exponents by ( δ × γ )( x ) = min { δ ( x ) , γ ( x )} and ( δ ⇒ γ )( x ) = ( , δ ( x ) ≤ γ ( x ) γ ( x ) , otherwise . Fibred final objects are given by the constantly 1 valuation. Again, each fibre qPred X is aposet, hence finitely complete and so qPred is a fibred CCC. ◭ The original motivation for the work presented in this paper was to abstract awayfrom the details that are involved in constructing a syntactic logic for a certain coinduct-ive relation in [4]. In [4], the author developed a first-order logic that features the latermodality to reason about program equivalences. This logic was given in a very pedes-trian way, since the syntax, proof system, model and proof system was constructed fromscratch. The proofs often involved then something along the lines of “true because thisis an index-wise interpretation of intuitionistic logic”. Thus, the aim of the following ex-ample is to show that we can just take any first-order logic L and extend it to a logic L , in which formulas are descending chains of formulas in L . Crucially, the logic L willhave the later modality as a new formula construction, and it will get new proof rulesthat correspond to the morphism next, the functoriality of ◮ and construction of fixedpoints through the l Ü ob morphism. We will also see below that quantifier can be lifted toformulas in L , and that the later modality interacts well with conjunction, implication andquantification, cf. Thm. 3.3 and Lem. 3.4. After this long-winded motivation, let us nowcome to the actual example. Example 4.5 (Syntactic Logic) . Suppose we are given a typed calculus, for example thesimply typed λ -calculus, and a first-order logic, in which the variables range over the typesof the calculus. More precisely, let Γ be a context with Γ = x : A , . . . , x n : A n , where the x i are variables and the A i are types of the calculus. We write then Γ (cid:13) t : A if t is a term oftype A in context Γ , Γ (cid:13) φ if φ is formula with variables in Γ , and Γ ⊢ φ if φ is provable in10he given logic. Let us assume that the logic also features a truth formula ⊤ , conjunction ∧ and implication → , which are subject to the usual proof rules of intuitionistic logic.This allows us to form a fibration as follows. First, we define C to be the category thathas context Γ as objects and tuples t of terms as morphisms ∆ → Γ with ∆ (cid:13) t i : A i .Next, we let L be the category that has pairs ( Γ , φ ) with Γ (cid:13) φ as objects, and a morphism ( ∆ , ψ ) → ( Γ , φ ) in L is given by a morphism t : ∆ → Γ in C if ∆ ⊢ ψ → φ [ t ] , where φ [ t ] denotes the substitution of t in the formula φ . The functor p : L → C that maps ( Γ , φ ) to Γ is then easily seen to be a cloven (even split) fibration, see for example [20].We note that p has fibred finite products and exponents, as the logic that we startedwith has ⊤ , conjunction and implication with the necessary proof rules. Moreover, sinceeach fibre is a pre-ordered set, equalisers are again trivial. Hence, p is also a fibred CCC.Explicitly, for chains φ , ψ of formulas in p A above the constant chain K A for a type A , theexponent ψ ⇒ φ in p is given by ( ψ ⇒ φ ) n = Û m ≤ n ψ m → φ n , where Ó is a shorthand for a finite number of conjunctions. ◭ We lift now the constructions from the last Sec. 3 to the fibres of E . Theorem 4.6.
For each c ∈ B , there is a fibred functor ◮ c : E c → E c given by ( ◮ c σ ) = c ( ◮ c σ ) n + = c ( n ≤ n + ) ∗ ( σ n ) . Moreover, ◮ c preserves fibred finite products and if p is a bifibration then ◮ c preserves allfibred limits. Finally, there is a natural transformation next c : Id ⇒ ◮ c , given by next cσ , = ! : σ → c and next cσ , n + = σ ( n ≤ n + ) .Proof. We define ◮ σ on morphisms by case distinction as follows. ( ◮ σ )( ≤ ) = id : c → c ( ◮ σ )( ≤ n + ) = c ( n ≤ n + ) ∗ ( σ n ) c ( n ≤ n + ) σ n −−−−−−−−−→ σ n ! −→ c ( ◮ σ )( m + ≤ n + ) = mediating morphism in the following diagram c ( n ≤ n + ) ∗ ( σ n ) σ n c ( m ≤ m + ) ∗ ( σ m ) σ m ( ◮ σ )( m + ≤ n + ) σ ( m ≤ n ) p c n + c n c m + c m c . It is clear that p ( ◮ σ ) = c by the above definition, and so ◮ σ is an object in E c . Defining ◮ on morphisms is astraightforward, as it is to check functoriality. That ◮ c is preserved by reindexing, thatis, for f : c → d in B one has f ∗ ◦ ◮ c (cid:27) ◮ d ◦ f ∗ , is given by the properties of a clovenfibration. That ◮ c preserves products is a simple calculation. The preservation of all fibredlimits if p is a bifibration is given by the fact that ◮ c then has a fibred left adjoint ◭ c givenby ( ◭ c σ ) n = Í c ( n ≤ n + ) σ n + . Finally, naturality of next c is given as before. (cid:3) Let us briefly stop to discuss the perspective on the later modality that arises canon-ically from the development in the previous section.
Remark . We note that we can instantiate all the results from Sec. 3 to E as follows. Sup-pose that B is a finitely complete CCC and E also has a global finite limits and exponents,such that the corresponding adjunctions are given by maps of fibrations. This means, forinstance, that for all X ∈ E there are adjunctions (−) × X ⊣ (−) X and (−) × pX ⊣ (−) pX on E and B , respectively, such that ((−) × pX , (−) × X ) and (cid:0) (−) pX , (−) X (cid:1) are maps of fibrations.This structure gives us that p : E → B has global exponents. Moreover, one can show that ( ◮ , ◮ ) : p → p is a map of fibrations and that the next- and Löb-operations are preservedby p : p ( next ) = next and p ( l Ü ob ) = l Ü ob. However, we will not make use of these resultshere, as their use is vastly more complicated than the fibred approach. For example, thepredicate fibration has global exponents given by ( P ⊆ X ) ( Q ⊆ Y ) = { f : Y → X | ∀ y ∈ X . f ( y ) ∈ P } ⊆ X Y . The problem is that we would need to show that solutions of certain morphism obtainedthrough using l Ü ob are vertical, as we often want to prove the set inclusion of predicates.Since formulating and proving such conditions seem to very hard and since they do noteven seem to be useful, we will refrain from pursuing the global Cartesian structure on p further here. ◭ As we mentioned above, if p has a global final object, then we can instantiate Sec. 3 tothe fibration p . This gives us a map of fibration ( ◮ , ◮ ) on p . Since the fibred final objects I in E I are related to the final object of E by I (cid:27) ! ∗ I ( ) , we obtain that the global andlocal later modalities are intrinsically related Lemma 4.8.
For all σ ∈ E I , we have ◮ c σ (cid:27) next ∗ c ( ◮ σ ) . Due to Lem. 4.2, we can apply many construction easily point-wise to chains withconstant index. For instance, we can lift products and coproducts in the following sense.
Theorem 4.9.
If for f : I → J in B the coproduct Ý f : E I → E J along f exists, then thecoproduct Ý f : E I → E J along f is given by Ý f . Similarly, the product Î f along f is givenby Î f . roof. By Lem. 4.2 and Lem. 2.1, we obtain that an adjunction Ý ⊣ f lifts to an adjunction Ý f ⊣ f . Hence, the coproduct along f is given by Ý f . (cid:3) Example 4.10.
Both Pred and Fam ( Set ) are well known to have products and coproductsalong any function in Set . We note that also qPred has products along all functions f : X → Y , given by Ö f ( δ : X → [ , ])( y ) = inf { δ ( x ) | x ∈ X , f ( x ) = y } . Finally, in a syntactic logic, as in Ex. 4.5, one has that L → C obtains products and cop-roducts along projections ( Γ , x : A ) → Γ from universal and existential quantificationover A , respectively. To have arbitrary (co)products, one additionally needs an equalityrelation in the logic, cf. [20]. By Thm. 4.9, all these products and coproducts lift to thecorresponding fibration of descending chains. ◭ Let us denote for I ∈ B the later modality ◮ K I on E I by ◮ I . We can then estab-lish the following essential properties about the interaction of the later modalities and(co)products, which are analogue to those in [8, cf. Thm. 2.7]. This theorem allows one todistribute in proofs quantifiers over the later modality. Theorem 4.11.
The following holds for fibred products and coproducts in p .• There is an isomorphism ◮ J ◦ Î f (cid:27) Î f ◦ ◮ I .• There is a natural transformation ι : Ý f ◦ ◮ I ⇒ ◮ J ◦ Ý f . Moreover, if f is inhabited,that is, has a section д : J → I , then ι has a section ι д .Proof. Establishing the sought-after isomorphism and ι is straightforward. The section ι д of ι for a given д : J → I is can be defined by ι дσ , = J д −→ I η −→ f ∗ Þ f I f Ý f I −−−−−−→ Þ f I ι дσ , n + = Þ f σ n id −→ Þ f σ n . That this is a right-inverse of ι follows from finality if J . (cid:3) Remark . It should be possible to establish in E fibred products and coproducts alonggeneral morphisms of B . However, this is a much more difficult task, which will use ideassimilar to those used in Thm. 2.5. Intuitively, the products that we established corres-pond to universal quantifiers over fixed sets, while general products would correspond touniversal quantification over variable sets. The difference is analogous to that in Kripkemodels of (intuitionistic) first-order logic: Suppose M = ( W , ≤ , U ) is a model, where ≤ is13 partial order on W and U an interpretation for the quantification domain. If U is merelya set, then the satisfaction (cid:15) relation is defined for universal quantification by w , ρ (cid:15) ∀ x . φ ⇐⇒ ∀ u ∈ U . w , ρ [ x u ] (cid:15) φ . However, if U is a family U : W → Set , then the interpretation of universal quantificationinvolves a quantification over all successor worlds: w , ρ (cid:15) ∀ x . φ ⇐⇒ ∀ w ≤ v . ∀ u ∈ U ( v ) . v , ρ [ x u ] (cid:15) φ . This means that if we want to lift products to general chains, then the fibred productswill involve again a quantification over morphisms in the index category, and the productmust also be given by an end, as we used it in the construction of exponents in Thm. 2.5.Since this construction is fairly involved and not necessary for our current purposes, wewill leave such a construction aside for now. ◭ We finish this section by lifting also the construction of fixed points for contractivemaps to fibrations.
Theorem 4.13.
For every σ ∈ E c there is a unique map in E c , dinatural in σ , l Ü ob cσ : σ ◮ σ → σ , such that for all д -contractive maps f the map l Ü ob cσ ◦ λд is a solution for f .Proof. We define l Ü ob cn : ( σ ◮ σ ) n → σ n again by iteration on n . For 0, we putl Ü ob ≔ ( σ ◮ σ ) h id , ! i −−−→ ( σ ◮ σ ) × c = ( σ ◮ σ ) × ( ◮ σ ) −−→ σ , where ev is the counit of (−) × ◮ σ ⊣ (−) ◮ σ . In the iteration step, we first define amorphism step n as the mediating morphism in the following diagram. (cid:0) σ ◮ c σ (cid:1) n + (cid:0) σ ◮ c σ (cid:1) n ( ◮ c σ ) n + = c ( n ≤ n + ) ∗ σ n σ n (cid:16) σ ◮ c σ (cid:17) ( n ≤ n + ) step n l Ü ob cn c ( n ≤ n + ) σ n p c n + c n c n + c nc ( n ≤ n + ) c ( n ≤ n + ) The map l Ü ob cn + is then given byl Ü ob cn + ≔ ( σ ◮ σ ) n + h id , step n i −−−−−−−→ ( σ ◮ σ ) n + × ( ◮ c σ ) n + n + −−−−→ σ n + , That l Ü ob c is vertical, i.e., p ( l Ü ob c ) = id is clear from the definition. The other propertiesfollows like in Thm. 3.6. (cid:3) The Final Chain and Up-To Techniques
Having laid the ground work, we come now to the actual objects of interest: coinductivepredicates. We will proceed again in two steps, in that we first present coinductive pre-dicates over arbitrary categories and then move to fibrations. The following captures theusual construction of the final chain.
Definition 5.1.
Let C be a category with a final object and Φ : C → C a functor. Wedefine a chain ←− Φ ∈ C by ←− Φ = ←− Φ n + = Φ (←− Φ n ) and ←− Φ ( m ≤ n ) = ( ! : ←− Φ n → , m = n = Φ (←− Φ ( m ′ ≤ n ′ )) , m = m ′ + , n = n ′ + ←− Φ and thereby to make progress in a recursive proof. Additionally, it tells us that ←− Φ is a fixed point of the functor ◮ ◦ Φ , cf. [8, Thm. 2.14]. Theorem 5.2.
We have that ←− Φ = ◮ (cid:0) Φ ←− Φ (cid:1) . Just as important as unfolding ←− Φ is the ability to remove contexts, use transitivity ofrelations etc. in a proof. Such properties can properties can be captured through so-calledcompatible up-to techniques [10, 28]. Theorem 5.3.
Let T and Φ be functors C → C . If there is a natural transformation ρ : T Φ ⇒ Φ T , then there is a map ←− ρ : T ←− Φ → ←− Φ in C .Proof. We define ←− ρ n by iteration on n : ←− ρ = T ! −→ ←− ρ n + = T Φ ←− Φ n ρ ←− Φ n −−−−→ Φ T ←− Φ n Φ ←− ρ n −−−−→ Φ ←− Φ n = ←− Φ n + That ←− ρ is a morphism in ←− C follows easily by induction, and by using naturality of ρ functoriality of Φ . (cid:3) Remark . Pous and Rot [25] prove a result similar to Thm. 5.3, namely that a monotonefunction T on a complete lattice is below the companion of Φ if and only if there is amap T ←− Φ → ←− Φ . This result is equivalent to Thm. 5.3 because the companion itself iscompatible. ◭ ∆ n : C → C n be the diagonal functor and put Φ × n = Φ × · · · × Φ | {z } n -times . We then obtainthe following corollary of Thm. 5.3, which allows us its application to compatible up-to techniques that have n arguments. For example, the transitive closure of a relationrequires 2 arguments, see [10] for details. Corollary 5.5.
Let n ∈ N and T : C n → C be a functor. If there is a natural transformation ρ : T Φ × n ⇒ Φ T , then there is a map ←− ρ : T ( ∆ n ←− Φ ) → ←− Φ in ←− C . Let us now move to the setting of fibrations. For the remainder of this section, weassume to be given a functor F : B → B that describes the behaviour of coalgebras, anda lifting G : E → E of F that describes a predicate on F -coalgebras, see [18] for a moredetailed introduction. Assumption 5.6.
We assume to be given a map of fibrations ( F , G ) : p → p and a coal-gebra c : X → F X in B . Moreover, we require that B has a final object.Under these assumption, we can define a functor Φ : E X → E X by Φ ≔ c ∗ ◦ G : E X → E X , which describes, what is often called, a predicate transformer . A coalgebra for Φ is thenreferred to as a Φ -invariant . One can now talk about up-to techniques for G and for Φ .Both kinds are related by the following result, which allows us to obtain compatible up-totechniques on fibres from global ones. Theorem 5.7.
Let T : E → E be a a lifting of the identity Id E . If there is natural trans-formation ρ : TG ⇒ GT with P ρ = id F : F ⇒ F , then there is a natural transformation ρ c : T Φ ⇒ Φ T with P ρ c = id : Id ⇒ Id . Similarly, one obtains also a descending chain for G . Lemma 5.8.
Let ( F , G ) be a lifting to p : E → B . Then ←− G ∈ E ←− F . The global chain ←− G is again related to the local one ←− Φ as follows. From the coalgebra c : X → F X , we define a morphism ←− c : K X → ←− F in E iteratively by ←− c = ! X : X → and ←− c n + = X c −→ F X F ←− c n −−−→ ←− F n . Using ←− c , we can relate the global and local chains. Proposition 5.9. In E X , we can find isomorphisms ←− c ∗ (cid:0) ←− G (cid:1) (cid:27) ←− Φ and• ( next ◦ ←− c ) ∗ (cid:0) ◮ ←− G (cid:1) (cid:27) ◮ X ←− Φ . From Prop. 5.9, we can obtain an alternative proof of one of the central results (Thm. 3.7.i)by Hasuo et al. [18].
Corollary 5.10.
We have lim ←− Φ (cid:27) c ∗ ω ( lim ←− G ) , where c ω : X → lim ←− F is the unique mapinduced by ←− c and the limit property.Proof. We have lim ←− Φ (cid:27) lim (←− c ∗ ←− G ) (By Prop. 5.9) (cid:27) lim (←−−−−− π ◦ c ω ∗ ←− G ) (Def. of c ω ) (cid:27) lim (←− c ω ∗ (←− π ∗ ←− G )) (Cloven fibration) (cid:27) c ∗ ω ( lim (←− π ∗ ←− G )) Fibred limits (cid:27) c ∗ ω ( lim ←− G ) ([18, Lem. 3.5]) (cid:3) If the chain ←− Φ converges in ω steps, then we obtain soundness and completeness forproofs given over ←− Φ . This result is a trivial reformulation of the usual construction offinal coalgebra. However, the present formulation is more convenient in the context ofthe the recursive proofs that we construct by appealing to the later modality, as those willbe maps in E X . Proposition 5.11.
Suppose ν Φ is a coinductive predicate, that is, there is a final coalgebra ξ : ν Φ → Φ ( ν Φ ) . If Φ preserves ω op -limits, then maps A → ν Φ in E X are given equivalentlyby maps K A → ←− Φ in E X . In this last section, we demonstrate how the framework that we developed can be used toobtain recursive proofs for coinductive predicates over different kinds of first-order logic.The first example is thereby in the setting of set-based predicates.
Example 6.1.
In this example, we define a predicate on streams that expresses that a real-valued stream is greater than 0 everywhere and use the developed framework to provethat a certain stream is in the predicate. This example is fairly straightforward, but stillhas all the ingredients to illustrate the framework.17et F : Set → Set and G : Pred → Pred be given by F = R × Id and G ( X , P ) = ( F X , {( a , x ) | a > ∧ x ∈ P }) . It is easy to show that G is a lifting of F , and we ob-tain the predicate of streams that are larger than 0 everywhere as the final coalgebra ofthe functor Φ : Pred R ω → Pred R ω with Φ = h hd , tl i ∗ ◦ G .Next, we define for a ∈ R the constant stream a ω by the following stream differentialequation (SDE) [17]. a ω = a ( a ω ) ′ = a ω Similarly, we can define the point-wise addition of streams by ( s ⊕ t ) = s + t ( s ⊕ t ) ′ = s ′ ⊕ t ′ . Finally, let s ∈ R ω be given by the following SDE. s = s ′ = ω ⊕ s . Our goal is to prove that s is greater than 0 everywhere, that is, we want to prove that s is in the final coalgebra ν Φ of the above Φ . Since the tail s ′ of s defined of 1 ω ⊕ − , thefollowing up-to technique will be handy. Let us define C : Pred R ω → Pred R ω to be C ( P ) = { ω ⊕ t | t ∈ P } . One easily shows that C is Φ -compatible, that is, C Φ ⊆ Φ C . In fact, this follows frompoint-wise addition being causal, see [27, 25]. Thus, we have by Thm. 5.3 that C ←− Φ ⊑ ←− Φ ,where ⊑ is the point-wise inclusion of indexed predicates.Given an indexed predicate σ ∈ Pred X , we define ⊢ σ ≔ X ⊑ σ . Hence, ⊢ σ holds if there is a morphism X → σ in Pred X . Given x ∈ X , we define thepredicate x ∈ σ in Pred X to be the following exponential in Pred X . x ∈ σ ≔ σ K { x } . Spelling out these definitions, one easily finds that ⊢ x ∈ σ ⇐⇒ ∀ n ∈ N . x ∈ σ n . For brevity, let us write φ ≔ s ∈ ←− Φ and ◮ for ◮ R ω . Using the previous results, we nowobtain a proof for ⊢ φ as follows, where each proof step is given applying the indicated18onstruction in Pred R ω . s > ◮ φ ⊢ ◮ (cid:16) s ∈ ←− Φ (cid:17) (Def. C ) ◮ φ ⊢ ◮ (cid:16) ω ⊕ s ∈ C (←− Φ ) (cid:17) ( C compatible) ◮ φ ⊢ ◮ (cid:16) ω ⊕ s ∈ ←− Φ (cid:17) (Def. of s ) ◮ φ ⊢ ◮ (cid:16) s ′ ∈ ←− Φ (cid:17) ( ◮ pres. products) ◮ φ ⊢ ◮ (cid:16) s ∈ Φ (←− Φ ) (cid:17) ( ◮ functor) ◮ φ ⊢ s ∈ ◮ (cid:16) Φ (←− Φ ) (cid:17) (Step, Thm. 5.2) ◮ φ ⊢ s ∈ ←− Φ (Löb) ⊢ φ Thus, we have obtained a proof that s is greater than 0 everywhere purely by applyingthe category theoretical constructions presented in this paper. ◭ The next example shows that the same category theoretical setup that we used toprove something above, can also be used to define functions.
Example 6.2.
Given a set A , we define a functor F and a lifting G A to the family fibrationFam ( Set ) →
Set as follows. F : Set → Set G A : Fam ( Set ) →
Fam ( Set ) F = + Id G A ( I , X ) u ∈ + I = ( , u = κ ∗ A × X v , u = κ vF has as final coalgebra the predecessor function pred : N ∞ → + N ∞ on the naturalnumbers extended with one element that indicates infinity. The family of so-called partialstreams PStr A [4] is the final coalgebra of Φ A = pred ∗ ◦ G A . Our goal is now to define fora given f : A → B a map PStr ( f ) : PStr A → PStr B . Unfortunately, the results in [18]do not apply here. But one can still show that Φ A preserves ω op -limits, hence maps intoPStr A are equivalently given by maps into the chain ←−− Φ A . Hence, we can obtain PStr ( f ) equivalently as a map ←−− Φ A → ←−− Φ A in Fam ( Set ) N ∞ . Denoting by ⇒ the exponential in thisfibre, we can construct the desired map by applying the following “proof” steps, wherewe write u | pred u = t ⊢ X → Y if we construct a map in Fam ( Set ) N ∞ with the constraint19hat the index u ∈ N ∞ fulfils pred ( u ) = t . u | pred u = κ ∗ ⊢ ◮ ! : ( ◮ ←−− Φ A ⇒ ◮ ←− Φ B ) u × ←−− Φ Au → ◮ (∗) Cases for Gu ⊢ ( ◮ ←−− Φ A ⇒ ◮ ←− Φ B ) u × ←−− Φ Au → ◮ ( Φ ←− Φ B ) u Index abstraction ( ◮ ←−− Φ A ⇒ ◮ ←− Φ B ) × ←−− Φ A → ◮ Φ ←− Φ B Step ( ◮ ←−− Φ A ⇒ ◮ ←− Φ B ) × ←−− Φ A → ←− Φ B Abstraction ( ◮ ←−− Φ A ⇒ ◮ ←− Φ B ) → (←−− Φ A ⇒ ←− Φ B ) ◮ functor ◮ (←−− Φ A ⇒ ←− Φ B ) → (←−− Φ A ⇒ ←− Φ B ) Löb → (←−− Φ A ⇒ ←− Φ B ) Uncurry ←−− Φ A → ←− Φ B The step (∗) is thereby given as follows, where we write S for ◮ ←−− Φ A ⇒ ◮ ←− Φ B . ◮ ( f ◦ π ◦ π ) : S u × ( ◮ A × ◮ ←−− Φ Av ) → ◮ B andev ◦ ( id × π ) : S u × ( ◮ A × ◮ ←−− Φ Av ) → ◮ ←− Φ Bv Pairing u | pred u = κ v ⊢ S u × ( ◮ A × ◮ ←−− Φ Av ) → ◮ B × ◮ ←− Φ Bv ◮ pres. × u | pred u = κ v ⊢ S u × ◮ ( A × ←−− Φ Av ) → ◮ ( B × ←− Φ Bv ) Unfold u | pred u = κ v ⊢ S u × ←−− Φ Au → ◮ ( B × ←− Φ Bv ) Up to this point, we have used ω as fixed set with a well-founded on it. As it turns out, itis not necessary to make this restriction and one can construct the later modality and theLöb rule for any set with a well-founded order on it. This is similar to the developmentin [8, Sec. 8]. The difference, however, is that Birkedal et al. require that the well-foundedset is a complete Heyting algebra and internalise the predecessor in there. We will, incontrast, use properties of the category C , in which we construct the sequences. Thisapproach is more in line with the previous development. Assumption 7.1.
We assume that ( I , < ) is a well-founded order and that C has for each α ∈ I limits of the shape α ↓ I .Given these assumptions, we use now (−) = [ I , −] . C , we define ( ◮ σ ) α = lim β < α σ β with π αβ : lim β < α σ β → σ β . Since for α ′ ≤ α and β ′ ≤ β < α ′ ≤ α we have σ ( β ′ ≤ β )◦ π αβ = π αβ ′ , we obtain a unique morphism ( ◮ σ ) α = lim β < α σ β ( ◮ σ )( α ′ ≤ α ) −−−−−−−−−→ ( ◮ σ ) α ′ = lim β < α ′ σ β . Theorem 7.2.
For every σ ∈ C there is a unique map in C , dinatural in σ , l Ü ob σ : σ ◮ σ → σ such that for all д -contractive maps f the map l Ü ob cσ ◦ λд is a solution for f .Proof. We construct l Ü ob σ , α by well-founded induction on α . Thus, assume for all β < α that l Ü ob σ , β : ( σ ◮ σ ) β → σ β exists and fulfils for all β ′ ≤ β < ασ ( β ′ ≤ β ) ◦ l Ü ob σ , β = l Ü ob σ , β ′ ◦ (cid:0) σ ◮ σ (cid:1) ( β ′ ≤ β ) . By functoriality of σ ◮ σ , we thus obtain σ ( β ′ ≤ β ) ◦ l Ü ob σ , β ◦ (cid:0) σ ◮ σ (cid:1) ( β ′ ≤ α ) = l Ü ob σ , β ′ ◦ (cid:0) σ ◮ σ (cid:1) ( β ≤ α ) . This gives us a unique morphism (cid:0) σ ◮ σ (cid:1) α step α −−−−→ ( ◮ σ ) α by the limit property. This allows us to definel Ü ob α = (cid:0) σ ◮ σ (cid:1) α h id , step α i −−−−−−−→ (cid:0) σ ◮ σ (cid:1) α × ( ◮ σ ) α ev α −−→ σ α , which fulfils for all β ≤ α that σ ( β ≤ α ) ◦ l Ü ob σ , α = l Ü ob σ , β ◦ (cid:0) σ ◮ σ (cid:1) ( β ≤ α ) because of naturality of ev α in α and ( ◮ σ )( β ≤ α ) ◦ step α = step β ◦ (cid:0) σ ◮ σ (cid:1) ( β ≤ α ) . This latter equation follows easily from the limit property and the definition of step. Sim-ilarly, one also proves by the limit property that l Ü ob is the unique dinatural transformationthat allows the construction of solutions. (cid:3) Conclusion and Future Work
In this paper, we have established a framework that allows us to reason about coinductivepredicates in many cases by using recursive proofs. At the heart of this approach sits theso-called later modality, which was comes from provability logic [6, 33, 34] but was laterused to obtain guarded recursion in type theories [2, 3, 9, 22] and in domain theory [7, 8].This modality allows us to control the recursion steps in a proof without having to invokeparity or similar conditions [12, 15, 29, 32], as we have seen in the examples in Sec. 6.Moreover, even though similar Birkedal et al. [8] obtained similar results, their frameworkis limited to
Set -valued presheaves, while our results are applicable in a much wider rangeof situations, see the examples in Sec. 4.So what is there left to do? For once, we have not touched upon how to automaticallyextract a syntactic logic and models from the fibration L → C obtained in Ex. 4.5. Thiswould subsume and simplify much of the development in [4]. Next, we discussed alreadyin Rem. 4.12 that the construction of fibre products for general morphisms in fibrations ofdescending chains is fairly involved. However, such a construction would be useful, forexample, to obtain Kripke models abstractly. Finally, also a closer analysis of the relationto proof systems obtained through parameterised coinduction, the companion or cyclicproof systems would be interesting. References [1] Abel, A., Pientka, B.: Wellfounded recursion with copatterns: A unifiedapproach to termination and productivity. In: ICFP. pp. 185–196 (2013), https://doi.org/10.1145/2500365.2500591 [2] Appel, A.W., Melliès, P.A., Richards, C.D., Vouillon, J.: A very modal modelof a modern, major, general type system. In: POPL. pp. 109–122. ACM (2007), https://doi.org/10.1145/1190216.1190235 [3] Atkey, R., McBride, C.: Productive coprogramming with guarded recursion. In: ICFP.pp. 197–208. ACM (2013), http://bentnib.org/productive.pdf [4] Basold, H.: Mixed Inductive-Coinductive Reasoning: Types, Programsand Logic. PhD Thesis, Radboud University, Nijmegen (To be published), https://perso.ens-lyon.fr/henning.basold/thesis/ [5] Basold, H., Pous, D., Rot, J.: Monoidal Company for Accessible Functors. In: CALCO2017. LIPIcs, vol. 72. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2017), https://perso.ens-lyon.fr/henning.basold/publications/MonoidalCompanyAccessible.pdf https://doi.org/10.1016/S0304-3975(98)00305-3 [7] Birkedal, L., Møgelberg, R.E.: Intensional Type Theory with Guarded RecursiveTypes qua Fixed Points on Universes. In: LICS. pp. 213–222. IEEE Computer Soci-ety (2013), https://doi.org/10.1109/LICS.2013.27 [8] Birkedal, L., Møgelberg, R.E., Schwinghammer, J., Støvring, K.: Firststeps in synthetic guarded domain theory: Step-indexing in thetopos of trees. Logical Methods in Computer Science 8(4) (2012), https://doi.org/10.2168/LMCS-8(4:1)2012 [9] Bizjak, A., Grathwohl, H.B., Clouston, R., Møgelberg, R.E., Birkedal, L.:Guarded Dependent Type Theory with Coinductive Types. In: FoSSaCS.Lecture Notes in Computer Science, vol. 9634, pp. 20–35. Springer (2016), https://arxiv.org/abs/1601.01586 [10] Bonchi, F., Petrişan, D., Pous, D., Rot, J.: Coinduction Up-to in a FibrationalSetting. In: Proc. of CSL-LICS ’14. pp. 20:1–20:9. ACM, New York, USA (2014), https://doi.org/10.1145/2603088.2603149 [11] Brotherston, J.: Cyclic Proofs for First-Order Logic with InductiveDefinitions. In: Beckert, B. (ed.) Proceedings of TABLEAUX 2005. Lec-ture Notes in Computer Science, vol. 3702, pp. 78–92. Springer (2005), https://doi.org/10.1007/11554554_8 [12] Brotherston, J., Simpson, A.: Complete Sequent Calculi for Induction and InfiniteDescent. In: Proceedings of LICS 2007. pp. 51–62. IEEE Computer Society (2007), https://doi.org/10.1109/LICS.2007.16 [13] Cockett, J.R.B.: Deforestation, program transformation, and cut-elimination. Electr. Notes Theor. Comput. Sci. 44(1), 88–127 (2001), https://doi.org/10.1016/S1571-0661(04)80904-6 [14] Dax, C., Hofmann, M., Lange, M.: A Proof System for the Linear Time µ -Calculus. In:Arun-Kumar, S., Garg, N. (eds.) Proceedings of FSTTCS 2006. LNCS, vol. 4337, pp.273–284. Springer (2006), https://doi.org/10.1007/11944836_26 [15] Fortier, J., Santocanale, L.: Cuts for circular proofs: Se-mantics and cut-elimination. In: CSL. pp. 248–262 (2013), https://doi.org/10.4230/LIPIcs.CSL.2013.248 https://doi.org/10.1007/3-540-60579-7_3 [17] Hansen, H.H., Kupke, C., Rutten, J.: Stream Differential Equa-tions: Specification Formats and Solution Methods. LMCS 13(1) (2017), https://doi.org/10.23638/LMCS-13(1:3)2017 [18] Hasuo, I., Cho, K., Kataoka, T., Jacobs, B.: Coinductive Predicates and Final Sequencesin a Fibration. Electronic Notes in Theoretical Computer Science 298, 197–214 (Nov2013), https://doi.org/10.1016/j.entcs.2013.09.014 [19] Hur, C.K., Neis, G., Dreyer, D., Vafeiadis, V.: The Power of Parameterization in Coin-ductive Proof. In: Proceedings of POPL 2013. pp. 193–206. POPL ’13, ACM, New York,NY, USA (2013), https://doi.org/10.1145/2429069.2429093 [20] Jacobs, B.: Categorical Logic and Type Theory. No. 141 in Studies in Logic and theFoundations of Mathematics, North Holland, Amsterdam (1999)[21] Kelly, M.: Basic Concepts of Enriched Category Theory. No. 64 in Lecture Notesin Mathematics, Cambridge University Press, reprints in theory and applications ofcategories, no. 10 (2005) edn. (1982)[22] Nakano, H.: A Modality for Recursion. In: LICS. pp. 255–266. IEEE Computer Society(2000), https://doi.org/10.1109/LICS.2000.855774 [23] Niwinski, D., Walukiewicz, I.: Games for the µ -Calculus. Theor. Comput. Sci. 163(1&2), 99–116 (1996), https://doi.org/10.1016/0304-3975(95)00136-0 [24] Pous, D.: Coinduction All the Way Up. In: Grohe, M., Koskinen, E.,Shankar, N. (eds.) Proceedings of LICS ’16. pp. 307–316. ACM (2016), https://doi.org/10.1145/2933575.2934564 [25] Pous, D., Rot, J.: Companions, Codensity, and Causality. In: Proceedings of FOSSACS2017 (2017), https://doi.org/10.1007/978-3-662-54458-7_7 [26] Roşu, G., Lucanu, D.: Circular Coinduction: A Proof Theoretical Found-ation. In: CALCO. LNCS, vol. 5728, pp. 127–144. Springer (2009), https://doi.org/10.1007/978-3-642-03741-2_10 [27] Rot, J.: Enhanced Coinduction. PhD, University Leiden, Leiden (2015)2428] Rot, J., Bonchi, F., Bonsangue, M., Pous, D., Rutten, J., Silva, A.:Enhanced Coalgebraic Bisimulation. MSCS 27(7), 1236–1264 (2017), https://doi.org/10.1017/S0960129515000523 [29] Santocanale, L.: A Calculus of Circular Proofs and ItsCategorical Semantics. In: FoSSaCS. pp. 357–371 (2002), https://doi.org/10.1007/3-540-45931-6_25 [30] Santocanale, L.: µ -Bicomplete Categories and Parity Games. RAIRO - ITA 36(2), 195–227 (2002), https://doi.org/10.1051/ita:2002010 [31] Shulman, M.: Exponentials of cartesian closed categories (2012), https://ncatlab.org/nlab/show/cartesian+closed+category [32] Simpson, A.: Cyclic Arithmetic is Equivalent to PeanoArithmetic. In: Proceedings of FoSSaCS’17. LNCS (2017), https://doi.org/10.1007/978-3-662-54458-7_17 [33] Smoryński, C.: Self-Reference and Modal Logic. Universitext, Springer-Verlag (1985)[34] Solovay, R.M.: Provability interpretations of modal logic. Israel Journal of Mathem-atics 25(3), 287–304 (1976), https://doi.org/10.1007/BF02757006 [35] Street, R., Verity, D.: The comprehensive factorization and torsors. Theory and Ap-plications of Categories 23(3), 42–75 (2010)[36] Streicher, T.: Fibred Categories à la Jean Bénabou. arXiv:math.CT/1801.02927 (2018), https://arxiv.org/abs/1801.02927https://arxiv.org/abs/1801.02927