1974
DOI: 10.1145/321850.321859
|View full text |Cite
|
Sign up to set email alerts
|

Automated Theorem-Proving for Theories with Simplifiers Commutativity, and Associativity

Abstract: To prove really difficult theorems, resolution principle programs need to make better inferences and to make them faster. An approach is presented for taking advantage of the structure of some special theories. These are theories with simplifiers, commutativity, and associativity, which are valuable concepts to build in, since they so frequently occur in important theories, for example, number theory (plus and times) and set theory (union and intersection). The object of the approach is to build in such concep… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
65
0
4

Year Published

1979
1979
2015
2015

Publication Types

Select...
5
4

Relationship

0
9

Authors

Journals

citations
Cited by 224 publications
(69 citation statements)
references
References 6 publications
0
65
0
4
Order By: Relevance
“…The effect of completion. in this case, is to narrow sand t until a substitution (j is generated which equates the two terms in the theory presented by R. Thus, narrowing, as defined by Slagle (1974) and used for this purpose by Fay (1979) and Lankford and Ballantyne (1979), is a restricted form of completion (as was understood in Lankford (1975) and is noted in Dershowitz (1985a) and Rety et al (1985)). Since the equality symbol is presumed not to appear in R, any critical pair between a rule I ~ r in R and a generated rule eq(u, v) ~ F(wJ,"" w n ), must involve an overlap of I on a (not necessarily proper) nonvariable subterm u!p of u or v!p of v. The resultant critical pair can be oriented into a new rule, eq (u[r!,]…”
Section: Theorem 2 Let Roo Be the Results Of A Fair Completion Sequenmentioning
confidence: 99%
“…The effect of completion. in this case, is to narrow sand t until a substitution (j is generated which equates the two terms in the theory presented by R. Thus, narrowing, as defined by Slagle (1974) and used for this purpose by Fay (1979) and Lankford and Ballantyne (1979), is a restricted form of completion (as was understood in Lankford (1975) and is noted in Dershowitz (1985a) and Rety et al (1985)). Since the equality symbol is presumed not to appear in R, any critical pair between a rule I ~ r in R and a generated rule eq(u, v) ~ F(wJ,"" w n ), must involve an overlap of I on a (not necessarily proper) nonvariable subterm u!p of u or v!p of v. The resultant critical pair can be oriented into a new rule, eq (u[r!,]…”
Section: Theorem 2 Let Roo Be the Results Of A Fair Completion Sequenmentioning
confidence: 99%
“…On the operational side, the resolution principle of logic programming must be extended to deal with replacements of subterms. Narrowing, originally introduced in automated theorem proving [81], is a constructive method to deal with such replacements. For this purpose, defining equations are interpreted as rewrite rules that are only applied from left to right (as in functional programming).…”
Section: Narrowingmentioning
confidence: 99%
“…Often, non-constructor-based rules specify properties of functions rather than providing a constructive definition (compare rule assoc above that specifies the associativity of "++"), or they can be transformed into constructor-based rules by moving non-constructor terms in left-hand side arguments into the condition (e.g., rule last ). Although there exist narrowing strategies for non-constructor-based rewrite rules (see [38,74,81] for more details), they often put requirements on the rewrite system that are too strong or difficult to check in universal programming languages, like termination or confluence. An important insight from recent works on functional logic programming is the restriction to constructor-based programs since this supports the development of efficient and practically useful evaluation strategies (see below).…”
Section: Narrowingmentioning
confidence: 99%
“…Functions are defined by (conditional) equations and are evaluated lazily. Function calls with free variables are evaluated by a possibly non-deterministic instantiation of demanded arguments which corresponds to narrowing [28,25]. Curry narrows with possibly non-most-general unifiers to ensure the optimality of computations [4].…”
Section: Functional Logic Programming and Currymentioning
confidence: 99%