Skip to main content

Showing 1–38 of 38 results for author: Kuncak, V

.
  1. arXiv:2406.07222  [pdf, other

    cs.CL cs.AI cs.LG

    Improving Autoformalization using Type Checking

    Authors: Auguste Poiroux, Gail Weiss, Viktor Kunčak, Antoine Bosselut

    Abstract: Large language models show promise for autoformalization, the task of automatically translating natural language into formal languages. However, current autoformalization methods remain limited. The last reported state-of-the-art performance on the ProofNet formalization benchmark for the Lean proof assistant, achieved using Codex for Lean 3, only showed successful formalization of 16.1% of inform… ▽ More

    Submitted 11 June, 2024; originally announced June 2024.

  2. arXiv:2403.13403  [pdf, other

    cs.LO

    Mechanized HOL Reasoning in Set Theory

    Authors: Simon Guilloud, Sankalp Gambhir, Andrea Gilot, Viktor Kunčak

    Abstract: We present a mechanized embedding of higher-order logic (HOL) and algebraic data types (ADT) into first-order logic with ZFC axioms. We implement this in the Lisa proof assistant for schematic first-order logic and its library based on axiomatic set theory. HOL proof steps are implemented as proof producing tactics in Lisa, and the types are interpreted as sets, with function (or arrow) types coin… ▽ More

    Submitted 20 March, 2024; originally announced March 2024.

    ACM Class: I.2.3; F.4.1

  3. arXiv:2307.07569  [pdf, ps, other

    cs.LO math.LO

    Orthologic with Axioms

    Authors: Simon Guilloud, Viktor Kuncak

    Abstract: We study the proof theory and algorithms for orthologic, a logical system based on ortholattices, which have shown practical relevance in simplification and normalization of verification conditions. Ortholattices weaken Boolean algebras while having polynomial-time equivalence checking that is sound with respect to Boolean algebra semantics. We generalize ortholattice reasoning and obtain an algor… ▽ More

    Submitted 7 December, 2023; v1 submitted 14 July, 2023; originally announced July 2023.

  4. arXiv:2208.02713  [pdf, ps, other

    cs.LO

    NP Decision Procedure for Monomial and Linear Integer Constraints

    Authors: Rodrigo Raya, Jad Hamza, Viktor Kunčak

    Abstract: Motivated by satisfiability of constraints with function symbols, we consider numerical inequalities on non-negative integers. The constraints we consider are a conjunction of a linear system Ax = b and a conjunction of (non-)convex constraints of the form x_i >= x_j^n (x_i <= x_j^n). We show that the satisfiability of these constraints is NP-complete even if the solution to the linear part is giv… ▽ More

    Submitted 20 October, 2022; v1 submitted 4 August, 2022; originally announced August 2022.

  5. arXiv:2110.03315  [pdf, ps, other

    cs.LO

    On Equivalence Checking for Orthocomplemented Bisemilattices in Log-Linear Time

    Authors: Simon Guilloud, Viktor Kunčak

    Abstract: We present a quasilinear time algorithm to decide the word problem on a natural algebraic structures we call orthocomplemented bisemilattices, a subtheory of boolean algebra. We use as a base a variation of Hopcroft, Ullman and Aho algorithm for tree isomorphism which we combine with a term rewriting system to decide equivalence of two terms. We prove that the rewriting system is terminating and c… ▽ More

    Submitted 7 March, 2022; v1 submitted 7 October, 2021; originally announced October 2021.

  6. arXiv:2109.05363  [pdf, other

    cs.LO

    NP Satisfiability for Arrays as Powers

    Authors: Rodrigo Raya, Viktor Kunčak

    Abstract: We show that the satisfiability problem for the quantifier-free theory of product structures with the equicardinality relation is in NP. As an application, we extend the combinatory array logic fragment to handle cardinality constraints. The resulting fragment is independent of the base element and index set theories.

    Submitted 11 September, 2021; originally announced September 2021.

  7. arXiv:2107.08824  [pdf, ps, other

    cs.SE cs.PL

    Verifying a Realistic Mutable Hash Table

    Authors: Samuel Chassot, Viktor Kunčak

    Abstract: In this work, we verify the mutable LongMap from the Scala standard library, a hash table using open addressing within a single array, using the Stainless program verifier. As a reference implementation, we write an immutable map based on a list of tuples. We then show that LongMap's operations correspond to operations of this association list. To express the resizing of the hash table array, we i… ▽ More

    Submitted 30 January, 2024; v1 submitted 16 July, 2021; originally announced July 2021.

  8. arXiv:2103.07699  [pdf, ps, other

    cs.LO

    Proving and Disproving Programs with Shared Mutable Data

    Authors: Georg Schmid, Viktor Kunčak

    Abstract: We present a tool for verification of deterministic programs with shared mutable references against specifications such as assertions, preconditions, postconditions, and read/write effects. We implement our tool by encoding programs with mutable references into annotated purely functional recursive programs. We then rely on function unfolding and the SMT solver Z3 to prove or disprove safety and t… ▽ More

    Submitted 13 March, 2021; originally announced March 2021.

    Comments: 10 pages, 5 figures

  9. arXiv:2011.07653  [pdf, other

    cs.PL

    Coming to Terms with Your Choices: An Existential Take on Dependent Types

    Authors: Georg Stefan Schmid, Olivier Blanvillain, Jad Hamza, Viktor Kunčak

    Abstract: Type-level programming is an increasingly popular way to obtain additional type safety. Unfortunately, it remains a second-class citizen in the majority of industrially-used programming languages. We propose a new dependently-typed system with subty** and singleton types whose goal is to enable type-level programming in an accessible style. At the heart of our system lies a non-deterministic cho… ▽ More

    Submitted 15 November, 2020; originally announced November 2020.

    Comments: 25 pages, 11 figures. A version of this manuscript had been submitted for review in the first half of 2020

    ACM Class: D.3.1; D.3.3

  10. LL(1) Parsing with Derivatives and Zippers

    Authors: Romain Edelmann, Jad Hamza, Viktor Kunčak

    Abstract: In this paper, we present an efficient, functional, and formally verified parsing algorithm for LL(1) context-free expressions based on the concept of derivatives of formal languages. Parsing with derivatives is an elegant parsing technique, which, in the general case, suffers from cubic worst-case time complexity and slow performance in practice. We specialise the parsing with derivatives algorit… ▽ More

    Submitted 21 January, 2021; v1 submitted 28 November, 2019; originally announced November 2019.

    Comments: Appeared at PLDI'20 under the title "Zippy LL(1) Parsing with Derivatives"

  11. System FR as Foundations for Stainless

    Authors: Jad Hamza, Nicolas Voirol, Viktor Kunčak

    Abstract: We present the design, implementation, and foundation of a verifier for higher-order functional programs with generics and recursive data types. Our system supports proving safety and termination using preconditions, postconditions and assertions. It supports writing proof hints using assertions and recursive calls. To formalize the soundness of the system we introduce System FR, a calculus suppor… ▽ More

    Submitted 24 March, 2020; v1 submitted 6 April, 2019; originally announced April 2019.

  12. arXiv:1903.08571  [pdf, ps, other

    cs.LO

    Identifying Maximal Non-Redundant Integer Cone Generators

    Authors: Slobodan Mitrović, Ruzica Piskac, Viktor Kunčak

    Abstract: A non-redundant integer cone generator (NICG) of dimension $d$ is a set $S$ of vectors from $\{0,1\}^d$ whose vector sum cannot be generated as a positive integer linear combination of a proper subset of $S$. The largest possible cardinality of NICG of a dimension $d$, denoted by $N(d)$, provides an upper bound on the sparsity of systems of integer equations with a large number of integer variable… ▽ More

    Submitted 20 March, 2019; originally announced March 2019.

  13. arXiv:1902.02194  [pdf, other

    cs.AI

    Neural-Network Guided Expression Transformation

    Authors: Romain Edelmann, Viktor Kunčak

    Abstract: Optimizing compilers, as well as other translator systems, often work by rewriting expressions according to equivalence preserving rules. Given an input expression and its optimized form, finding the sequence of rules that were applied is a non-trivial task. Most of the time, the tools provide no proof, of any kind, of the equivalence between the original expression and its optimized form. In this… ▽ More

    Submitted 6 February, 2019; originally announced February 2019.

  14. Bidirectional Evaluation with Direct Manipulation

    Authors: Mikaël Mayer, Viktor Kunčak, Ravi Chugh

    Abstract: We present an evaluation update (or simply, update) algorithm for a full-featured functional programming language, which synthesizes program changes based on output changes. Intuitively, the update algorithm retraces the steps of the original evaluation, rewriting the program as needed to reconcile differences between the original and updated output values. Our approach, furthermore, allows expert… ▽ More

    Submitted 18 October, 2018; v1 submitted 11 September, 2018; originally announced September 2018.

    Comments: OOPSLA 2018 Paper + Supplementary Appendix

  15. arXiv:1710.09208  [pdf, ps, other

    cs.FL

    Minimal Synthesis of String To String Functions From Examples

    Authors: Jad Hamza, Viktor Kunčak

    Abstract: We study the problem of synthesizing string to string transformations from a set of input/output examples. The transformations we consider are expressed using deterministic finite automata (DFA) that read pairs of letters, one letter from the input and one from the output. The DFA corresponding to these transformations have additional constraints, ensuring that each input string is mapped to exact… ▽ More

    Submitted 4 June, 2018; v1 submitted 25 October, 2017; originally announced October 2017.

    Comments: SYNT 2018

  16. arXiv:1707.04148  [pdf, ps, other

    cs.PL

    On Repair with Probabilistic Attribute Grammars

    Authors: Manos Koukoutos, Mukund Raghothaman, Etienne Kneuss, Viktor Kuncak

    Abstract: Program synthesis and repair have emerged as an exciting area of research, driven by the potential for revolutionary advances in programmer productivity. Among most promising ideas emerging for synthesis are syntax-driven search, probabilistic models of code, and the use of input-output examples. Our paper shows how to combine these techniques and use them for program repair, which is among the mo… ▽ More

    Submitted 13 July, 2017; originally announced July 2017.

  17. arXiv:1701.04288  [pdf, other

    cs.FL

    Polynomial-Time Proactive Synthesis of Tree-to-String Functions from Examples

    Authors: Mikaël Mayer, Jad Hamza, Viktor Kuncak

    Abstract: Synthesis from examples enables non-expert users to generate programs by specifying examples of their behavior. A domain-specific form of such synthesis has been recently deployed in a widely used spreadsheet software product. In this paper we contribute to foundations of such techniques and present a complete algorithm for synthesis of a class of recursive functions defined by structural recursio… ▽ More

    Submitted 24 May, 2017; v1 submitted 16 January, 2017; originally announced January 2017.

  18. An Update on Deductive Synthesis and Repair in the Leon Tool

    Authors: Manos Koukoutos, Etienne Kneuss, Viktor Kuncak

    Abstract: We report our progress in scaling deductive synthesis and repair of recursive functional Scala programs in the Leon tool. We describe new techniques, including a more precise mechanism for encoding the space of meaningful candidate programs. Our techniques increase the scope of synthesis by expanding the space of programs we can synthesize and by reducing the synthesis time in many cases. As a new… ▽ More

    Submitted 22 November, 2016; originally announced November 2016.

    Comments: In Proceedings SYNT 2016, arXiv:1611.07178

    Journal ref: EPTCS 229, 2016, pp. 100-111

  19. Translating Scala Programs to Isabelle/HOL

    Authors: Lars Hupel, Viktor Kuncak

    Abstract: We present a trustworthy connection between the Leon verification system and the Isabelle proof assistant. Leon is a system for verifying functional Scala programs. It uses a variety of automated theorem provers (ATPs) to check verification conditions (VCs) stemming from the input program. Isabelle, on the other hand, is an interactive theorem prover used to verify mathematical specifications usin… ▽ More

    Submitted 6 July, 2016; originally announced July 2016.

    Comments: International Joint Conference on Automated Reasoning, 2016

    Journal ref: IJCAR 2016: Automated Reasoning Volume 9706 of the series Lecture Notes in Computer Science pp 568-577, Springer

  20. arXiv:1602.00786   

    cs.PL cs.LO

    Proceedings Fourth Workshop on Synthesis

    Authors: Pavol Černý, Viktor Kuncak, Madhusudan Parthasarathy

    Abstract: The SYNT workshop aims to bring together researchers interested in the broad area of synthesis of computing systems. The goal is to foster the development of frontier techniques in automating the development of computing system. Contributions of interest include algorithms, complexity and decidability analysis, as well as reproducible heuristics, implemented tools, and experimental evaluation. Ap… ▽ More

    Submitted 1 February, 2016; originally announced February 2016.

    Journal ref: EPTCS 202, 2016

  21. arXiv:1510.02642  [pdf, ps, other

    cs.LO

    An Instantiation-Based Approach for Solving Quantified Linear Arithmetic

    Authors: Andrew Reynolds, Tim King, Viktor Kuncak

    Abstract: This paper presents a framework to derive instantiation-based decision procedures for satisfiability of quantified formulas in first-order theories, including its correctness, implementation, and evaluation. Using this framework we derive decision procedures for linear real arithmetic (LRA) and linear integer arithmetic (LIA) formulas with one quantifier alternation. Our procedure can be integrate… ▽ More

    Submitted 11 February, 2016; v1 submitted 9 October, 2015; originally announced October 2015.

  22. arXiv:1502.04464  [pdf, ps, other

    cs.LO

    On Counterexample Guided Quantifier Instantiation for Synthesis in CVC4

    Authors: Andrew Reynolds, Morgan Deters, Viktor Kuncak, Cesare Tinelli, Clark Barrett

    Abstract: We introduce the first program synthesis engine implemented inside an SMT solver. We present an approach that extracts solution functions from unsatisfiability proofs of the negated form of synthesis conjectures. We also discuss novel counterexample-guided techniques for quantifier instantiation that we use to make finding such proofs practically feasible. A particularly important class of specifi… ▽ More

    Submitted 23 June, 2015; v1 submitted 16 February, 2015; originally announced February 2015.

  23. arXiv:1410.0198  [pdf, other

    cs.PL

    Towards a Compiler for Reals

    Authors: Eva Darulova, Viktor Kuncak

    Abstract: Numerical software, common in scientific computing or embedded systems, inevitably uses an approximation of the real arithmetic in which most algorithms are designed. In many domains, roundoff errors are not the only source of inaccuracy and measurement and other input errors further increase the uncertainty of the computed results. Adequate tools are needed to help users select suitable approxima… ▽ More

    Submitted 11 March, 2016; v1 submitted 1 October, 2014; originally announced October 2014.

  24. arXiv:1309.2511  [pdf, other

    cs.PL

    On Sound Compilation of Reals

    Authors: Eva Darulova, Viktor Kuncak

    Abstract: Writing accurate numerical software is hard because of many sources of unavoidable uncertainties, including finite numerical precision of implementations. We present a programming model where the user writes a program in a real-valued implementation and specification language that explicitly includes different types of uncertainties. We then present a compilation algorithm that generates a convent… ▽ More

    Submitted 10 September, 2013; originally announced September 2013.

    Report number: EPFL-REPORT-187498

  25. arXiv:1304.5661  [pdf, ps, other

    cs.PL cs.LO cs.SE

    On Integrating Deductive Synthesis and Verification Systems

    Authors: Etienne Kneuss, Viktor Kuncak, Ivan Kuraj, Philippe Suter

    Abstract: We describe techniques for synthesis and verification of recursive functional programs over unbounded domains. Our techniques build on top of an algorithm for satisfiability modulo recursive functions, a framework for deductive synthesis, and complete synthesis procedures for algebraic data types. We present new counterexample-guided algorithms for constructing verified programs. We have implement… ▽ More

    Submitted 20 April, 2013; originally announced April 2013.

    Comments: 17 pages. 46 references

    Report number: EPFL-REPORT-186043

  26. arXiv:1302.4187  [pdf, ps, other

    cs.LO

    The Relationship between Craig Interpolation and Recursion-Free Horn Clauses

    Authors: Philipp Rümmer, Hossein Hojjat, Viktor Kuncak

    Abstract: Despite decades of research, there are still a number of concepts commonly found in software programs that are considered challenging for verification: among others, such concepts include concurrency, and the compositional analysis of programs with procedures. As a promising direction to overcome such difficulties, recently the use of Horn constraints as intermediate representation of software pro… ▽ More

    Submitted 18 February, 2013; originally announced February 2013.

    Comments: 20 pages

  27. arXiv:1301.4973  [pdf, other

    cs.LO

    Disjunctive Interpolants for Horn-Clause Verification (Extended Technical Report)

    Authors: Philipp Rümmer, Hossein Hojjat, Viktor Kuncak

    Abstract: One of the main challenges in software verification is efficient and precise compositional analysis of programs with procedures and loops. Interpolation methods remain one of the most promising techniques for such verification, and are closely related to solving Horn clause constraints. We introduce a new notion of interpolation, disjunctive interpolation, which solve a more general class of probl… ▽ More

    Submitted 21 January, 2013; originally announced January 2013.

  28. arXiv:1206.7064  [pdf, ps, other

    cs.AI

    Software Verification and Graph Similarity for Automated Evaluation of Students' Assignments

    Authors: Milena Vujosevic-Janicic, Mladen Nikolic, Dusan Tosic, Viktor Kuncak

    Abstract: In this paper we promote introducing software verification and control flow graph similarity measurement in automated evaluation of students' programs. We present a new grading framework that merges results obtained by combination of these two approaches with results obtained by automated testing, leading to improved quality and precision of automated grading. These two approaches are also useful… ▽ More

    Submitted 29 June, 2012; originally announced June 2012.

  29. arXiv:cs/0609104  [pdf, ps, other

    cs.PL cs.LO cs.SE

    On Verifying Complex Properties using Symbolic Shape Analysis

    Authors: Thomas Wies, Viktor Kuncak, Karen Zee, Andreas Podelski, Martin Rinard

    Abstract: One of the main challenges in the verification of software systems is the analysis of unbounded data structures with dynamic memory allocation, such as linked data structures and arrays. We describe Bohne, a new analysis for verifying data structures. Bohne verifies data structure operations and shows that 1) the operations preserve data structure invariants and 2) the operations satisfy their s… ▽ More

    Submitted 18 September, 2006; originally announced September 2006.

    Report number: MPI-I-2006-2-001

  30. arXiv:cs/0508123  [pdf, ps, other

    cs.PL cs.LO cs.SE

    On Algorithms and Complexity for Sets with Cardinality Constraints

    Authors: Bruno Marnette, Viktor Kuncak, Martin Rinard

    Abstract: Typestate systems ensure many desirable properties of imperative programs, including initialization of object fields and correct use of stateful library interfaces. Abstract sets with cardinality constraints naturally generalize typestate properties: relationships between the typestates of objects can be expressed as subset and disjointness relations on sets, and elements of sets can be represen… ▽ More

    Submitted 28 August, 2005; originally announced August 2005.

    Comments: 20 pages. 12 figures

    Report number: MIT CSAIL Technical Report MIT-LCS-TR-997

  31. arXiv:cs/0410073  [pdf, ps, other

    cs.LO cs.PL cs.SE

    On Spatial Conjunction as Second-Order Logic

    Authors: Viktor Kuncak, Martin Rinard

    Abstract: Spatial conjunction is a powerful construct for reasoning about dynamically allocated data structures, as well as concurrent, distributed and mobile computation. While researchers have identified many uses of spatial conjunction, its precise expressive power compared to traditional logical constructs was not previously known. In this paper we establish the expressive power of spatial conjunction… ▽ More

    Submitted 28 October, 2004; originally announced October 2004.

    Comments: 16 pages

    Report number: MIT CSAIL 970

  32. arXiv:cs/0408045  [pdf, ps, other

    cs.PL cs.LO cs.SE

    On computing the fixpoint of a set of boolean equations

    Authors: Viktor Kuncak, K. Rustan M. Leino

    Abstract: This paper presents a method for computing a least fixpoint of a system of equations over booleans. The resulting computation can be significantly shorter than the result of iteratively evaluating the entire system until a fixpoint is reached.

    Submitted 19 August, 2004; originally announced August 2004.

    Comments: 15 pages

    Report number: MSR-TR-2003-08 ACM Class: D.2.4; D.3.1; F.3.1; F.3.2; F.4.1

  33. arXiv:cs/0408019  [pdf, ps, other

    cs.PL cs.LO

    On Generalized Records and Spatial Conjunction in Role Logic

    Authors: Viktor Kuncak, Martin Rinard

    Abstract: We have previously introduced role logic as a notation for describing properties of relational structures in shape analysis, databases and knowledge bases. A natural fragment of role logic corresponds to two-variable logic with counting and is therefore decidable. We show how to use role logic to describe open and closed records, as well the dual of records, inverse records. We observe that the… ▽ More

    Submitted 5 August, 2004; originally announced August 2004.

    Comments: 30 pages. A version appears in SAS 2004

    Report number: MIT CSAIL 942 ACM Class: D.2.4; D.3.1; D.3.3; F.3.1; F.3.2; F.4.1

  34. arXiv:cs/0408018  [pdf, ps, other

    cs.PL cs.LO

    On Role Logic

    Authors: Viktor Kuncak, Martin Rinard

    Abstract: We present role logic, a notation for describing properties of relational structures in shape analysis, databases, and knowledge bases. We construct role logic using the ideas of de Bruijn's notation for lambda calculus, an encoding of first-order logic in lambda calculus, and a simple rule for implicit arguments of unary and binary predicates. The unrestricted version of role logic has the expr… ▽ More

    Submitted 5 August, 2004; originally announced August 2004.

    Comments: 20 pages. Our later SAS 2004 result builds on this work

    Report number: MIT CSAIL 925 ACM Class: D.2.4; D.3.1; D.3.3; F.3.1; F.3.2; F.4.1

  35. arXiv:cs/0408015  [pdf, ps, other

    cs.LO cs.PL cs.SE

    On the Theory of Structural Subty**

    Authors: Viktor Kuncak, Martin Rinard

    Abstract: We show that the first-order theory of structural subty** of non-recursive types is decidable. Let $Σ$ be a language consisting of function symbols (representing type constructors) and $C$ a decidable structure in the relational language $L$ containing a binary relation $\leq$. $C$ represents primitive types; $\leq$ represents a subtype ordering. We introduce the notion of $Σ$-term-power of… ▽ More

    Submitted 5 August, 2004; originally announced August 2004.

    Comments: 51 page. A version appeared in LICS 2003

    Report number: MIT CSAIL 879 ACM Class: D.2.4; D.3.1; D.3.3; F.3.1; F.3.2; F.4.1

  36. arXiv:cs/0408014  [pdf, ps, other

    cs.PL cs.LO

    Typestate Checking and Regular Graph Constraints

    Authors: Viktor Kuncak, Martin Rinard

    Abstract: We introduce regular graph constraints and explore their decidability properties. The motivation for regular graph constraints is 1) type checking of changing types of objects in the presence of linked data structures, 2) shape analysis techniques, and 3) generalization of similar constraints over trees and grids. We define a subclass of graphs called heaps as an abstraction of the data structur… ▽ More

    Submitted 4 August, 2004; originally announced August 2004.

    Comments: 21 page. A version appeared in SAS 2003

    Report number: MIT CSAIL 863 ACM Class: D.2.4; D.3.1; D.3.3; F.3.1; F.3.2; F.4.1

  37. arXiv:cs/0408013  [pdf, ps, other

    cs.PL cs.SE

    Roles Are Really Great!

    Authors: Viktor Kuncak, Patrick Lam, Martin Rinard

    Abstract: We present a new role system for specifying changing referencing relationships of heap objects. The role of an object depends, in large part, on its aliasing relationships with other objects, with the role of each object changing as its aliasing relationships change. Roles therefore capture important object and data structure properties and provide useful information about how the actions of the… ▽ More

    Submitted 4 August, 2004; originally announced August 2004.

    Comments: 29 pages. A version appeared in POPL 2002

    Report number: MIT CSAIL 822 ACM Class: D.2.4; D.3.1; D.3.3; F.3.1; F.3.2

  38. arXiv:cs/0407045  [pdf, ps, other

    cs.LO cs.PL

    The First-Order Theory of Sets with Cardinality Constraints is Decidable

    Authors: Viktor Kuncak, Martin Rinard

    Abstract: We show that the decidability of the first-order theory of the language that combines Boolean algebras of sets of uninterpreted elements with Presburger arithmetic operations. We thereby disprove a recent conjecture that this theory is undecidable. Our language allows relating the cardinalities of sets to the values of integer variables, and can distinguish finite and infinite sets. We use quant… ▽ More

    Submitted 3 October, 2004; v1 submitted 17 July, 2004; originally announced July 2004.

    Comments: 18 pages

    Report number: MIT CSAIL 958