Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: Notesfiles $Revision: 1.6.2.17 $; site ctvax.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxj!ihnp4!inuxc!pur-ee!uiucdcs!ctvax!paul From: paul@ctvax.UUCP Newsgroups: net.ai Subject: Re: OPS5 disjuction dilemma. Message-ID: <45200004@ctvax.UUCP> Date: Thu, 15-Nov-84 13:25:00 EST Article-I.D.: ctvax.45200004 Posted: Thu Nov 15 13:25:00 1984 Date-Received: Tue, 20-Nov-84 23:45:29 EST References: <10900006@smu.UUCP> Lines: 28 Nf-ID: #R:smu:10900006:ctvax:45200004:000:642 Nf-From: ctvax!paul Nov 15 12:25:00 1984 The solution is simple (though a little ugly). Productions themselves are disjunctions. The idea is that rules be aranged into disjunctive form, then each disjunction is a separate OPS5-rule. and each rule is itself a conjunction (with possible negations). (p variant1 ...ce's that bind and ... ( ) --> (make found)) (p variant2 ...ce's that bind and ... ( ) --> (make found)) (p var1orvar2 ...ce's that bind and ... (found) --> .... rhs goes here ...) This way you can avoid duplication of the RHS. paul.ct@CSNet-Relay ctvax!paul