- From: Dan Connolly <connolly@w3.org>
- Date: Thu, 07 Sep 2006 02:07:03 -0500
- To: public-cwm-talk@w3.org
On Wed, 2006-06-07 at 10:34 -0500, Dan Connolly wrote: > Now that we're starting to have more interoperability > around this http://www.w3.org/2000/10/swap/reason ontology, > I'm trying to understand it. > > By the way... I wrote > http://www.w3.org/2000/10/swap/test/reason/reason-report.n3 > which renders proofs in a style that's close to what I > learned in school (http://www.utexas.edu/courses/phl313k/). > There's a step number (well, a label), then the formula > that's established by the step, then a justification, > which refers to earlier steps. The .n3 version of this report was a nice prototype, but I need something more robust, so I coded it up in python inside check.py . It interferes with the normal way that check.py works, so I checked it in a branch, for now. check.py,v 1.55.2.1 2006/09/07 06:54:54 The report needs to be made optional, invoked by a command-line arg. > First you generate a proof in the normal way: > > swap/test/reason$ python2.4 ../../cwm.py socrates.n3 --think > --filter=soc-goal.n3 --base=foo: --why >,soc-pf.n3 That much is the same, but now you run the report a la: ~/w3ccvs/WWW/2000/10/swap/test/reason$ PYTHONPATH=$swap/.. python $swap/check.py ,soc-pf.n3 And out comes the normal check.py output, followed by the report: @prefix : <file:/home/connolly/w3ccvs/WWW/2000/10/swap/test/reason/socrates.n3#> . :socrates a :Mortal . 1: ... [by parsing <socrates.n3>] 2: :socrates a :Man . [by CE on 1 (@@_g_L36C30)] 3: @forAll :who . { :who a :Man . } log:implies {:who a :Mortal . } . [by CE on 1 (@@_g_L41C37)] 4: ... [by GMP on 3, [2]] 5: :socrates a :Mortal . [by CE on 4 (@@_g_L26C18)] 6: ... [by parsing <soc-goal.n3>] 7: @forAll so:p . { :socrates so:p :Mortal . } log:implies {:socrates so:p :Mortal . } . [by CE on 6 (@@_g_L53C25)] 8: ... [by GMP on 7, [5]] 9: :socrates a :Mortal . [by CI on [8]] The last few steps are a little funny-looking; they're a bi-product of using --filter to reduce the conclusion to a goal. Step 5 is the main conclusion. The @@_g_L36C30 is a diagnostic to help me figure out why it's not suppressing dups. -- Dan Connolly, W3C http://www.w3.org/People/Connolly/ D3C2 887B 0F92 6005 C541 0875 0F91 96DE 6E52 C29E
Received on Thursday, 7 September 2006 07:07:17 UTC