- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Wed, 19 Feb 2003 14:06:26 -0500 (EST)
- To: jjc@hplb.hpl.hp.com
- Cc: www-webont-wg@w3.org
From: Jeremy Carroll <jjc@hplb.hpl.hp.com> Subject: Re: TEST: extra credit - arithmetic Date: Wed, 19 Feb 2003 14:03:51 +0000 [...] > Taking N=2 and M=3 to make it a little easier ... > > only-d = { d } > p = { <a, d>, <b, d> } cardinality of something = 2 p range = { d } { d } <= =2 p- > p is functional > inv-p has cardinality 2 owl:Thing <= =2 p- > q = { <A, a>, <B, a>, <C, a>, <D, b>, <E, b>, <F, b> } .... > q is functional > inv-q has cardinality 3 owl:Thing <= =3 q- > r = { <A,d>, <B,d>, <C,d>, <D,d>, <E,d>, <F,d> } ... > inv-r has cardinality 6 owl:Thing <= =6 r- > So if I change the test a bit to express the cardinality constraints on the > inverse properties or perhaps just declare them as InverseFunctional and > reverse the senses all through, I should be able to arrive at the desired > effect of having three named numbers N, M and N-times-M which then embed > multiplication in OWL Full. I don't see how you get to mulitiplication this way. > Does this look promising? > > ... > > ObjectProperty( <#p>, inverse(<#inv-p>), InverseFunctional) > EnumeratedClass( <#only-d>, { <#d> } ) > Class( <#only-d> complete restriction( <#p> cardinality=<#N> ) ) > Class( <#cardinality-N> complete > restriction( <#inv-p>, someValuesFrom( <#only-d> ) ) p is inverseFunctional { d } == =N p cardinalty-N == exists p- { d } > ObjectProperty( <#q>, inverse(<#inv-q>), InverseFunctional) > Class( <#cardinality-N> complete > restriction( <#q> cardinality=<#M> ) ) > Class( <#cardinality-N-times-M> complete > restriction( <#inv-r>, someValuesFrom( <#cardinality-N> ) ) q is inversefunctional cardinality-N == =M q cardinality-N-times-M == exists r- cardinality-N > ObjectProperty( <#r>, inverse(<#inv-r>), InverseFunctional) > Class( <#only-d> complete restriction( <#p> cardinality=<#N-times-M> ) ) > Class( <#cardinality-N-times-M> complete > restriction( <#inv-r>, someValuesFrom( <#only-d> ) ) r is inversefunctional { d } == =N-times-M p If there is no contradiction then N = N-times-M cardinality-N-times-M == exists r- { d } > in something like the abstract syntax ... I don't see how you get a multiplication out of this. [...] peter
Received on Wednesday, 19 February 2003 14:06:46 UTC