- 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