261 research outputs found
On commutativity based edge lean search
Exploring a graph through search is one of the most basic building blocks of various applications. In a setting with a huge state space, such as in testing and verification, optimizing the search may be crucial. We consider the problem of visiting all states in a graph where edges are generated by actions and the (reachable) states are not known in advance. Some of the actions may commute, i.e., they result in the same state for every order in which they are taken (this is the case when the actions are performed independently by different processes). We show how to use commutativity to achieve full coverage of the states while traversing considerably fewer edges
REST: Integrating Term Rewriting with Program Verification (Extended Version)
We introduce REST, a novel term rewriting technique for theorem proving that uses online termination checking and can be integrated with existing program verifiers. REST enables flexible but terminating term rewriting for theorem proving by: (1) exploiting newly-introduced term orderings that are more permissive than standard rewrite simplification orderings; (2) dynamically and iteratively selecting orderings based on the path of rewrites taken so far; and (3) integrating external oracles that allow steps that cannot be justified with rewrite rules. Our REST approach is designed around an easily implementable core algorithm, parameterizable by choices of term orderings and their implementations; in this way our approach can be easily integrated into existing tools. We implemented REST as a Haskell library and incorporated it into Liquid Haskell's evaluation strategy, extending Liquid Haskell with rewriting rules. We evaluated our REST implementation by comparing it against both existing rewriting techniques and E-matching and by showing that it can be used to supplant manual lemma application in many existing Liquid Haskell proofs
MLFMF: Data Sets for Machine Learning for Mathematical Formalization
We introduce MLFMF, a collection of data sets for benchmarking recommendation
systems used to support formalization of mathematics with proof assistants.
These systems help humans identify which previous entries (theorems,
constructions, datatypes, and postulates) are relevant in proving a new theorem
or carrying out a new construction. Each data set is derived from a library of
formalized mathematics written in proof assistants Agda or Lean. The collection
includes the largest Lean~4 library Mathlib, and some of the largest Agda
libraries: the standard library, the library of univalent mathematics
Agda-unimath, and the TypeTopology library. Each data set represents the
corresponding library in two ways: as a heterogeneous network, and as a list of
s-expressions representing the syntax trees of all the entries in the library.
The network contains the (modular) structure of the library and the references
between entries, while the s-expressions give complete and easily parsed
information about every entry. We report baseline results using standard graph
and word embeddings, tree ensembles, and instance-based learning algorithms.
The MLFMF data sets provide solid benchmarking support for further
investigation of the numerous machine learning approaches to formalized
mathematics. The methodology used to extract the networks and the s-expressions
readily applies to other libraries, and is applicable to other proof
assistants. With more than entries in total, this is currently the
largest collection of formalized mathematical knowledge in machine learnable
format.Comment: NeurIPS 202
Robust Computer Algebra, Theorem Proving, and Oracle AI
In the context of superintelligent AI systems, the term "oracle" has two
meanings. One refers to modular systems queried for domain-specific tasks.
Another usage, referring to a class of systems which may be useful for
addressing the value alignment and AI control problems, is a superintelligent
AI system that only answers questions. The aim of this manuscript is to survey
contemporary research problems related to oracles which align with long-term
research goals of AI safety. We examine existing question answering systems and
argue that their high degree of architectural heterogeneity makes them poor
candidates for rigorous analysis as oracles. On the other hand, we identify
computer algebra systems (CASs) as being primitive examples of domain-specific
oracles for mathematics and argue that efforts to integrate computer algebra
systems with theorem provers, systems which have largely been developed
independent of one another, provide a concrete set of problems related to the
notion of provable safety that has emerged in the AI safety community. We
review approaches to interfacing CASs with theorem provers, describe
well-defined architectural deficiencies that have been identified with CASs,
and suggest possible lines of research and practical software projects for
scientists interested in AI safety.Comment: 15 pages, 3 figure
Deep Learning Recommendations for the ACL2 Interactive Theorem Prover
Due to the difficulty of obtaining formal proofs, there is increasing interest in partially or completely automating proof search in interactive theorem provers. Despite being a theorem prover with an active community and plentiful corpus of 170,000+ theorems, no deep learning system currently exists to help automate theorem proving in ACL2. We have developed a machine learning system that generates recommendations to automatically complete proofs. We show that our system benefits from the copy mechanism introduced in the context of program repair. We make our system directly accessible from within ACL2 and use this interface to evaluate our system in a realistic theorem proving environment
Computer Aided Verification
The open access two-volume set LNCS 11561 and 11562 constitutes the refereed proceedings of the 31st International Conference on Computer Aided Verification, CAV 2019, held in New York City, USA, in July 2019. The 52 full papers presented together with 13 tool papers and 2 case studies, were carefully reviewed and selected from 258 submissions. The papers were organized in the following topical sections: Part I: automata and timed systems; security and hyperproperties; synthesis; model checking; cyber-physical systems and machine learning; probabilistic systems, runtime techniques; dynamical, hybrid, and reactive systems; Part II: logics, decision procedures; and solvers; numerical programs; verification; distributed systems and networks; verification and invariants; and concurrency
Explaining Gabriel-Zisman localization to the computer
This explains a computer formulation of Gabriel-Zisman localization of
categories in the proof assistant Coq. It includes both the general
localization construction with the proof of GZ's Lemma 1.2, as well as the
construction using calculus of fractions. The proof files are bundled with the
other preprint "Files for GZ localization" posted simultaneously
Kirchhoff Index As a Measure of Edge Centrality in Weighted Networks: Nearly Linear Time Algorithms
Most previous work of centralities focuses on metrics of vertex importance
and methods for identifying powerful vertices, while related work for edges is
much lesser, especially for weighted networks, due to the computational
challenge. In this paper, we propose to use the well-known Kirchhoff index as
the measure of edge centrality in weighted networks, called -Kirchhoff
edge centrality. The Kirchhoff index of a network is defined as the sum of
effective resistances over all vertex pairs. The centrality of an edge is
reflected in the increase of Kirchhoff index of the network when the edge
is partially deactivated, characterized by a parameter . We define two
equivalent measures for -Kirchhoff edge centrality. Both are global
metrics and have a better discriminating power than commonly used measures,
based on local or partial structural information of networks, e.g. edge
betweenness and spanning edge centrality.
Despite the strong advantages of Kirchhoff index as a centrality measure and
its wide applications, computing the exact value of Kirchhoff edge centrality
for each edge in a graph is computationally demanding. To solve this problem,
for each of the -Kirchhoff edge centrality metrics, we present an
efficient algorithm to compute its -approximation for all the
edges in nearly linear time in . The proposed -Kirchhoff edge
centrality is the first global metric of edge importance that can be provably
approximated in nearly-linear time. Moreover, according to the
-Kirchhoff edge centrality, we present a -Kirchhoff vertex
centrality measure, as well as a fast algorithm that can compute
-approximate Kirchhoff vertex centrality for all the vertices in
nearly linear time in
- …