Skip to main content

Showing 1–26 of 26 results for author: Spitters, B

Searching in archive cs. Search in all archives.
.
  1. Finding smart contract vulnerabilities with ConCert's property-based testing framework

    Authors: Mikkel Milo, Eske Hoy Nielsen, Danil Annenkov, Bas Spitters

    Abstract: We provide three detailed case studies of vulnerabilities in smart contracts, and show how property-based testing would have found them: 1. the Dexter1 token exchange; 2. the iToken; 3. the ICO of Brave's BAT token. The last example is, in fact, new, and was missed in the auditing process. We have implemented this testing in ConCert, a general executable model/specification of smart contra… ▽ More

    Submitted 1 August, 2022; originally announced August 2022.

    Journal ref: FMBC: Formal Methods for Blockchains, 2022

  2. arXiv:2203.08016  [pdf, other

    cs.LO cs.CR

    Formalising Decentralised Exchanges in Coq

    Authors: Eske Hoy Nielsen, Danil Annenkov, Bas Spitters

    Abstract: The number of attacks and accidents leading to significant losses of crypto-assets is growing. According to Chainalysis, in 2021, approx. $14 billion has been lost due to various incidents, and this number is dominated by Decentralized Finance (DeFi) applications. In order to address these issues, one can use a collection of tools ranging from auditing to formal methods. We use formal verification… ▽ More

    Submitted 11 March, 2022; originally announced March 2022.

  3. arXiv:2108.02995  [pdf, other

    cs.PL cs.LO

    Extracting functional programs from Coq, in Coq

    Authors: Danil Annenkov, Mikkel Milo, Jakob Botsch Nielsen, Bas Spitters

    Abstract: We implement extraction of Coq programs to functional languages based on MetaCoq's certified erasure. We extend the MetaCoq erasure output language with typing information and use it as an intermediate representation, which we call $λ^T_\square$. We complement the extraction functionality with a full pipeline that includes several standard transformations (eta-expansion, inlining, etc) implemented… ▽ More

    Submitted 6 August, 2021; originally announced August 2021.

    Comments: 57 pages; Coq development: https://github.com/AU-COBRA/ConCert/tree/journal-2021. arXiv admin note: substantial text overlap with arXiv:2012.09138

  4. Extracting Smart Contracts Tested and Verified in Coq

    Authors: Danil Annenkov, Mikkel Milo, Jakob Botsch Nielsen, Bas Spitters

    Abstract: We implement extraction of Coq programs to functional languages based on MetaCoq's certified erasure. As part of this, we implement an optimisation pass removing unused arguments. We prove the pass correct wrt. a conventional call-by-value operational semantics of functional languages. We apply this to two functional smart contract languages, Liquidity and Midlang, and to the functional language E… ▽ More

    Submitted 26 April, 2021; v1 submitted 16 December, 2020; originally announced December 2020.

    Comments: Coq implementation: https://github.com/AU-COBRA/ConCert/tree/artifact-2020 Update: fixed the "author running" list, fixed a mistake in an evaluation rule for lambda-box (Section 3.1, item 2)

    Journal ref: CPP'2021: Proceedings of the 10th ACM SIGPLAN International Conference on Certified Programs and Proofs, January 18--19, 2021, Virtual, Denmark

  5. Formalizing Nakamoto-Style Proof of Stake

    Authors: Søren Eller Thomsen, Bas Spitters

    Abstract: Fault-tolerant distributed systems move the trust in a single party to a majority of parties participating in the protocol. This makes blockchain based crypto-currencies possible: they allow parties to agree on a total order of transactions without a trusted third party. To trust a distributed system, the security of the protocol and the correctness of the implementation must be indisputable. We… ▽ More

    Submitted 18 May, 2021; v1 submitted 23 July, 2020; originally announced July 2020.

    Journal ref: 2021 IEEE 34th Computer Security Foundations Symposium (CSF), Pages: 1-15

  6. Synthetic topology in Homotopy Type Theory for probabilistic programming

    Authors: Martin E. Bidlingmaier, Florian Faissole, Bas Spitters

    Abstract: The ALEA Coq library formalizes measure theory based on a variant of the Giry monad on the category of sets. This enables the interpretation of a probabilistic programming language with primitives for sampling from discrete distributions. However, continuous distributions have to be discretized because the corresponding measures cannot be defined on all subsets of their carriers. This paper prop… ▽ More

    Submitted 25 June, 2021; v1 submitted 16 December, 2019; originally announced December 2019.

    Journal ref: Mathematical Structures in Computer Science, 1-29, 2021

  7. arXiv:1911.04732  [pdf, ps, other

    cs.LO cs.PL

    Smart Contract Interactions in Coq

    Authors: Jakob Botsch Nielsen, Bas Spitters

    Abstract: We present a model/executable specification of smart contract execution in Coq. Our formalization allows for inter-contract communication and generalizes existing work by allowing modelling of both depth-first execution blockchains (like Ethereum) and breadth-first execution blockchains (like Tezos). We represent smart contracts programs in Coq's functional language Gallina, enabling easier reason… ▽ More

    Submitted 12 November, 2019; originally announced November 2019.

    Journal ref: 1st Workshop on Formal Methods for Blockchains, 3rd Formal Methods World Congress on October 11, 2019 in Porto, Portugal

  8. ConCert: A Smart Contract Certification Framework in Coq

    Authors: Danil Annenkov, Jakob Botsch Nielsen, Bas Spitters

    Abstract: We present a new way of embedding functional languages into the Coq proof assistant by using meta-programming. This allows us to develop the meta-theory of the language using the deep embedding and provides a convenient way for reasoning about concrete programs using the shallow embedding. We connect the deep and the shallow embeddings by a soundness theorem. As an instance of our approach, we dev… ▽ More

    Submitted 20 December, 2019; v1 submitted 24 July, 2019; originally announced July 2019.

    Comments: Extended the related work section. Significantly extended sections on translation and semantics. Added more examples and details about the formalisation. Commented of unquote and the trusted computing base. Commented on adequacy

    Journal ref: CPP 2020: Proceedings of the 9th ACM SIGPLAN International Conference on Certified Programs and Proofs, January 2020, Pages 215-228

  9. arXiv:1809.08646  [pdf, ps, other

    cs.LO

    Normalization by gluing for free λ-theories

    Authors: Jonathan Sterling, Bas Spitters

    Abstract: The connection between normalization by evaluation, logical predicates and semantic gluing constructions is a matter of folklore, worked out in varying degrees within the literature. In this note, we present an elementary version of the gluing technique which corresponds closely with both semantic normalization proofs and the syntactic normalization by evaluation.

    Submitted 23 September, 2018; originally announced September 2018.

  10. arXiv:1806.07966  [pdf, ps, other

    cs.PL

    An Application of Computable Distributions to the Semantics of Probabilistic Programs

    Authors: Daniel Huang, Greg Morrisett, Bas Spitters

    Abstract: In this chapter, we explore how (Type-2) computable distributions can be used to give both (algorithmic) sampling and distributional semantics to probabilistic programs with continuous distributions. Towards this end, we sketch an encoding of computable distributions in a fragment of Haskell and show how topological domains can be used to model the resulting PCF-like language. We also examine the… ▽ More

    Submitted 30 July, 2019; v1 submitted 20 June, 2018; originally announced June 2018.

    Comments: Accepted as contribution to "Foundations of Probabilistic Programming"

    Journal ref: Foundations of Probabilistic Programming, ed. Gilles Barthe, Joost-Pieter Katoen & Alexandra Silva, Cambridge University Press, 2020

  11. Computer-aided proofs for multiparty computation with active security

    Authors: Helene Haagh, Aleksandr Karbyshev, Sabine Oechsner, Bas Spitters, Pierre-Yves Strub

    Abstract: Secure multi-party computation (MPC) is a general cryptographic technique that allows distrusting parties to compute a function of their individual inputs, while only revealing the output of the function. It has found applications in areas such as auctioning, email filtering, and secure teleconference. Given its importance, it is crucial that the protocols are specified and implemented correctly.… ▽ More

    Submitted 19 June, 2018; originally announced June 2018.

    Journal ref: Computer Security Foundations (CSF) 2018

  12. Modal Dependent Type Theory and Dependent Right Adjoints

    Authors: Lars Birkedal, Ranald Clouston, Bassel Mannaa, Rasmus Ejlers Møgelberg, Andrew M. Pitts, Bas Spitters

    Abstract: In recent years we have seen several new models of dependent type theory extended with some form of modal necessity operator, including nominal type theory, guarded and clocked type theory, and spatial and cohesive type theory. In this paper we study modal dependent type theory: dependent type theory with an operator satisfying (a dependent version of) the K-axiom of modal logic. We investigate bo… ▽ More

    Submitted 25 July, 2019; v1 submitted 14 April, 2018; originally announced April 2018.

    Journal ref: Math. Struct. Comp. Sci. 30 (2020) 118-138

  13. Internal Universes in Models of Homotopy Type Theory

    Authors: Daniel R. Licata, Ian Orton, Andrew M. Pitts, Bas Spitters

    Abstract: We begin by recalling the essentially global character of universes in various models of homotopy type theory, which prevents a straightforward axiomatization of their properties using the internal language of the presheaf toposes from which these model are constructed. We get around this problem by extending the internal language with a modal operator for expressing properties of global elements.… ▽ More

    Submitted 5 July, 2018; v1 submitted 23 January, 2018; originally announced January 2018.

    Comments: In H. Kirchner (ed), Proceedings of the 3rd International Conference on Formal Structures for Computation and Deduction (FSCD 2018), Leibniz International Proceedings in Informatics (LIPIcs), Vol. 108, pp. 22:1-22:17, 2018

    ACM Class: F.4.1; F.3.2

    Journal ref: Leibniz International Proceedings in Informatics (LIPIcs), Vol. 108, pp. 22:1-22:17, 2018

  14. arXiv:1706.07526  [pdf, other

    math.CT cs.LO math.LO

    Modalities in homotopy type theory

    Authors: Egbert Rijke, Michael Shulman, Bas Spitters

    Abstract: Univalent homotopy type theory (HoTT) may be seen as a language for the category of $\infty$-groupoids. It is being developed as a new foundation for mathematics and as an internal language for (elementary) higher toposes. We develop the theory of factorization systems, reflective subuniverses, and modalities in homotopy type theory, including their construction using a "localization" higher induc… ▽ More

    Submitted 7 January, 2020; v1 submitted 22 June, 2017; originally announced June 2017.

    MSC Class: F.3.1; F.4.1 ACM Class: F.3.1; F.4.1

    Journal ref: Logical Methods in Computer Science, Volume 16, Issue 1 (January 8, 2020) lmcs:3826

  15. arXiv:1611.09263  [pdf, other

    cs.LO math.CT math.LO

    Guarded Cubical Type Theory

    Authors: Lars Birkedal, Aleš Bizjak, Ranald Clouston, Hans Bugge Grathwohl, Bas Spitters, Andrea Vezzosi

    Abstract: This paper improves the treatment of equality in guarded dependent type theory (GDTT), by combining it with cubical type theory (CTT). GDTT is an extensional type theory with guarded recursive types, which are useful for building models of program logics, and for programming and reasoning with coinductive types. We wish to implement GDTT with decidable type checking, while still supporting non-tri… ▽ More

    Submitted 6 October, 2017; v1 submitted 28 November, 2016; originally announced November 2016.

    Comments: Final version; Special Issue on Homotopy Type Theory and Univalent Foundations, Journal of Automated Reasoning, 2017

    MSC Class: 03B70; 03B15; 55U35 ACM Class: F.3.3; F.3.2; F.4.1

  16. arXiv:1610.05270  [pdf, other

    cs.LO math.CT math.LO

    Cubical sets and the topological topos

    Authors: Bas Spitters

    Abstract: Coquand's cubical set model for homotopy type theory provides the basis for a computational interpretation of the univalence axiom and some higher inductive types, as implemented in the cubical proof assistant. This paper contributes to the understanding of this model. We make three contributions: 1. Johnstone's topological topos was created to present the geometric realization of simplicial set… ▽ More

    Submitted 17 October, 2016; originally announced October 2016.

    MSC Class: 03B70 (logic in computer science); 03B15 (higher-order logic and type theory); 55U35 (abstract and axiomatic homotopy theory) ACM Class: F.4.1

  17. arXiv:1610.04591  [pdf, other

    cs.LO math.LO

    The HoTT Library: A formalization of homotopy type theory in Coq

    Authors: Andrej Bauer, Jason Gross, Peter LeFanu Lumsdaine, Mike Shulman, Matthieu Sozeau, Bas Spitters

    Abstract: We report on the development of the HoTT library, a formalization of homotopy type theory in the Coq proof assistant. It formalizes most of basic homotopy type theory, including univalence, higher inductive types, and significant amounts of synthetic homotopy theory, as well as category theory and modalities. The library has been used as a basis for several independent developments. We discuss the… ▽ More

    Submitted 9 December, 2016; v1 submitted 14 October, 2016; originally announced October 2016.

    MSC Class: 03B70; 03B15; 55U35 ACM Class: F.4.1

  18. arXiv:1606.05223  [pdf, other

    cs.LO cs.PL

    Guarded Cubical Type Theory: Path Equality for Guarded Recursion

    Authors: Lars Birkedal, Aleš Bizjak, Ranald Clouston, Hans Bugge Grathwohl, Bas Spitters, Andrea Vezzosi

    Abstract: This paper improves the treatment of equality in guarded dependent type theory (GDTT), by combining it with cubical type theory (CTT). GDTT is an extensional type theory with guarded recursive types, which are useful for building models of program logics, and for programming and reasoning with coinductive types. We wish to implement GDTT with decidable type-checking, while still supporting non-tri… ▽ More

    Submitted 28 June, 2016; v1 submitted 16 June, 2016; originally announced June 2016.

    Comments: 17 pages, to be published in proceedings of CSL 2016

    ACM Class: F.3.3; F.3.2

  19. Sets in homotopy type theory

    Authors: Egbert Rijke, Bas Spitters

    Abstract: Homotopy Type Theory may be seen as an internal language for the $\infty$-category of weak $\infty$-groupoids which in particular models the univalence axiom. Voevodsky proposes this language for weak $\infty$-groupoids as a new foundation for mathematics called the Univalent Foundations of Mathematics. It includes the sets as weak $\infty$-groupoids with contractible connected components, and the… ▽ More

    Submitted 24 April, 2014; v1 submitted 16 May, 2013; originally announced May 2013.

    MSC Class: 03-XX; 03B15; 18B05; 18G30 ACM Class: F.4.1

    Journal ref: Math. Struct. Comp. Sci. 25 (2015) 1172-1202

  20. arXiv:1210.0298   

    quant-ph cs.LO

    Proceedings 8th International Workshop on Quantum Physics and Logic

    Authors: Bart Jacobs, Peter Selinger, Bas Spitters

    Abstract: This volume contains the proceedings of the 8th International Workshop on Quantum Physics and Logic (QPL 2011), which was held October 27-29, 2011 at Radboud University Nijmegen. The goal of this workshop series is to bring together researchers working on mathematical foundations of quantum physics, quantum computing and spatio-temporal causal structures, and in particular those that use logical t… ▽ More

    Submitted 1 October, 2012; originally announced October 2012.

    Comments: EPTCS 95, 2012

  21. Type classes for efficient exact real arithmetic in Coq

    Authors: Robbert Krebbers, Bas Spitters

    Abstract: Floating point operations are fast, but require continuous effort on the part of the user in order to ensure that the results are correct. This burden can be shifted away from the user by providing a library of exact analysis in which the computer handles the error estimates. Previously, we [Krebbers/Spitters 2011] provided a fast implementation of the exact real numbers in the Coq proof assistant… ▽ More

    Submitted 13 February, 2013; v1 submitted 17 June, 2011; originally announced June 2011.

    Comments: arXiv admin note: text overlap with arXiv:1105.2751

    ACM Class: D.2.4; F.4.1; G.1

    Journal ref: Logical Methods in Computer Science, Volume 9, Issue 1 (February 14, 2013) lmcs:958

  22. Computer certified efficient exact reals in Coq

    Authors: Robbert Krebbers, Bas Spitters

    Abstract: Floating point operations are fast, but require continuous effort on the part of the user in order to ensure that the results are correct. This burden can be shifted away from the user by providing a library of exact analysis in which the computer handles the error estimates. We provide an implementation of the exact real numbers in the Coq proof assistant. This improves on the earlier Coq-impleme… ▽ More

    Submitted 13 May, 2011; originally announced May 2011.

    Comments: Proceedings of CICM11, Springer LNAI, 2011

    ACM Class: D.2.4; F.4.1; G.1

    Journal ref: Proceedings of CICM11, vol 6824, Springer LNAI, 90-106, 2011

  23. arXiv:1102.1323  [pdf, other

    cs.LO

    Type Classes for Mathematics in Type Theory

    Authors: Bas Spitters, Eelis van der Weegen

    Abstract: The introduction of first-class type classes in the Coq system calls for re-examination of the basic interfaces used for mathematical formalization in type theory. We present a new set of type classes for mathematics and take full advantage of their unique features to make practical a particularly flexible approach formerly thought infeasible. Thus, we address both traditional proof engineering ch… ▽ More

    Submitted 7 February, 2011; originally announced February 2011.

  24. The space of measurement outcomes as a spectrum for non-commutative algebras

    Authors: Bas Spitters

    Abstract: Bohrification defines a locale of hidden variables internal in a topos. We find that externally this is the space of partial measurement outcomes. By considering the double negation sheafification, we obtain the space of measurement outcomes which coincides with the spectrum for commutative C*-algebras.

    Submitted 7 June, 2010; originally announced June 2010.

    Journal ref: EPTCS 26, 2010, pp. 127-133

  25. A computer verified, monadic, functional implementation of the integral

    Authors: Russell O'Connor, Bas Spitters

    Abstract: We provide a computer verified exact monadic functional implementation of the Riemann integral in type theory. Together with previous work by O'Connor, this may be seen as the beginning of the realization of Bishop's vision to use constructive mathematics as a programming language for exact analysis.

    Submitted 3 June, 2010; v1 submitted 8 September, 2008; originally announced September 2008.

    Journal ref: Theoretical Computer Science, Volume 411, Issue 37, 7 August 2010, Pages 3386-3402

  26. Almost periodic functions, constructively

    Authors: Bas Spitters

    Abstract: The almost periodic functions form a natural example of a non-separable normed space. As such, it has been a challenge for constructive mathematicians to find a natural treatment of them. Here we present a simple proof of Bohr's fundamental theorem for almost periodic functions which we then generalize to almost periodic functions on general topological groups.

    Submitted 7 October, 2008; v1 submitted 2 December, 2005; originally announced December 2005.

    ACM Class: F.4.1

    Journal ref: Logical Methods in Computer Science, Volume 1, Issue 3 (December 20, 2005) lmcs:2263