<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom">
    <title>gmane.comp.ai.powerloom</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/487"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/486"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/485"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/484"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/483"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/482"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/481"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/480"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/479"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/478"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/477"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/476"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/475"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/474"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/473"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/472"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/471"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/470"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/469"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.ai.powerloom/468"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/487">
    <title>Quantifiers issue</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/487</link>
    <description>&lt;pre&gt;Hello All! Firstly I would like to apologize for the style of this e-mail - english is not my native language. I want to model such problem in PowerLoom (and I have a problem with that):
Firstly I write all necessary code:
(defmodule "LCG":includes ("PL-USER"))(in-module "LCG")(clear-module "LCG")(reset-features)(in-dialect "KIF")
In our world there are instances of objects named TimeObject:
(defconcept TimeObject)
There are also function named state which returns the instance of TimeObject from a moment of time (the state of this object in that moment):
(deffunction state ((?o TimeObject) (?time Number)) :-&amp;gt; (?r TimeObject))
Input:o - TimeObjectt - the moment of time (time is digitized)returns: TimeObject in time t
Lets define a relation (one-argument relation taking TimeObject):
(defrelation foo ((?o TimeObject)) )
Now lets create instances of TimeObject X (basic object X and his 2 states in moment 1 and 2):
(assert (TimeObject X))(assert (TimeObject (state X 1)))(assert (TimeObject (state X 2)))
All this&lt;/pre&gt;</description>
    <dc:creator>Łukasz Godlewski</dc:creator>
    <dc:date>2013-05-19T20:47:24</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/486">
    <title>Re: A few questions concerning Loom 2.1 to Powerloom 4 translation</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/486</link>
    <description>&lt;pre&gt;Hi Philippe,

first off, be aware that Loom and PowerLoom are quite different animals 
with different representation languages and different feature sets.  
PowerLoom is not intended to be a drop-in replacement for Loom, for 
example.  Maybe it was in its initial conception, but things evolved.  
Loom is a description logic (similar to OWL but more expressive and 
pragmatic), with the usual distinction of T-Box and A-Box and a heavy 
dependence on its classifier for full inference.  PowerLoom uses 
first-order logic + extensions as its representation language, it uses a 
natural deduction system as its inference engine and is more similar to 
Prolog than a description logic.  It has a classifier and some 
description logic features, but their use is more the exception than the 
rule.

KBs written for a description logic usually look significantly different 
from a FOL formulation.  This is not just in syntax but also in modeling 
style which relies heavily on necessary and sufficient conditions, set 
operati&lt;/pre&gt;</description>
    <dc:creator>Hans Chalupsky</dc:creator>
    <dc:date>2013-03-06T21:32:48</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/485">
    <title>A few questions concerning Loom 2.1 to Powerloom4 translation</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/485</link>
    <description>&lt;pre&gt;
Hello,

I am currently going through the Loom 2.1 tutorial, translating the examples to PowerLoom 4 as a learning exercise.

On page 4 of the tutorial, the author creates an object called ob-1, thus

