Well-founded recursion with copatterns and sized types, J. Funct. Program, vol.26, 2016. ,
Step-Indexed Syntactic Logical Relations for Recursive and Quantified Types, Proceedings of the 15th European Conference on Programming Languages and Systems (ESOP'06), pp.69-83, 2006. ,
A Very Modal Model of a Modern, Major, General Type System, SIGPLAN Not, vol.42, pp.109-122, 2007. ,
URL : https://hal.archives-ouvertes.fr/hal-00150978
An Indexed Model of Recursive Types for Foundational Proof-Carrying Code, ACM Trans. Program. Lang. Syst, vol.23, pp.657-683, 2001. ,
Productive Coprogramming with Guarded Recursion, Proceedings of the 18th ACM SIGPLAN International Conference on Functional Programming (ICFP '13), pp.197-208, 2013. ,
Simply RaTT: A Fitch-Style Modal Calculus for Reactive Programming without Space Leaks, Proc. ACM Program. Lang, vol.3, pp.1-109, 2019. ,
Diamonds are not forever, Liveness in reactive programming with guarded recursion, 2020. ,
Principles of Model Checking, 2008. ,
Martin Hofmann's Case for Non-Strictly Positive Data Types, 24th International Conference on Types for Proofs and Programs, vol.130, pp.1-1, 2018. ,
Guarded Cubical Type Theory, Journal of Automated Reasoning, vol.63, pp.211-253, 2019. ,
First steps in synthetic guarded domain theory: step-indexing in the topos of trees, Logical Methods in Computer Science, vol.8, p.4, 2012. ,
Guarded Dependent Type Theory with Coinductive Types, Foundations of Software Science and Computation Structures, pp.20-35, 2016. ,
, Modal Logic, 2002.
URL : https://hal.archives-ouvertes.fr/inria-00100503
The mu-calculus and Model Checking, Handbook of Model Checking, pp.871-919, 2018. ,
URL : https://hal.archives-ouvertes.fr/hal-02397703
Fair Reactive Programming, Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '14), pp.361-372, 2014. ,
Modal Logic: An Introduction, 1980. ,
The Guarded Lambda-Calculus: Programming and Reasoning with Guarded Recursion for Coinductive Types, Logical Methods in Computer Science, vol.12, p.3, 2016. ,
Logical Step-Indexed Logical Relations, Logical Methods in Computer Science, vol.7, issue.2, 2011. ,
A Relational Modal Logic for Higher-order Stateful ADTs, Proceedings POPL'10, pp.185-198, 2010. ,
Refinement Types for ML, Proceedings of the ACM SIGPLAN 1991 Conference on Programming Language Design and Implementation (PLDI'91), pp.268-277, 1991. ,
, Monotone Modal Logics & Friends. Ph.D. Dissertation. Aix-Marseille Univ, 2014.
A Generalized Modality for Recursion, Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science (LICS '18), pp.482-491, 2018. ,
Monotonic Modal Logics. Master's thesis. ILLC, 2003. ,
Abstract interpretation from Büchi automata, Joint Meeting of the Twenty-Third EACSL Annual Conference on Computer Science Logic (CSL) and the Twenty-Ninth Annual ACM/IEEE Symposium on Logic in Computer Science (LICS), CSL-LICS '14, vol.51, pp.1-51, 2014. ,
A cartesian-closed category for higher-order model checking, 32nd Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2017, pp.1-12, 2017. ,
Categorical Logic and Type Theory, 2001. ,
Many-Sorted Coalgebraic Modal Logic: a Model-theoretic Study, ITA, vol.35, pp.31-59, 2001. ,
, Introduction to Coalgebra: Towards Mathematics of States and Observation, 2016.
LTL Types FRP: Linear-time Temporal Logic Propositions As Types, Proofs As Functional Reactive Programs, Proceedings of the Sixth Workshop on Programming Languages Meets Program Verification (PLPV'12), pp.49-60, 2012. ,
An Abstract Categorical Semantics for Functional Reactive Programming with Processes, Proceedings of the ACM SIGPLAN 2014 Workshop on Programming Languages Meets Program Verification (PLPV'14), pp.47-58, 2014. ,
HMC: Verifying functional programs using abstract interpreters, International Conference on Computer Aided Verification, pp.470-485, 2011. ,
, Sketches of an Elephant: A Topos Theory Compendium, 2002.
Linear-time Breadth-first Tree Algorithms: An Exercise in the Arithmetic of Folds and Zips, 1993. ,
Iris from the ground up: A modular foundation for higher-order concurrent separation logic, Journal of Functional Programming, vol.28, 2018. ,
URL : https://hal.archives-ouvertes.fr/hal-01945446
Temporal Verification of Programs via First-Order Fixpoint Logic, Proceedings (Lecture Notes in Computer Science), vol.11822, pp.413-436, 2019. ,
2020. Fold/Unfold Transformations for Fixpoint Logic, Tools and Algorithms for the Construction and Analysis of Systems -26th International Conference, TACAS 2020, Held as Part of the European Joint Conferences on Theory and Practice of Software, vol.2020, pp.195-214, 2020. ,
URL : https://hal.archives-ouvertes.fr/hal-02065838
A type system equivalent to the modal mu-calculus model checking of higher-order recursion schemes, 24th Annual IEEE Symposium on Logic In Computer Science. IEEE, pp.179-188, 2009. ,
Predicate abstraction and CEGAR for higher-order model checking, SIGPLAN Not, vol.46, pp.222-233, 2011. ,
Local Temporal Reasoning, Proceedings of the Joint Meeting of the Twenty-Third EACSL Annual Conference on Computer Science Logic (CSL) and the Twenty-Ninth Annual ACM/IEEE Symposium on Logic in Computer Science (LICS) (CSL-LICS'14), 2014. ,
Results on the propositional µ-calculus, Special Issue Ninth International Colloquium on Automata, Languages and Programming (ICALP), vol.27, pp.333-354, 1982. ,
Higher-order Functional Reactive Programming Without Spacetime Leaks, Proceedings of ICFP'13, pp.221-232, 2013. ,
Ultrametric Semantics of Reactive Programs, 2011 IEEE 26th Annual Symposium on Logic in Computer Science, pp.257-266, 2011. ,
Automatic Termination Verification for Higher-Order Functional Programs, Programming Languages and Systems (ESOP'14), pp.392-411, 2014. ,
Introduction to Higher Order Categorical Logic, CUP, 1986. ,
Sheaves in geometry and logic: A first introduction to topos theory, 1992. ,
Applicative programming with effects, Journal of Functional Programming, vol.18, p.1, 2008. ,
Processes: a mathematical model of computing agents, Studies in Logic and the Foundations of Mathematics, vol.80, pp.157-173, 1975. ,
A Type Theory for Productive Coprogramming via Guarded Recursion, Proceedings of CSL-LICS 2014 (CSL-LICS '14), 2014. ,
Temporal Verification of Higher-Order Functional Programs, Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'16), pp.57-68, 2016. ,
A Modality for Recursion, Proceedings of LICS'00, pp.255-266, 2000. ,
A Fixpoint Logic and Dependent Effects for Temporal Property Verification, Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science (LICS ?18), p.768, 2018. ,
On Model-Checking Trees Generated by Higher-Order Recursion Schemes, Proceedings of LICS 2006, pp.81-90, 2006. ,
The coinductive resumption monad, Electronic Notes in Theoretical Computer Science, vol.308, pp.273-288, 2014. ,
A Framework for Intuitionistic Modal Logics: Extended Abstract, Proceedings of the 1986 Conference on Theoretical Aspects of Reasoning About Knowledge (TARK '86), pp.399-406, 1986. ,
Liquid Types, Proceedings of the 29th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'08), pp.159-169, 2008. ,
Completeness for flat modal fixpoint logics, Ann. Pure Appl. Logic, vol.162, pp.55-82, 2010. ,
URL : https://hal.archives-ouvertes.fr/hal-00346782
Combining higher-order model checking with refinement type inference, Proceedings of the 2019 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM@POPL 2019, pp.47-53, 2019. ,
The Proof Theory and Semantics of Intuitionistic Modal Logic, 1994. ,
On the Structure of Inductive Reasoning: Circular and Tree-Shaped Proofs in the µ-Calculus, Foundations of Software Science and Computational Structures, 6th International Conference, FOSSACS 2003 Held as Part of the Joint European Conference on Theory and Practice of Software, vol.2620, pp.425-440, 2003. ,
Relatively complete refinement type system for verification of higher-order non-deterministic programs, Proc. ACM Program. Lang, vol.2, pp.1-12, 2018. ,
Liquid Haskell: Haskell as a theorem prover, Ph.D. Dissertation. UC, 2016. ,
Refinement Types for Haskell, Proceedings of the 19th ACM SIGPLAN International Conference on Functional Programming (ICFP'14), pp.269-282, 2014. ,
Guarded Recursion in Agda via Sized Types, 4th International Conference on Formal Structures for Computation and Deduction, 2019. ,
, Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, vol.131, pp.1-32
Completeness of Kozen's Axiomatisation of the Propositional µ-Calculus, Information and Computation, vol.157, pp.142-182, 2000. ,
Reduction from Branching-Time Property Verification of Higher-Order Programs to HFL Validity Checking, Proceedings of the 2019 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM 2019), vol.34, 2019. ,
These modalities are handled similarly as in Lem. 8.6 (Lem. E.8). Cases of [ev(? )]?. Since [ev(? )]? is smooth, the formula ? is closed and we have Q + = B ? R + with B a finite base type. Since B is constant, by Lem. C.4 there is a finite set A such that B ? ?A, so that ? B ? A by Lem. C.2. Now, given x ? ? P + and S ? ? Q + we have x ? {|, Proc. ACM Program. Lang, vol.4, p.POPL, 2019. ,
, Since A is finite, we can then reason similarly as in the cases of conjunction (?) above. Cases of ? t ??. We have ? 1 : P + 1 , . . . , ? k : P + k , ? : P + , ? : Q + ? ? : P + with ? Pos ?. Since for S ? ? Q + and m ? N we have ? m+1 ?? (S) = {|?
, By induction on the definition of ?. Case of a refinement type {A | ?}. The result follows from monotony of forcing (i.e. that ? is a subobject of A )
, Then we have x = in i ? y for some i = 0, 1 and some y ? ? |T i | such that y ? n T i . By induction hypothesis we get y ? k T i, Assume x ? n T 0 + T 1 and let k ? n
, Assume x ? n U ? T and let k ? n. But given ? ? k and y ? ? |U | such that y ? ? U we have ev ? ?x, y? ? ? T since ? ? n. Case of ?T . Assume x ? n ?T and let k ? n. If k = 1 then we are done since always x ? 1 ?T . Otherwise, k = ? + 1, so that n = m + 1 with ? ? m. Moreover, there is y ? ? T such that x = next ? y and y ? m T . We get y ? ? T by induction hypothesis, so that x ? k ?T . Case of Fix(X ).A . Assume x ? n Fix(X ).A and let k ? n. We have unfold ? x ? n A, Assume x ? n T 0 × T 1 and let k ? n. Then for each i = 0, 1 we have ? i ? x ? n T i , so that ? i ? x ? k T i by induction hypothesis, and it follows that x ? k T 0 × T 1 . Case of U ? T
, For a pure type A and x ? ? A , we have x ? n A for all n > 0. Proof. The proof is by induction on pairs (n, A), using implicitly Lem. C.2 whenever required. Case of 1. Trivial. and the result follows