
# $Author: lkagal $
# $Date: 2006-06-16 17:29:42 -0400 (Fri, 16 Jun 2006) $
# $Revision: 587 $

@keywords a.

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .

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

@prefix u: <http://niem.gov/niem/universal/0.3#>.
@prefix c: <http://niem.gov/niem/common/0.3#>.
@prefix j: <http://www.niem.gov/niem/domains/justice/0.3#>.

@prefix ts: <http://dig.csail.mit.edu/TAMI/data-schema#> .
@prefix tb: <http://dig.csail.mit.edu/TAMI/background#> .
@prefix law: <http://dig.csail.mit.edu/TAMI/law/> .

@prefix : <http://dig.csail.mit.edu/TAMI/lkagal/scenario3/rules#> .


@forAll G, A, C, P.

# checking whether an arrest is justified or not
# an arrest is justified if its purpose includes the statute used
{ A a j:Arrest; j:arrestCharge C.
  A purpose P.
  P ts:statute C.
} => { A a JustifiedArrest; charge C }.

{ A a j:Arrest; j:arrestCharge C.
  A purpose P.
  P a ts:AuthorizedPurpose.
  P log:semantics G.
  G log:notIncludes { P ts:statute C }.  
} => { A a NotJustifiedArrest; charge C }.

#ends
