Goto

Collaborating Authors

 Logic & Formal Reasoning


Constrained Counting and Sampling: Bridging the Gap between Theory and Practice

arXiv.org Artificial Intelligence

Constrained counting and sampling are two fundamental problems in Computer Science with numerous applications, including network reliability, privacy, probabilistic reasoning, and constrained-random verification. In constrained counting, the task is to compute the total weight, subject to a given weighting function, of the set of solutions of the given constraints. In constrained sampling, the task is to sample randomly, subject to a given weighting function, from the set of solutions to a set of given constraints. Consequently, constrained counting and sampling have been subject to intense theoretical and empirical investigations over the years. Prior work, however, offered either heuristic techniques with poor guarantees of accuracy or approaches with proven guarantees but poor performance in practice. In this thesis, we introduce a novel hashing-based algorithmic framework for constrained sampling and counting that combines the classical algorithmic technique of universal hashing with the dramatic progress made in combinatorial reasoning tools, in particular, SAT and SMT, over the past two decades. The resulting frameworks for counting (ApproxMC2) and sampling (UniGen) can handle formulas with up to million variables representing a significant boost up from the prior state of the art tools' capability to handle few hundreds of variables. If the initial set of constraints is expressed as Disjunctive Normal Form (DNF), ApproxMC is the only known Fully Polynomial Randomized Approximation Scheme (FPRAS) that does not involve Monte Carlo steps. By exploiting the connection between definability of formulas and variance of the distribution of solutions in a cell defined by 3-universal hash functions, we introduced an algorithmic technique, MIS, that reduced the size of XOR constraints employed in the underlying universal hash functions by as much as two orders of magnitude.


Program Synthesis from Visual Specification

arXiv.org Artificial Intelligence

Program synthesis is the process of automatically translating a specification into computer code. Traditional synthesis settings require a formal, precise specification. Motivated by computer education applications where a student learns to code simple turtle-style drawing programs, we study a novel synthesis setting where only a noisy user-intention drawing is specified. This allows students to sketch their intended output, optionally together with their own incomplete program, to automatically produce a completed program. We formulate this synthesis problem as search in the space of programs, with the score of a state being the Hausdorff distance between the program output and the user drawing. We compare several search algorithms on a corpus consisting of real user drawings and the corresponding programs, and demonstrate that our algorithms can synthesize programs optimally satisfying the specification.


Technical Report: Inconsistency in Answer Set Programs and Extensions

arXiv.org Artificial Intelligence

Answer Set Programming (ASP) is a well-known problem solving approach based on nonmonotonic logic programs. HEX-programs extend ASP with external atoms for accessing arbitrary external information, which can introduce values that do not appear in the input program. In this work we consider inconsistent ASP- and HEX-programs, i.e., programs without answer sets. We study characterizations of inconsistency, introduce a novel notion for explaining inconsistencies in terms of input facts, analyze the complexity of reasoning tasks in context of inconsistency analysis, and present techniques for computing inconsistency reasons. This theoretical work is motivated by two concrete applications, which we also present. The first one is the new modeling technique of query answering over subprograms as a convenient alternative to the well-known saturation technique. The second application is a new evaluation algorithm for HEX-programs based on conflict-driven learning for programs with multiple components: while for certain program classes previous techniques suffer an evaluation bottleneck, the new approach shows significant, potentially exponential speedup in our experiments. Since well-known ASP extensions such as constraint ASP and DL-programs correspond to special cases of HEX, all presented results are interesting beyond the specific formalism.


Automated proof synthesis for propositional logic with deep neural networks

arXiv.org Artificial Intelligence

Needless to say, mathematics has become the reliable foundation of modern natural science, including several branches of theoretical computer science, by justifying theorems with proofs. The importance of correct proofs leads to the study of software called proof assistants [Nipkow et al. 2002; Norell 2009; The Coq Development Team 2017], which allow users to state theorems and their proofs formally in the form of certain programming languages and automatically check that the proofs correctly prove the theorems. The realm of the areas that rely on theorem proving is expanding beyond mathematics; for example, it is being applied for system verification [Klein et al. 2009; Leroy 2009], where one states the correctness of a system as a theorem and justifies it in the form of proofs. Automated theorem proving (ATP) [Bibel 2013; Fitting 2012; Pfenning 2004] is a set of techniques that prove logical formulas automatically. We are concerned with the following form of ATP called automated proof synthesis (APS): Given a logical formula P, if P holds, return a proof M of P. In the light of the importance of theorem proving, APS serves as a useful tool for activities based on formal reasoning. For example, from the perspective of the aforementioned system verification, APS serves for automating system verification; indeed, various methods for (semi)automated static program verification [Barnett et al. 2005; Chalin et al. 2007; Filliâtre and Paskevich 2013] can be seen as APS procedures. We also remark another important application of APS: automated program synthesis. An APS algorithm can be seen as an automated program synthesis procedure via the Curry-Howard isomorphism [Sørensen and Urzyczyn 2006], in which M can be seen as a program and P can be seen as a specification. Not only is APS interesting from the practical viewpoint, it is also interesting from the theoretical perspective in that it investigates the algorithmic aspect of theorem proving.


