RecycleUnits

Last updated

In mathematical logic, proof compression by RecycleUnits [1] is a method for compressing propositional logic resolution proofs. Its main idea is to make use of intermediate (e.g. non input) proof results being unit clauses, i.e. clauses containing only one literal. Certain proof nodes can be replaced with the nodes representing these unit clauses. After this operation the obtained graph is transformed into a valid proof. The output proof is shorter than the original while being equivalent or stronger.

Contents

Algorithms

The algorithms treat resolution proofs as directed acyclic graphs, where each node is labeled by a clause and each node has either one or two predecessors called parents. If a node has two parents it is also labeled with a propositional variable called the pivot, which was used to compute the nodes clause using resolution.
The following algorithm describes the replacement of nodes.
It is assumed that in the resolution proof for all non leaf nodes with two parent nodes, the left parent node contains the positive and the right parent node the negative pivot variable. The algorithm first iterates over all non leaf unit clauses and then over all non ancestor nodes of the proof. If the node's pivot element is the variable of the present unit clause's literal, one of the parent nodes can be replaced by the node corresponding to the unit clause. Because of the above assumption, if the literal is equal to the pivot, the left parent contains the literal and can be replaced by the unit clause node. If the literal is equal to the negation of the pivot the right parent is replaced.

1  function RecycleUnits(Proof ): 2      Let  be the set of non leaf nodes representing unit clauses 3      for each do 4          Mark the ancestors of u 5          for each unmarked do 6              let  be the pivot variable of  7              let  be the literal contained in the clause of  8              ifthen 9                  replace the left parent of  with  10             else ifthen 11                 replace the right parent of  with 

In general after execution of this function the proof won't be a legal proof anymore. The following algorithm takes the root node of a proof and constructs a legal proof out of it. The computation begins with recursively calls to the children nodes. In order to minimize the algorithm calls, it is beingt kept track of which nodes were already visited. Note that a resolution proof can be seen as a general directed acyclic graph as opposed to a tree. After the recursive call the clause of the present node is updated. While doing so four different cases can occur. The present pivot variable can occur in both, the left, the right or in none of the parent nodes. If it occurs in both parent nodes the clause is calculated as resolvent of the parent clauses. If it is not present in one of the parent nodes the clause of this parent can be copied. If it misses in both parents one has to choose heuristically.

1  function ReconstructProof(Node ): 3      if is visited return 4      mark  as visited 5      if has no parents return 6      else if has only one parent then 7          ReconstructProof() 8          .Clause = .Clause 9      else 10         let  be the left and  the right parent node 11         let  be the pivot variable used to compute  12         ReconstructProof() 13         ReconstructProof() 14         if and  15             .Clause = Resolve(,,) 16         else if and  17             .Clause = .Clause 18             delete reference to  19         else if and  20             .Clause = .Clause 21             delete reference to  22         else 23             let  and  //choose x heuristically 24             .Clause = .Clause 25             delete reference to 

Example

Consider the following resolution proof.
One intermediate result is which is representing the unit clause (-1).

There is one non-ancestor node using the variable 1 as a pivot element: .

The literal -1 is contained in the right parent of this node and therefore this parent is replaced by . The string denotes a reference to the clause (the structure is now a directed acyclic graph rather than a tree).

This structure is not a legal proof anymore, because is not the resolvent of and . Therefore it has to be transformed into one again.
The first step is to update . As the pivot variable 1 appears in both parent nodes, is computed as the resolvent of them.

The left parent node of does not contain the pivot variable and therefore the clause of this parent is copied into the clause of . The link between and is removed and since there are no other links to this node can be deleted.

Again the left parent of does not contain the pivot variable and the same operation is performed as before.

Note: the reference was replaced by the actual proof node .
The result of this proof is the unit clause (3) which is a stronger result than the clause (3,5) of the original proof.

Notes

  1. Bar-Ilan, O.; Fuhrmann, O.; Hoory, S. ; Shacham, O. ; Strichman, O. Linear-time Reductions of Resolution Proofs. Hardware and Software: Verification and Testing, p. 114–128, Springer, 2011.

Related Research Articles

<span class="mw-page-title-main">Natural logarithm</span> Logarithm to the base of the mathematical constant e

The natural logarithm of a number is its logarithm to the base of the mathematical constant e, which is an irrational and transcendental number approximately equal to 2.718281828459. The natural logarithm of x is generally written as ln x, logex, or sometimes, if the base e is implicit, simply log x. Parentheses are sometimes added for clarity, giving ln(x), loge(x), or log(x). This is done particularly when the argument to the logarithm is not a single symbol, so as to prevent ambiguity.

<span class="mw-page-title-main">Square root</span> Number whose square is a given number

In mathematics, a square root of a number x is a number y such that ; in other words, a number y whose square is x. For example, 4 and −4 are square roots of 16 because .

In logic and proof theory, natural deduction is a kind of proof calculus in which logical reasoning is expressed by inference rules closely related to the "natural" way of reasoning. This contrasts with Hilbert-style systems, which instead use axioms as much as possible to express the logical laws of deductive reasoning.

In the calculus of variations and classical mechanics, the Euler–Lagrange equations are a system of second-order ordinary differential equations whose solutions are stationary points of the given action functional. The equations were discovered in the 1750s by Swiss mathematician Leonhard Euler and Italian mathematician Joseph-Louis Lagrange.