(create 'ob-1 nil)

What is the difference between 'create' and 'defconcept' ?

What is the equivalent of the :exactly, :at-least and :is-primitive parameters shown on page 5 and other pages, in Powerloom 4?

Is 'print-facts' the only "modern" equivalent to 'pc' and 'pr'?

How would you translate the following example to Powerloom 4?

 &amp;gt; (defconcept city :is
(and location
(exactly 1 name)
(exactly 1 population)
(&amp;gt;= population 5000)))

Many thanks.

Philippe







_______________________________________________
powerloom-forum mailing list
powerloom-forum&amp;lt; at &amp;gt;isi.edu
http://mailman.isi.edu/mailman/listinfo/powerloom-forum
&lt;/pre&gt;</description>
    <dc:creator>Philippe de Rochambeau</dc:creator>
    <dc:date>2013-03-04T22:10:42</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/484">
    <title>Re: Various questions regarding PowerLoom</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/484</link>
    <description>&lt;pre&gt;One difference between the expert-system style systems that Hans mentions below is the presence of "production rules", which work differently from logic rules.

If you wanted to use PowerLoom for your question answering system, it would need some additional programming to use.  PowerLoom would provide a lot of modeling and inference capabilities, but it is not a full expert system shell.  So that means you would need to build the part of the system that manages the interactions with the user and formulates queries to the system to compute the conclusions.  The logic rules do not have any sequencing associated with them and also are not especially well suited to creating new objects in response to input information.

ISI's older system, Loom, does have production rules together with a less expressive description logic modeling language.  It is still available, but only for Common Lisp.


On Feb 25, 2013, at 12:59 PM, Hans Chalupsky wrote:

&lt;/pre&gt;</description>
    <dc:creator>Thomas Russ</dc:creator>
    <dc:date>2013-03-03T19:31:52</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/483">
    <title>Re: Various questions regarding PowerLoom</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/483</link>
    <description>&lt;pre&gt;Hi Philippe,

the answer to this question is "it depends".  Expert system languages 
such as CLIPS or JESS (I haven't really worked with SOAR or ACT-R, but 
the basic concepts are similar) use condition-action rules as their 
basic modeling construct.  This means the IF-part of such a rule 
specifies some complex condition in the current working memory, and the 
THEN part specifies an action that should be carried out if that 
condition is true (e.g., add or retract something from the working 
memory).  This means that the resulting systems very much become 
programs that change from one complex state to another controlled by the 
various condition-action rules.  That paradigm gives you a very high 
degree of freedom of how to formulate your model (you can program pretty 
much anything you can do in a regular programming language), it makes it 
easier for novices to build such systems, but it also makes it easy to 
build systems that become unwieldy and difficult to maintain once these 
rules start to intera&lt;/pre&gt;</description>
    <dc:creator>Hans Chalupsky</dc:creator>
    <dc:date>2013-02-25T20:59:44</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/482">
    <title>Various questions regarding PowerLoom</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/482</link>
    <description>&lt;pre&gt;

Hello,

is PowerLoom the appropriate language to program question-answer expert systems?


For instance,

"Please input the client's honorific" 

Mr
Mrs
Ms


"Please input the client's name" 

Paul Johnson

"Please input the client's age" 


"Please enter the client's occupational status"

unemployed
student
employee
manager


"Please input his country" 


"Please select the client's subscription period" 

6-month
12-month
24-month


[Searching the best deal for Mr. Paul Johnson and for the newspaper]

"You should offer Mr. Paul Johnson who's 45, is an employee, and lives in GB, a 12-month subscription at EUR 400".



How does it compare with other expert-system languages such as SOAR, ACT-R and Drools, for such purposes?

Many thanks.

Philippe
&lt;/pre&gt;</description>
    <dc:creator>phiroc&lt; at &gt;free.fr</dc:creator>
    <dc:date>2013-02-24T11:00:31</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/481">
    <title>Re: ¿IS PowerLoom Manual not complete?</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/481</link>
    <description>&lt;pre&gt;Yes, there are some advanced topics that still need to be documented.  
Some of them get touched upon in the later slides of the tutorial 
(http://www.isi.edu/isd/LOOM/PowerLoom/documentation/PowerLoom-Overview-Slides.pdf).
If you have specific questions it's ok to ask them on the list or send 
them to me directly.

Hans

On 02/13/2013 02:26 PM, Claudio Belmonte wrote:

_______________________________________________
powerloom-forum mailing list
powerloom-forum&amp;lt; at &amp;gt;isi.edu
http://mailman.isi.edu/mailman/listinfo/powerloom-forum
&lt;/pre&gt;</description>
    <dc:creator>Hans Chalupsky</dc:creator>
    <dc:date>2013-02-14T02:48:02</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/480">
    <title>¿IS PowerLoom Manual not complete?</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/480</link>
    <description>&lt;pre&gt;PowerLoom 4.0.0.-beta Manual in pdf format seems not to be completed in
page 28, paragraphs 3.14 "Classification, Subsuption" to paragraph 3.23
"Sets, Lists, SETOFALL, KAPPA". ¿Where can we read the information
described in those paragraphs?.
Thank you in advance.
Claudio Belmonte.
_______________________________________________
powerloom-forum mailing list
powerloom-forum&amp;lt; at &amp;gt;isi.edu
http://mailman.isi.edu/mailman/listinfo/powerloom-forum
&lt;/pre&gt;</description>
    <dc:creator>Claudio Belmonte</dc:creator>
    <dc:date>2013-02-13T22:26:11</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/479">
    <title>Re: Using Stella Functions in PowerLoom</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/479</link>
    <description>&lt;pre&gt;Sebastian,

you can call STELLA functions in PowerLoom, however, they have to conform to
certain restrictions regarding their signature.  For example, the simpler
choice are what we call "computations", which take a number of bound input
arguments and compute a resulting value from that.  For this to work
generically, all arguments of the function and its return value must be
subtypes of OBJECT (the STELLA version of OBJECT).  For this reason, functions
in the STELLA string library can generally not be called directly, since they
take literal types such as STRING and INTEGER as their input and return types.
Also PowerLoom versions of strings and numbers are special, since they can
have additional indexing information, even thought that's most of the time
transparent to the computation function developer.

Various computation functions in specialists.ste and arithmetic.ste are
PowerLoom wrappers that perform these type conversions, plus they are
additionally more tolerant to handle incorrect types and various&lt;/pre&gt;</description>
    <dc:creator>Hans Chalupsky</dc:creator>
    <dc:date>2012-12-05T19:30:22</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/478">
    <title>Using Stella Functions in PowerLoom</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/478</link>
    <description>&lt;pre&gt;Hi there,

I'm currently facing the problem that I'd like to use the more 
exhaustive Stella functions for dealing with strings in PowerLoom (e.g., 
string-compare). But whatever I do, I get only "Unknown 
predicate/function" messages.

Do I have to include the Stella module explicitly, or is it possible at all?

Thanks,
Sebastian
&lt;/pre&gt;</description>
    <dc:creator>Sebastian Herold</dc:creator>
    <dc:date>2012-12-05T15:55:53</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/477">
    <title>Re: Guidelines and archive search</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/477</link>
    <description>&lt;pre&gt;On Fri, Aug 10, 2012 at 9:29 AM, Brennan O'Banion &amp;lt;brennan.obanion&amp;lt; at &amp;gt;gmail.com


There doesn't seem to be a search function for the archives, although the
forum is relatively low volume.
You can get to the archives for a less convenient year-by-year manual
search at http://mailman.isi.edu/pipermail/powerloom-forum/

As far as the Java API is concerned, there is a sample file which shows how
to do a number of things through the Java API.
You can find that on the documentation page
   http://www.isi.edu/isd/LOOM/PowerLoom/documentation/documentation.html
under the PowerLoom 3.2.0 section
   http://www.isi.edu/isd/LOOM/PowerLoom/documentation/PowerLoomExample.java

Otherwise, just post your questions here. There aren't any real guidelines
other than posts should relate to PowerLoom and not contain anything you
don't want to share publicly.

One thing to realize is that for PowerLoom commands that are not in the
API, the general purpose "PLI.evaluate" and "PLI.sEvaluate" methods will
let you execute anything that &lt;/pre&gt;</description>
    <dc:creator>Tom Russ</dc:creator>
    <dc:date>2012-08-10T17:21:01</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/476">
    <title>Guidelines and archive search</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/476</link>
    <description>&lt;pre&gt;Hello,

I'm new to Powerloom and this forum.  I'm looking for posting
guidelines, should they exist, and I would like to know if there is a
convenient way to search the forum archives.  I have some questions
about building a knowledge base with the Java API.

Best Regards
&lt;/pre&gt;</description>
    <dc:creator>Brennan O'Banion</dc:creator>
    <dc:date>2012-08-10T16:29:41</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/475">
    <title>Re: Famoue problem by Eric Emmett</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/475</link>
    <description>&lt;pre&gt;Well, yes and no.  The first thing we can do is to introduce a definition for
a birthday type, i.e., the set of values that could occupy the value of a
birthday-of relation:

(defconcept birthday (?x)
  :&amp;lt;=&amp;gt; (and (integer ?x)
            (member-of ?x (setof 1 2 3 4 5 6 7))))

(the INTEGER-INTERVAL class you found is a native STELLA class that isn't
really axiomatized and probably should go away to not confuse people).

The next thing one might do is to introduce a person class and a birthday-of
relation that maps a person onto his birthday:

(defconcept person (?x)
  :&amp;lt;=&amp;gt; (member-of ?x (setof Alf Bert Charlie Doug Ernie Fred)))

(deffunction birthday-of ((?x person) (?y birthday)))

Now we would want to model constraints in terms of this relation.  For
example,

(assert (=&amp;gt; (and (birthday-of Alf ?a)
                 (birthday-of Doug ?d)
                 (birthday-of Fred ?f))
            (and (= (- ?d ?f) (- ?a ?d))
                 (&amp;lt; ?f ?d)
                 (&amp;lt; ?d ?a))))

or, turning that around,

(assert&lt;/pre&gt;</description>
    <dc:creator>Hans Chalupsky</dc:creator>
    <dc:date>2011-09-13T23:42:48</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/474">
    <title>Re: Famoue problem by Eric Emmett</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/474</link>
    <description>&lt;pre&gt;Thanks Hans
Is it possible to generalise your answer in a way which defines birthday as 
a function whose value is constrained to be an integer drawn from 
integer-interval, with upper bound 7 and lower bound 1, with all birthdays 
distinct. I can't find much documentation on using integer-interval.
Robert




-----Original Message----- 
From: Hans Chalupsky
Sent: Tuesday, September 13, 2011 2:01 AM
To: Robert Onslow
Cc: powerloom-forum&amp;lt; at &amp;gt;isi.edu
Subject: Re: Famoue problem by Eric Emmett

Below is a minor correction to my original reply which didn't handle ?f
in all places:

STELLA(41): (retrieve all (?a ?b ?c ?d ?e ?f)
                     (and (= ?days (listof 1 2 3 4 5 6 7))
                          (member-of ?a ?days)
                          (member-of ?b ?days)
                          (member-of ?c ?days)
                          (member-of ?d ?days)
                          (member-of ?e ?days)
                          (member-of ?f ?days)
                          (= (- ?d ?f) (- ?a ?d))
     &lt;/pre&gt;</description>
    <dc:creator>Robert Onslow</dc:creator>
    <dc:date>2011-09-13T08:46:17</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/473">
    <title>Re: Famoue problem by Eric Emmett</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/473</link>
    <description>&lt;pre&gt;Below is a minor correction to my original reply which didn't handle ?f
in all places:

STELLA(41): (retrieve all (?a ?b ?c ?d ?e ?f)
                     (and (= ?days (listof 1 2 3 4 5 6 7))
                          (member-of ?a ?days)
                          (member-of ?b ?days)
                          (member-of ?c ?days)
                          (member-of ?d ?days)
                          (member-of ?e ?days)
                          (member-of ?f ?days)
                          (= (- ?d ?f) (- ?a ?d))
                          (&amp;lt; ?f ?d)
                          (&amp;lt; ?d ?a)
                          (= (- ?f ?c) (- ?b ?f))
                          (&amp;lt; ?c ?f)
                          (&amp;lt; ?f ?b)
                          (= ?e 6)
                          (different ?a ?b ?c ?d ?e ?f)
                          (= ?birthdays (listof ?a ?b ?c ?d ?e ?f))
                          (minimum-value ?birthdays ?minb)
                          (maximum-value ?birthdays ?maxb)
                          (&lt;/pre&gt;</description>
    <dc:creator>Hans Chalupsky</dc:creator>
    <dc:date>2011-09-13T01:01:59</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/472">
    <title>Re: Famoue problem by Eric Emmett</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/472</link>
    <description>&lt;pre&gt;Hi Robert,

this is a type of Zebra puzzle which usually involve enumerating possible
variable assignments and then checking constraints.  The constraints you
formulated can't be evaluated by PowerLoom, since there is not enough
information to get the evaluation started.  You basically have to try
different possible assignments and then see whether any of them works out.
This type of search is best formulated via backward inference in PowerLoom.
For example, here is one possible formulation:

STELLA(27): (retrieve all (?a ?b ?c ?d ?e)
                     (and (= ?days (listof 1 2 3 4 5 6 7))
                          (member-of ?a ?days)
                          (member-of ?b ?days)
                          (member-of ?c ?days)
                          (member-of ?d ?days)
                          (member-of ?e ?days)
                          (= (- ?d ?f) (- ?a ?d))
                          (= (- ?f ?c) (- ?b ?f))
                          (= ?e 6)
                          (different ?a ?b ?c ?d ?e)
&lt;/pre&gt;</description>
    <dc:creator>Hans Chalupsky</dc:creator>
    <dc:date>2011-09-12T22:17:54</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/471">
    <title>Famoue problem by Eric Emmett</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/471</link>
    <description>&lt;pre&gt;Dear All.

I am trying Powerloom to solve the following famous problem by Eric Emmett:

Alf, Bert, Charlie, Doug, Ernie and Fred have their birthdays on consecutive days, but not necessarily in that order.
Doug’s birthday is as many days before Alf’s as it is after Fred’s. Charlie’s birthday is as many days before Freds as Berts is after Freds. This year, Ernie’s birthday is on  a Saturday, On what days of the week do the birthdays of the other 5 men fall this year?


I have got
(defconcept person)
(deffunction birthday ((?p person)) :- &amp;gt; (?n integer))
(assert (and (person a) (person b) (person c) (person d) (person e)))
(assert (= (- (birthday a) (birthday d)) (- (birthday d) (birthday f)))
(assert (= (- (birthday f) (birthday c)) (- (birthday b) (birthday f)))
(assert (birthday e 6)

What is the best way to assert that the set of birthday values is mutually disjoint and drawn from a list of integers from 1 to 7. I can’t seem to do it in a way which yields solutions.
Can anyone help? I have solv&lt;/pre&gt;</description>
    <dc:creator>Robert Onslow</dc:creator>
    <dc:date>2011-09-09T21:00:42</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/470">
    <title>Re: Proposition about functions</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/470</link>
    <description>&lt;pre&gt;Thanks Hans
What I am trying to do is reason about the axioms of group theory. What I 
have so far is:

;;; -*- Mode: Lisp; Package: STELLA; Syntax: COMMON-LISP; Base: 10 -*-

(CL:IN-PACKAGE "STELLA")

(DEFMODULE "/PL-KERNEL-KB/PL-USER/GROUP"
  :INCLUDES "PL-USER")

(IN-MODULE "/PL-KERNEL-KB/PL-USER/GROUP")

(IN-DIALECT :KIF)

(DEFCONCEPT OPERATION)

(DEFFUNCTION FOLLOWED-BY ((?A OPERATION) (?B OPERATION))
  :-&amp;gt; (?C OPERATION))

(DEFFUNCTION INV ((?A OPERATION))
  :-&amp;gt; (?B OPERATION))

(DEFRULE ASSOCIATIVITY
  (forall (?a ?b ?c)
     (&amp;lt;= (exists (?v29 ?v31 ?v30)
            (and (= (FOLLOWED-BY ?b ?c) ?v29)
                 (= (FOLLOWED-BY ?a ?b) ?v30)
                 (= (FOLLOWED-BY ?v30 ?c) ?v31)
                 (= (FOLLOWED-BY ?a ?v29) ?v31)))
         (and (OPERATION ?a)
              (OPERATION ?b)
              (OPERATION ?c)))))

(ASSERT (OPERATION I))

(ASSERT (forall (?a)
           (&amp;lt;= (exists (?v29)
                  (and (= (INV ?a) ?v29)
                       (= (FOLLOWED-BY ?a ?v29) I)))
    &lt;/pre&gt;</description>
    <dc:creator>Robert Onslow</dc:creator>
    <dc:date>2011-07-18T21:51:46</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/469">
    <title>Re: Proposition about functions</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/469</link>
    <description>&lt;pre&gt;I am not completely sure what you are trying to do, but here is my best guess:

I assume, you wanted "followed-by" to be a function of two input arguments ?a
and ?b and the output argument ?c.  To do that you need to use the value arrow
:-&amp;gt; instead of the :=&amp;gt; arrow which means logical implication:

    (deffunction followed-by (?a ?b) :-&amp;gt; ?c)

Alternatively, you could have defined the function simply like this:

    (deffunction followed-by (?a ?b ?c))

Then, to specify the associativity of "followed-by", you could use the
following rule:

(defproposition associativity 
  (forall (?a ?b ?c ?v) 
    (&amp;lt;=&amp;gt; (followed-by ?a (followed-by ?b ?c) ?v)
         (followed-by (followed-by ?a ?b) ?c ?v))))

However, PowerLoom wouldn't really be able to do any reasoning with the
resulting rules, since the function terms introduce existentials on both sides
of the implication which currently won't get skolemized away properly.

An alternative formulation that PowerLoom can use are the following two rules:

(defproposition &lt;/pre&gt;</description>
    <dc:creator>Hans Chalupsky</dc:creator>
    <dc:date>2011-07-06T00:57:13</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/468">
    <title>Re: Easy assert-from-query using java api?</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/468</link>
    <description>&lt;pre&gt;
I had not realized the use of sEvaluate, life seems easier already !


Yes

(PLI/sEvaluate "(assert-from-query (retrieve 10 (bar ?x)) :relation
foo ))" "MY-MODULE" nil)

does work indeed

many thanks!


_______________________________________________
powerloom-forum mailing list
powerloom-forum&amp;lt; at &amp;gt;isi.edu
http://mailman.isi.edu/mailman/listinfo/powerloom-forum
&lt;/pre&gt;</description>
    <dc:creator>Pierre Grenon</dc:creator>
    <dc:date>2011-07-01T17:08:54</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.ai.powerloom/467">
    <title>Re: Easy assert-from-query using java api?</title>
    <link>http://permalink.gmane.org/gmane.comp.ai.powerloom/467</link>
    <description>&lt;pre&gt;
On Jun 30, 2011, at 5:24 AM, Pierre Grenon wrote:


Anything that is a COMMAND in PowerLoom can be accessed using the PLI.evaluate or PLI.sEvaluate method.  From Java I would imagine that PLI.sEvaluate would be the simplest method to use.  Something like

   PLI.sEvaluate("(assert-from-query (retrieve all (...)) :relation foo)", "MY-MODULE", null);

should work.
&lt;/pre&gt;</description>
    <dc:creator>Thomas Russ</dc:creator>
    <dc:date>2011-06-30T19:16:50</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.ai.powerloom">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.ai.powerloom</link>
  </textinput>
</rdf:RDF>
