In this paper we give a short introduction in first-order theorem proving and the use of the theorem prover VAMPIRE. We discuss the superposition calculus and explain the key concepts of saturation and redundancy elimination, present saturation algorithms and preprocessing, and demonstrate how these concepts are implemented in VAMPIRE. Further, we also cover more recent topics and features of VAMPIRE designed for advanced applications, including satisfiability checking, theory reasoning, interpolation, consequence elimination, and program analysis.
We present a new method for automatic generation of loop invariants for programs containing arrays. Unlike all previously known methods, our method allows one to generate first-order invariants containing alternations of quantifiers. The method is based on the automatic analysis of the so-called update predicates of loops. An update predicate for an array A expresses updates made to A. We observe that many properties of update predicates can be extracted automatically from the loop description and loop properties obtained by other methods such as a simple analysis of counters occurring in the loop, recurrence solving and quantifier elimination over loop variables. We run the theorem prover Vampire on some examples and show that non-trivial loop invariants can be generated.
Theorema is a project that aims at supporting the entire process of mathematical theory exploration within one coherent logic and software system. This survey paper illustrates the style of Theoremasupported mathematical theory exploration by a case study (the automated synthesis of an algorithm for the construction of Gröbner Bases) and gives an overview on some reasoners and organizational tools for theory exploration developed in the Theorema project.
Summary
During embryonic cell cycles, B-cyclin-CDKs function as the core component of an autonomous oscillator. Current models for the cell-cycle oscillator in non-embryonic cells are slightly more complex, incorporating multiple G1, S-phase, and mitotic cyclin-CDK complexes. However, periodic events persist in yeast cells lacking all S-phase and mitotic B-cyclin genes, challenging the assertion that cyclin-CDK complexes are essential for oscillations. These and other results led to the proposal that a network of sequentially activated transcription factors functions as an underlying cell-cycle oscillator. Here we examine the individual contributions of a transcription-factor network and cyclin-CDKs to the maintenance of cell-cycle oscillations. Our findings suggest that while cyclin-CDKs are not required for oscillations, they do contribute to oscillation robustness. A model emerges in which cyclin expression (thereby, CDK activity) is entrained to an autonomous transcriptional oscillator. CDKs then modulate oscillator function and serve as effectors of the oscillator.
EXTENDED ABSTRACTInvariants with quantifiers are important for verification and static analysis of programs over arrays due to the unbounded nature of arrays. Such invariants can express relationships among array elements and properties involving array and scalar variables of the loop.This talk presents how quantified loop invariants of programs over arrays can be automatically inferred using a first order theorem prover, reducing the burden of annotating loops with complete invariants. Unlike all previously known methods, our method is able to generate loop invariants containing quantifier alternations.The method is based on the following steps. (1) Given a loop over array and scalar variables, we first try to extract from it various information that can be expressed by first-order formulas. For example, these formulas can express the values of loop variables in terms of the loop counter, monotonicity properties of these variables considered as functions of the loop counter and polynomial relations among these variables. For extracting this information we deploy techniques from symbolic computation, such as recurrence solving and quantifier elimination, as presented in [3], [1], to perform inductive reasoning over scalar variables.(2) Using the derived loop properties, we then automatically discover first-order properties of the so-called update predicates for array variables used in the loop and monotonicity properties for scalar variables. The update predicates describe the positions at which arrays are updated, iterations at which the updates occur and the update values. The first-order information extracted from the loop description can use auxiliary symbols, such as symbols denoting update predicates or loop counters. By relying on the update predicates of arrays and the monotonicity properties of scalars, we avoid inductive reasoning over arrays.(3) After having collected the first-order information, we run a saturation theorem prover to eliminate the auxiliary symbols and obtain loop invariants expressed as first-order formulas. In our work we used the first-order theorem prover Vampire [4]. To make Vampire suitable for invariant generation we had to extend it in two ways: (i) add a sound but incomplete axiomatisation of linear integer arithmetic that is sufficient for proving many essential properties of integers, and (ii) use a reduction ordering that makes all auxiliary symbols large in precedence and having a large weight in the Knuth-Bendix ordering used by Vampire. When the invariants derived by Vampire contain skolem functions, we de-skolemise them into formulas with quantifier alternations. The main features of our technique are the following.• We require no user guidance such as a postcondition or a collection of predicates from which an invariant can be built: all we have is a loop description. • We avoid inductive reasoning over the array content. • We are able to generate automatically complex invariants involving quantifier alternations. We have successfully tried our method on a number of ex...
In our mathematical model of a transcription factor network, we inadvertently reported the wrong logic rules for the TF, YHP1 in Figure 3A. In each column (A-D), the logic should read, ''MCM1 n SBF n HCM1 ^: ASH1'' (instead of ''n : ASH1''). Note also that activation edges from MCM and HCM1 to YHP1 were unintentionally omitted from the network graphs depicted in Figures 2J and S2A. Finally, in Figure 3C, the distributions for the attractors using activation logic ''D'' should be 35.94%, 64.06%, and 0.00%, respectively, for the attractors 1, 2, and 3.The updated versions of the figures are provided below. We apologize for any confusion these errors may have caused.
scite is a Brooklyn-based startup that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.