The Basel problem is a problem in mathematical analysis with relevance to number theory, concerning an infinite sum of inverse squares. It was first posed by Pietro Mengoli in 1650 and solved by Leonhard Euler in 1734, and read on 5 December 1735 in The Saint Petersburg Academy of Sciences. Since the problem had withstood the attacks of the leading mathematicians of the day, Euler's solution brought him immediate fame when he was twenty-eight. Euler generalised the problem considerably, and his ideas were taken up more than a century later by Bernhard Riemann in his seminal 1859 paper "On the Number of Primes Less Than a Given Magnitude", in which he defined his zeta function and proved its basic properties. The problem is named after Basel, hometown of Euler as well as of the Bernoulli family who unsuccessfully attacked the problem.

In mathematical logic and computer science, the calculus of constructions (CoC) is a type theory created by Thierry Coquand. It can serve as both a typed programming language and as constructive foundation for mathematics. For this second reason, the CoC and its variants have been the basis for Coq and other proof assistants.

<span class="mw-page-title-main">Exponential integral</span> Special function defined by an integral

In mathematics, the exponential integral Ei is a special function on the complex plane.

<span class="mw-page-title-main">Method of analytic tableaux</span>

In proof theory, the semantic tableau is a decision procedure for sentential and related logics, and a proof procedure for formulae of first-order logic. An analytic tableau is a tree structure computed for a logical formula, having at each node a subformula of the original formula to be proved or refuted. Computation constructs this tree and uses it to prove or refute the whole formula. The tableau method can also determine the satisfiability of finite sets of formulas of various logics. It is the most popular proof procedure for modal logics.

In continuum mechanics, the finite strain theory—also called large strain theory, or large deformation theory—deals with deformations in which strains and/or rotations are large enough to invalidate assumptions inherent in infinitesimal strain theory. In this case, the undeformed and deformed configurations of the continuum are significantly different, requiring a clear distinction between them. This is commonly the case with elastomers, plastically-deforming materials and other fluids and biological soft tissue.

In mathematical logic and automated theorem proving, resolution is a rule of inference leading to a refutation-complete theorem-proving technique for sentences in propositional logic and first-order logic. For propositional logic, systematically applying the resolution rule acts as a decision procedure for formula unsatisfiability, solving the Boolean satisfiability problem. For first-order logic, resolution can be used as the basis for a semi-algorithm for the unsatisfiability problem of first-order logic, providing a more practical method than one following from Gödel's completeness theorem.

MAX-3SAT is a problem in the computational complexity subfield of computer science. It generalises the Boolean satisfiability problem (SAT) which is a decision problem considered in complexity theory. It is defined as:

In numerical linear algebra, the tridiagonal matrix algorithm, also known as the Thomas algorithm, is a simplified form of Gaussian elimination that can be used to solve tridiagonal systems of equations. A tridiagonal system for n unknowns may be written as

<span class="mw-page-title-main">Timoshenko–Ehrenfest beam theory</span>

The Timoshenko–Ehrenfest beam theory was developed by Stephen Timoshenko and Paul Ehrenfest early in the 20th century. The model takes into account shear deformation and rotational bending effects, making it suitable for describing the behaviour of thick beams, sandwich composite beams, or beams subject to high-frequency excitation when the wavelength approaches the thickness of the beam. The resulting equation is of 4th order but, unlike Euler–Bernoulli beam theory, there is also a second-order partial derivative present. Physically, taking into account the added mechanisms of deformation effectively lowers the stiffness of the beam, while the result is a larger deflection under a static load and lower predicted eigenfrequencies for a given set of boundary conditions. The latter effect is more noticeable for higher frequencies as the wavelength becomes shorter, and thus the distance between opposing shear forces decreases.

<span class="mw-page-title-main">Flamant solution</span>

The Flamant solution provides expressions for the stresses and displacements in a linear elastic wedge loaded by point forces at its sharp end. This solution was developed by A. Flamant in 1892 by modifying the three-dimensional solution of Boussinesq.

The #P-completeness of 01-permanent, sometimes known as Valiant's theorem, is a mathematical proof about the permanent of matrices, considered a seminal result in computational complexity theory. In a 1979 scholarly paper, Leslie Valiant proved that the computational problem of computing the permanent of a matrix is #P-hard, even if the matrix is restricted to have entries that are all 0 or 1. In this restricted case, computing the permanent is even #P-complete, because it corresponds to the #P problem of counting the number of permutation matrices one can get by changing ones into zeroes.

In solid mechanics, the Johnson–Holmquist damage model is used to model the mechanical behavior of damaged brittle materials, such as ceramics, rocks, and concrete, over a range of strain rates. Such materials usually have high compressive strength but low tensile strength and tend to exhibit progressive damage under load due to the growth of microfractures.

In proof theory, an area of mathematical logic, proof compression is the problem of algorithmically compressing formal proofs. The developed algorithms can be used to improve the proofs generated by automated theorem proving tools such as SAT solvers, SMT-solvers, first-order theorem provers and proof assistants.

In proof theory, an area of mathematical logic, resolution proof reduction via local context rewriting is a technique for resolution proof reduction via local context rewriting. This proof compression method was presented as an algorithm named ReduceAndReconstruct, that operates as a post-processing of resolution proofs.

In mathematical logic, proof compression by splitting is an algorithm that operates as a post-process on resolution proofs. It was proposed by Scott Cotton in his paper "Two Techniques for Minimizing Resolution Proof".

Curvilinear coordinates can be formulated in tensor calculus, with important applications in physics and engineering, particularly for describing transportation of physical quantities and deformation of matter in fluid mechanics and continuum mechanics.