DeepProbLog: Neural Probabilistic Logic Programming

arXiv.org Artificial Intelligence

We introduce DeepProbLog, a probabilistic logic programming language that incorporates deep learning by means of neural predicates. We show how existing inference and learning techniques can be adapted for the new language. Our experiments demonstrate that DeepProbLog supports (i) both symbolic and subsymbolic representations and inference, (ii) program induction, (iii) probabilistic (logic) programming, and (iv) (deep) learning from examples. To the best of our knowledge, this work is the first to propose a framework where general-purpose neural networks and expressive probabilistic-logical modeling and reasoning are integrated in a way that exploits the full expressiveness and strengths of both worlds and can be trained end-to-end based on examples.


On the Computational Complexity of Model Checking for Dynamic Epistemic Logic with S5 Models

arXiv.org Artificial Intelligence

Dynamic epistemic logic (DEL) is a logical framework for representing and reasoning about knowledge change for multiple agents. An important computational task in this framework is the model checking problem, which has been shown to be PSPACE-hard even for S5 models and two agents. We answer open questions in the literature about the complexity of this problem in more restricted settings. We provide a detailed complexity analysis of the model checking problem for DEL, where we consider various combinations of restrictions, such as the number of agents, whether the models are single-pointed or multi-pointed, and whether postconditions are allowed in the updates. In particular, we show that the problem is already PSPACE-hard in (1) the case of one agent, multi-pointed S5 models, and no postconditions, and (2) the case of two agents, only single-pointed S5 models, and no postconditions. In addition, we study the setting where only semi-private announcements are allowed as updates. We show that for this case the problem is already PSPACE-hard when restricted to two agents and three propositional variables.


One Formalization of Virtue Ethics via Learning

arXiv.org Artificial Intelligence

Separate from the two main camps in ethics, deontological ethics (D) and consequentialism (C), there is virtue ethics (V). While there has been extensive formal, computational, and mathematical work done on deontological ethics and consequentialism, there has been very little or almost no work done in formalizing and making rigorous virtue ethics. Proponents of V might claim that it is not feasible to do so given V's emphasis on character and traits, rather than individual actions or consequencens. From the perspective of machine and robot ethics, this is not satisfactory. If V is to be considered to be on equal footing with D and C for the purpose of building morally competent machines, we need to start with formalizing parts of virtue ethics.


Reinforcement Learning of Theorem Proving

arXiv.org Artificial Intelligence

Mirek Olšák Charles University We introduce a theorem proving algorithm that uses practically no domain heuristics for guiding its connection-style proof search. Instead, it runs many Monte-Carlo simulations guided by reinforcement learning from previous proof attempts. We produce several versions of the prover, parameterized by different learning and guiding algorithms. The strongest version of the system is trained on a large corpus of mathematical problems and evaluated on previously unseen problems. The trained system solves within the same number of inferences over 40% more problems than a baseline prover, which is an unusually high improvement in this hard AI domain. To our knowledge this is the first time reinforcement learning has been convincingly applied to solving general mathematical problems on a large scale.


ProofWatch: Watchlist Guidance for Large Theories in E

arXiv.org Artificial Intelligence

Watchlist (also hint list) is a mechanism that allows related proofs to guide a proof search for a new conjecture. This mechanism has been used with the Otter and Prover9 theorem provers, both for interactive formalizations and for human-assisted proving of open conjectures in small theories. In this work we explore the use of watchlists in large theories coming from first-order translations of large ITP libraries, aiming at improving hammer-style automation by smarter internal guidance of the ATP systems. In particular, we (i) design watchlist-based clause evaluation heuristics inside the E ATP system, and (ii) develop new proof guiding algorithms that load many previous proofs inside the ATP and focus the proof search using a dynamically updated notion of proof matching. The methods are evaluated on a large set of problems coming from the Mizar library, showing significant improvement of E's standard portfolio of strategies, and also of the previous best set of strategies invented for Mizar by evolutionary methods.


DeepLogic: End-to-End Logical Reasoning

arXiv.org Artificial Intelligence

Neural networks have been learning complex multi-hop reasoning in various domains. One such formal setting for reasoning, logic, provides a challenging case for neural networks. In this article, we propose a Neural Inference Network (NIN) for learning logical inference over classes of logic programs. Trained in an end-to-end fashion NIN learns representations of normal logic programs, by processing them at a character level, and the reasoning algorithm for checking whether a logic program entails a given query. We define 12 classes of logic programs that exemplify increased level of complexity of the inference process (multi-hop and default reasoning) and show that our NIN passes 10 out of the 12 tasks. We also analyse the learnt representations of logic programs that NIN uses to perform the logical inference.