fbpx
Wikipedia

CARINE

CARINE (Computer Aided Reasoning Engine) is a first-order classical logic automated theorem prover. It was initially built for the study of the enhancement effects of the strategies delayed clause-construction (DCC) and attribute sequences (ATS) in a depth-first search based algorithm.[1] CARINE's main search algorithm is semi-linear resolution (SLR) which is based on an iteratively-deepening depth-first search (also known as depth-first iterative-deepening (DFID))[2] and used in theorem provers like THEO.[3] SLR employs DCC to achieve a high inference rate, and ATS to reduce the search space.

Delayed Clause Construction (DCC) edit

Delayed Clause Construction is a stalling strategy that enhances a theorem prover's performance by reducing the work to construct clauses to a minimum. Instead of constructing every conclusion (clause) of an applied inference rule, the information to construct such clause is temporarily stored until the theorem prover decides to either discard the clause or construct it. If the theorem prover decides to keep the clause, it will be constructed and stored in memory, otherwise the information to construct the clause is erased. Storing the information from which an inferred clause can be constructed require almost no additional CPU operations. However, constructing a clause may consume a lot of time. Some theorem provers spend 30%–40% of their total execution time constructing and deleting clauses. With DCC this wasted time can be salvaged.

DCC is useful when too many intermediate clauses (especially first-order clauses) are being constructed and discarded in a short period of time because the operations performed to construct such short lived clauses are avoided. DCC may not be very effective on theorems with only propositional clauses.

How does DCC work? edit

After every application of an inference rule, certain variables may have to be substituted by terms (e.g. xf(a)) and thus a substitution set is formed. Instead of constructing the resulting clause and discarding the substitution set, the theorem prover simply maintains the substitution set along with some other information, like what clauses where involved in the inference rule and what inference rule was applied, and continues the derivation without constructing the resulting clause of the inference rule. This procedure keeps going along a derivation until the theorem provers reaches a point where it decides, based on certain criteria and heuristics, whether to construct the final clause in the derivation (and probably some other clause(s) along the path) or discard the whole derivation i.e., deletes from memory the maintained substitution sets and whatever information stored with them.

Attribute sequences (ATS) edit

(An informal definition of) a clause in theorem proving is a statement that can result in a true or false answer depending on the evaluation of its literals. A clause is represented as a disjunction (i.e., OR), conjunction (i.e., AND), set, or multi-set (similar to a set but can contain identical elements) of literals.

An example of a clause as a disjunction of literals is:

 
where the symbols   and   are, respectively, logical or and logical not.

The above example states that if Y is wealthy AND smart AND beautiful then X loves Y. It does not say who X and Y are though. Note that the above representation comes from the logical statement:

For all Y, X belonging to the domain of human beings:

 

By using some transformation rules of formal logic we produce the disjunction of literals of the example given above.

X and Y are variables.  wealthy,  smart,  beautiful, loves are literals. Suppose we substitute the variable X for the constant John and the variable Y for the constant Jane then the above clause will become:

 

A clause attribute is a characteristic of a clause. Some examples of clause attributes are:

  • the number of literals in a clause (i.e., clause length)
  • the number of term symbols in a clause
  • the number of constants in a clause
  • the number of variables in a clause
  • the number of functions in a clause
  • the number of negative literals in a clause
  • the number of positive literals in a clause
  • the number of distinct variables in a clause
  • the maximum depth of any term in all the literals in a clause
Example

the clause

 
has:
  • a length of 2 because it contains two literals
    • one negative literal which is  
    • one positive literal which is Q(a,b,f(x))
  • two constants which are a and b
  • two variables (x occurs twice)
  • one distinct variable which is x
  • one function which is f
  • maximum term depth of 2
  • five term symbols which are x, a, b, f, x

An attribute sequence is a sequence of k n-tuples of clause attributes that represent a projection of a set of derivations of length k. k and n are strictly positive integers. The set of derivations form the domain and the attribute sequences form the codomain of the mapping between derivations and attribute sequences.

