@prefix log: <http://www.w3.org/2000/10/swap/log#>.
@prefix v: <#>.

@prefix dl: <http://www.daml.org/2001/03/daml+oil#>.
@prefix sl: <http://www.w3.org/2001/03swell/lists#>.

@prefix wwg: <http://www.w3.org/2000/11/mr76/wwgame#>.
@prefix : <http://www.w3.org/2000/11/mr76/wwgame#>.

@prefix w3mmtg: <w3msum#>.
@prefix contact: <http://www.w3.org/2000/10/swap/pim/contact#>.

@prefix grp: <w3msum.n3#>. #@@ bogus.

this log:forAll v:who, v:date, v:what, v:x, v:grpConflicts, v:grp, v:mtg.

# hook w3mmtg:conflicts property to w3m; perhaps belongs
#  in the call-for-input
{ v:grp contact:homePage <http://www.w3.org/Project/w3m> }
log:implies { v:grp :conflictsProperty w3mmtg:conflicts }.


# giving information about conflicts implies
# a (scheduled) meeting.
{ v:grp grp:membership [ sl:member v:who ].
  (v:who v:date) v:grpConflicts v:x.
  v:grp :conflictsProperty v:grpConflicts.
}
  log:implies
  { v:grp :meetsOn v:date }.

{ v:grp :meetsOn v:date } log:implies { v:grp :meeting [ :on v:date ] }.


# who's available for which meetings?
{ v:grp :meeting v:mtg.
  (v:who [ is :on of v:mtg] )
      [ is :conflictsProperty of v:grp ] ().
 }
  log:implies { v:mtg :available v:who }.

# who's at risk for which meetings?
{ (v:who v:date) v:grpConflicts [ sl:member v:what ].
  v:grp :conflictsProperty v:grpConflicts;
        :meeting v:mtg.
  v:mtg :on v:date. }
  log:implies { v:mtg :conflicts v:who }.

#hmm.. perhaps a better way to phrase the input would have been...
# [ connolly's attendance at the w3m meeting of 18July is in conflict with ().
# who:connolly :w3mconflicts [ :on "2001-07-18"]; :what ()].
# hmm... no, I can't think of a natural way to do it without the pairs.

