See also: IRC log
<ChrisW> Chair: Christian de Sainte-Marie
<csma> leora, would you scribe, please?
okay
<csma> Thank you
<ChrisW> scribenick LeoraMorgenstern
<ChrisW> scribenick: LeoraMorgenstern
<ChrisW> Scribe: Leora Morgenstern
Meeting for December 26th has been cancelled;
ACTION 194 (on ChrisW) to update people with multiple actions has been closed.
<ChrisW> RESOLVED: accept minutes of 12/12 telecon
Minutes of December 12 have been accepted
Amendment to agenda: We will not discuss issue 12, since Dave (Reynolds) is not here.
That will be moved to the next meeting.
ACTION 201 on Sandro to set up web page for registration: continued
<Allen> no
III: No actions; no news
IV: Technical Design
csma: any discussion on use of constraints in RIF?
ChrisW: (to Harold and Michael) Did Hassan's paper clear up the confusion
Harold: little confusion about CLPs
cmsa: Alex and Dave were concerned about CLPs, but they are not present at this call.
csma: Continuing to slotted syntax ...
hassan: Not much contention on
uses of constraints.
... idea is not to impose the clp scheme, but the idea of using
constraints to abstract data
... two orthogonal dismensions: rules, and data they work
on
cmsa: connection to black boxes discussed at f2f?
Harold: can be handled by the same mechanism
Hassan: constraints used for pattern matching, is the mechanism for binding variables
ChrisW: isn't using too much unsspecified and relying on external calls a form of cheating?
Hassan: No --- won't be unsspecified
csma: objection is to phrase "external call"
Hassan: But can use a logical system for solving constraints
<Harold> Basic semantics of an external call: map current substitution (binding environment) to a new substitution (indicating success) or to failure.
<FrankMcCabe> +q
Hassan: unifying is the external
call: external to CLP engine
... taking the "external call" too literally, It just means
that two things are independent.
csma: to avoid confusion, change term "external call"
Michael: question about
extensibility of CLP schema
... (to Hassan): how does CLP scheme extend to negation as
failure, for example?
Hassan: Can be extended to handle NAF
csma: extension to production rules?
Hassan: hard to extend to
production rules --- don't have complete operational
semantics
... if it can be expressed in LP, can be expressed in CLP
Michael: But: is there a
model-theoretic characterization for constraint stable models
as there is for stable models in LP?
... want stable semantics or well-founded semantics for
CLP.
Hassan: Has to look it up to formalize question, see if it has been addressed, see if satisfies Michael's requirements
<Zakim> GaryHallmark, you wanted to ask whether constraints == prolog builtins
Gary: are Prolog built ins = constraints? predicates?
Hassan: Prolog built ins are black boxes; can be viewed as contraints
<igor> in Prolog, term unification=constraints
csma: if one of the & (?) in the RIF is doing Prolog, and another is doing something else, what do we have / where do we stand?
hassan: encoder makes decision
<Harold> Christian, we could say that an "external call" need not be a "foreign call": "External" in the sense of "normally independent of RIF", although in special cases it can coincide with RIF. "Foreign" in the sense of "software entirely outside of RIF".
<ChrisW> Polo, who are you?
csma: how do you decide what goes
into constraints and what goes into conditions, if your
langauge doesn't have this distinction?
... question is not just for production rules.
Gary: Prolog built-ins can have side effects; in production rules, these would have to be implmented in action part.
Hassan: in the scheme, putting things on the right does not say anything about execution order.
<Harold> Gary is referring to http://www.w3.org/2005/rules/wg/wiki/CORE/Rules/Horn, SYNTAX, Example 3b'.
Hassan: Gary's example is outside the scheme (check on this)
<ChrisW> uh oh
csma: but how would implementer know what to do for an arbitrary rule language?
Hassan: normative syntax should be constraint syntax;
<FRancois> Yes, it is.
<AxelPolleres> hmmm.
<Hassan> hmmm?
Frank: it's not that clear; some people use rules to implement constraints.
Distinction between normal rules and constraint rule can be subtle.
<AxelPolleres> I am still unclear where the line between built-ins and constraints lies, but I was a bit distracted, for a moment, sorry.
Frank: distinction between what's in constraints and what's in rules is up to author.
<Harold> Frank and Hassan, one clear criterion for relations that should go into constraint calls would be decidability. Only decidable relations should become constraints.
Frank: Most often, people have a set of predicates that they choose to call contraints.
Hassan: That's exactly my point!
<GaryHallmark> a Java method can be very fast at solving some kind of constraints, but it only works if some variables are bound. Is this allowed?
<Harold> (Not all decidable relations would need to become constraints, so *efficient* decidability could be a more strict criterion.)
Frank: whole issue of slotted vs positional arguments can be viewed in terms of constraints.
Harold: could have some predefined library of constraints: perhaps built-in libraries that comes with RIF.
Hassan: Really likes Harold's idea.
<AxelPolleres> +1 to have a list of built-ins.
Harold: lots of discussion about which are the right built-ins.
<AxelPolleres> can Xpath/Xquery functions be a starting point?
csma or ??: built ins would be on constraints, for efficiency reasons. (Check this.)
<ChrisW> Axel, that is a place for us to look, I think (Xpath/Xquery)
Harold: No need to change
semantics for slots.
... change change syntax to transform slots into positional
arguments.
<GaryHallmark> URL?
(This is on wiki Core)
positive conditions --- syntactic transformations
Harold: details about the transformation ...
<Hassan> Where is this on the wiki?
Harold: all can be implemented nicely using Hassan's CLP
http://www.w3.org/2005/rules/wg/wiki/CORE/Conditions/Positive
csma: can you do the transformation in the other direction as well?
Harold (to csma): yes
Frank: confused about bottom
element
... slotted to positional; you would expect missing slots to
map to any variable
Hassan: yes, should map to top element
Harold: depends on semantics. minimalistic semantics: yes
<Hassan> Then what does bottom denote? It denotes constraint failure to me!
Harold: bottom denotes variable that doesn't bind to anything
Hassan: no, that's not the
semantics for bottom.
... It's top, not bottom!
<FRancois> Sorry, friends, I must go.
Hassan: this is a very strange
version of extensional records of functional programming
... was suggested ?? years ago by ??? (check)
... why do this? can be much more simply handled
<AxelPolleres> Can we wrap this up and move it to the list?
csma: can't solve this now. Can Harold's version on wiki be modified?
ChrisW: Point of Harold's document was that there be no rest variables (check this)
<PaulaP> I wish you relaxed holidays!
Hassan: But this can be solved much more simply --- don't need extension variables
<PaulaP> bye
ChrisW: (to Hassan) unclear about your position on signatures
Hassan: yes, you do need signatures
ChrisW: for Hassan, signatures are a way of solving the problem
Harold: want to do this
statically
... don't want constraints in condition part
<FrankMcCabe> you can achieve the same effect by mapping f(a=1,b=2) to f/2(1,2)
csma: Hassan, please go to Harold's wiki page and suggest ways of modifying it.
Hassan: my paper already explains it.
csma: paper is not the same as a RIF document/proposal
Hassan: all right, one more try.
Too much workload to persist in this.
... But I'm taking no new actions until January
<Harold> Right, "Point of Harold's document was that there be no rest variables (check this)": No rest variables (no 'subsumption' or 'open-slot' semantics) to avoid the problem we had after F2F4, namely that, e.g., p(a,b) would be 'equal' to p(a) through the shortcut of p{1->a,2->b} being equal to p{1->a}.
csma: let's move to production rules
Gary: trying to clarify interaction with the rules system --- no straightforward way to transform LP rule to production system
<Hassan> As Harold wrote it in one email, transforming top-down to bottom-up rule evaluation
ChrisW: Suggestion from Gary: pragmas in the translation.
<Hassan> is done with Magic sets
<sandro> [ I'm deeply sorry -- I had to step out of the meeting there to handle an urgent personal matter. ]
csma: pragmas related to RIF processing models?
<sandro> [ back now, though ]
<AxelPolleres> MAgic sets are an optimization method for "emulating" top-down wthin bottom-up evaluation of rule sets
<Harold> I wonder about Francois' SATCHMO, ... experience here (top-down plus bottom-up).
ChrisW (to csma): could be
Frank: Does Chris mean that pragmas should capture operatoinal semantics of the rules?
Chris: Has to think about this more
csma: need examples
<AxelPolleres> -1
Frank: can't capture essence of rules if operational semantics is ignored.
<AxelPolleres> to that operational semantics is essential in all cases.
csma: Discussion probably needs to be put back on mailing list.
<Hassan> Yes, but how many "pure" such language vs. "dirty" rule langues?
Axel: was disagreeing that operational semantics is always essentia. After all, one can have a model theoretic semantics
ACTION 188 closed
<AxelPolleres> please post the URIs again in the minutes to these actions to have a hook here.
ACTIONS 156, 157, 159, 160 all continued
<AxelPolleres> bye
<Hassan> +1 to adjourn
<Hassan> Happy many things
http://www.w3.org/2005/rules/wg/track/actions/open
<ChrisW> sandro?