Example

<(2,2),(2,1),(1,1)> is an attribute sequence where k = 3 and n = 2.

It corresponds to some derivation, say, <(B1,B2),(R1,B3),(R2,B4)> where B1, B2, R1, B3, R2, and B4 are clauses. The attribute here is assumed to be the length of a clause.

The first pair (2,2) corresponds to the pair (B1,B2) from the derivation. It indicates that the length of B1 is 2 and the length of B2 is also 2.

The second pair (2,1) corresponds to the pair (R1,B3) and it indicates that the length of R1 is 2 and the length of B3 is 1.

The last pair (1,1) corresponds to the pair (R2,B4) and it indicates that the length of R2 is 1 and the length of B4 is 1.

Note: An n-tuple of clause attributes is similar (but not the same) to the feature vector named by Stephan Schulz, PhD (see E equational theorem prover).

References edit

  1. ^ Haroun, Paul (2005). Enhancing a Theorem Prover by Delayed Clause Construction and Attribute Sequences (PhD thesis). McGill University.
  2. ^ Korf, Richard E (1985). "Depth-First Iterative -Deepening: An Optimal Admissible Tree Search". Artificial Intelligence. 27: 97–109. doi:10.1016/0004-3702(85)90084-0.
  3. ^ Newborn, Monty (2001). Automated Theorem Proving: Theory and Practice. New York: Springer-Verlag. ISBN 978-0-387-95075-4.

External links edit

  • CARINE's web site
  • ACM publication
  • E home page

carine, other, uses, carine, disambiguation, this, article, needs, additional, citations, verification, please, help, improve, this, article, adding, citations, reliable, sources, unsourced, material, challenged, removed, find, sources, news, newspapers, books. For other uses see Carine disambiguation This article needs additional citations for verification Please help improve this article by adding citations to reliable sources Unsourced material may be challenged and removed Find sources CARINE news newspapers books scholar JSTOR December 2021 Learn how and when to remove this template message CARINE Computer Aided Reasoning Engine is a first order classical logic automated theorem prover It was initially built for the study of the enhancement effects of the strategies delayed clause construction DCC and attribute sequences ATS in a depth first search based algorithm 1 CARINE s main search algorithm is semi linear resolution SLR which is based on an iteratively deepening depth first search also known as depth first iterative deepening DFID 2 and used in theorem provers like THEO 3 SLR employs DCC to achieve a high inference rate and ATS to reduce the search space Contents 1 Delayed Clause Construction DCC 1 1 How does DCC work 2 Attribute sequences ATS 3 References 4 External linksDelayed Clause Construction DCC editDelayed Clause Construction is a stalling strategy that enhances a theorem prover s performance by reducing the work to construct clauses to a minimum Instead of constructing every conclusion clause of an applied inference rule the information to construct such clause is temporarily stored until the theorem prover decides to either discard the clause or construct it If the theorem prover decides to keep the clause it will be constructed and stored in memory otherwise the information to construct the clause is erased Storing the information from which an inferred clause can be constructed require almost no additional CPU operations However constructing a clause may consume a lot of time Some theorem provers spend 30 40 of their total execution time constructing and deleting clauses With DCC this wasted time can be salvaged DCC is useful when too many intermediate clauses especially first order clauses are being constructed and discarded in a short period of time because the operations performed to construct such short lived clauses are avoided DCC may not be very effective on theorems with only propositional clauses How does DCC work edit After every application of an inference rule certain variables may have to be substituted by terms e g x f a and thus a substitution set is formed Instead of constructing the resulting clause and discarding the substitution set the theorem prover simply maintains the substitution set along with some other information like what clauses where involved in the inference rule and what inference rule was applied and continues the derivation without constructing the resulting clause of the inference rule This procedure keeps going along a derivation until the theorem provers reaches a point where it decides based on certain criteria and heuristics whether to construct the final clause in the derivation and probably some other clause s along the path or discard the whole derivation i e deletes from memory the maintained substitution sets and whatever information stored with them Attribute sequences ATS edit An informal definition of a clause in theorem proving is a statement that can result in a true or false answer depending on the evaluation of its literals A clause is represented as a disjunction i e OR conjunction i e AND set or multi set similar to a set but can contain identical elements of literals An example of a clause as a disjunction of literals is wealthy Y smart Y beautiful Y loves X Y displaystyle lnot operatorname wealthy Y lor lnot operatorname smart Y lor lnot operatorname beautiful Y lor operatorname loves X Y nbsp where the symbols displaystyle lor nbsp and displaystyle lnot nbsp are respectively logical or and logical not The above example states that if Y is wealthy AND smart AND beautiful then X loves Y It does not say who X and Y are though Note that the above representation comes from the logical statement For all Y X belonging to the domain of human beings wealthy Y smart Y beautiful Y loves X Y displaystyle operatorname wealthy Y land operatorname smart Y land operatorname beautiful Y implies operatorname loves X Y nbsp By using some transformation rules of formal logic we produce the disjunction of literals of the example given above X and Y are variables displaystyle lnot nbsp wealthy displaystyle lnot nbsp smart displaystyle lnot nbsp beautiful loves are literals Suppose we substitute the variable X for the constant John and the variable Y for the constant Jane then the above clause will become wealthy Jane smart Jane beautiful Jane loves John Jane displaystyle lnot operatorname wealthy text Jane lor lnot operatorname smart text Jane lor lnot operatorname beautiful text Jane lor operatorname loves text John text Jane nbsp A clause attribute is a characteristic of a clause Some examples of clause attributes are the number of literals in a clause i e clause length the number of term symbols in a clause the number of constants in a clause the number of variables in a clause the number of functions in a clause the number of negative literals in a clause the number of positive literals in a clause the number of distinct variables in a clause the maximum depth of any term in all the literals in a clauseExamplethe clauseC P x Q a b f x displaystyle C lnot P x lor Q a b f x nbsp has a length of 2 because it contains two literals one negative literal which is P x displaystyle lnot P x nbsp one positive literal which is Q a b f x two constants which are a and b two variables x occurs twice one distinct variable which is x one function which is f maximum term depth of 2 five term symbols which are x a b f xAn attribute sequence is a sequence of k n tuples of clause attributes that represent a projection of a set of derivations of length k k and n are strictly positive integers The set of derivations form the domain and the attribute sequences form the codomain of the mapping between derivations and attribute sequences Example lt 2 2 2 1 1 1 gt is an attribute sequence where k 3 and n 2 It corresponds to some derivation say lt B1 B2 R1 B3 R2 B4 gt where B1 B2 R1 B3 R2 and B4 are clauses The attribute here is assumed to be the length of a clause The first pair 2 2 corresponds to the pair B1 B2 from the derivation It indicates that the length of B1 is 2 and the length of B2 is also 2 The second pair 2 1 corresponds to the pair R1 B3 and it indicates that the length of R1 is 2 and the length of B3 is 1 The last pair 1 1 corresponds to the pair R2 B4 and it indicates that the length of R2 is 1 and the length of B4 is 1 Note An n tuple of clause attributes is similar but not the same to the feature vector named by Stephan Schulz PhD see E equational theorem prover References edit Haroun Paul 2005 Enhancing a Theorem Prover by Delayed Clause Construction and Attribute Sequences PhD thesis McGill University Korf Richard E 1985 Depth First Iterative Deepening An Optimal Admissible Tree Search Artificial Intelligence 27 97 109 doi 10 1016 0004 3702 85 90084 0 Newborn Monty 2001 Automated Theorem Proving Theory and Practice New York Springer Verlag ISBN 978 0 387 95075 4 External links editCARINE s web site ACM publication E home page Retrieved from https en wikipedia org w index php title CARINE amp oldid 1079847289, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.