diff --git a/RELEASE b/RELEASE index 17f785c36..1d00a14af 100644 --- a/RELEASE +++ b/RELEASE @@ -1,5 +1,6 @@ EYE release +[v2.11.0] adding non-unit resolution for blogic [v2.10.3] adding blogic negative surface redundancy removal [v2.10.2] using log:onQuerySurface instead of log:onConstructSurface [v2.10.1] fixing https://github.com/eyereasoner/Notation3-By-Example/blob/main/log/blogic/negativeSurface3.n3 diff --git a/VERSION b/VERSION index 5f4f65c85..46b81d815 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.10.3 +2.11.0 diff --git a/eye.pl b/eye.pl index 349fd093d..62405503a 100644 --- a/eye.pl +++ b/eye.pl @@ -20,7 +20,7 @@ :- use_module(library(semweb/turtle)). :- catch(use_module(library(http/http_open)), _, true). -version_info('EYE v2.10.3 josd'). +version_info('EYE v2.11.0 josd'). license_info('MIT License @@ -740,6 +740,28 @@ -> assertz(''(V, H)) ; true )), true, '<>')), + % non-unit resolution + assertz(implies((''(V, G), + conj_list(G, L), + \+member(''(_, _), L), + \+member(''(_, _), L), + findall(1, + ( member(''(_, _), L) + ), + D + ), + length(D, E), + E < 4, + ''(_, F), + conj_list(F, K), + length(K, 2), + select(''(U, C), K, [P]), + select(''(_, P), L, M), + conj_list(H, [''(U, C)|M]), + ( \+''(V, H) + -> assertz(''(V, H)) + ; true + )), true, '<>')), % adjust graffiti assertz(implies((''(V, G), findvars(G, U, beta), diff --git a/eye.zip b/eye.zip index 1482066de..14b0819ae 100644 Binary files a/eye.zip and b/eye.zip differ diff --git a/reasoning/blogic/beetle.n3 b/reasoning/blogic/beetle.n3 index 944e02fb1..f63f37822 100644 --- a/reasoning/blogic/beetle.n3 +++ b/reasoning/blogic/beetle.n3 @@ -32,6 +32,6 @@ }. # query -() log:onAskSurface { - :beetle :is :beautiful. +(_:S _:O) log:onQuerySurface { + _:S :is _:O. }. diff --git a/reasoning/blogic/beetle10a-answer.n3 b/reasoning/blogic/beetle10a-answer.n3 index d490f539f..5e0d2336b 100644 --- a/reasoning/blogic/beetle10a-answer.n3 +++ b/reasoning/blogic/beetle10a-answer.n3 @@ -40,6 +40,14 @@ log:onNegativeSurface :is :beautiful. _:e_O_1 a rdfs:Resource. }. } :is :beautiful. +{ + () log:onNegativeSurface { + _:e_A_1 :is :beautiful. + }. + () log:onNegativeSurface { + _:e_A_1 :is :beautiful. + }. +} :is :beautiful. (_:e_S_1 _:e_O_1) :is :beautiful. log:onQuerySurface :is :beautiful. { diff --git a/reasoning/blogic/beetle12.n3 b/reasoning/blogic/beetle12.n3 index 3fac1677a..b26e583f5 100644 --- a/reasoning/blogic/beetle12.n3 +++ b/reasoning/blogic/beetle12.n3 @@ -129,6 +129,9 @@ }. # query +# (_:S _:O) log:onQuerySurface { +# _:S :is _:O. +# } () log:onAskSurface { :beetle :is :beautiful. }. diff --git a/reasoning/blogic/beetle12a.n3 b/reasoning/blogic/beetle12a.n3 index b9e7d8856..c1f28251d 100644 --- a/reasoning/blogic/beetle12a.n3 +++ b/reasoning/blogic/beetle12a.n3 @@ -45,6 +45,9 @@ }. # query +# (_:S _:O) log:onQuerySurface { +# _:S :is _:O. +# } () log:onAskSurface { :beetle :is :beautiful. }. diff --git a/reasoning/blogic/beetle14.n3 b/reasoning/blogic/beetle14.n3 index 451b72bf5..001c3017f 100644 --- a/reasoning/blogic/beetle14.n3 +++ b/reasoning/blogic/beetle14.n3 @@ -28,6 +28,9 @@ }. # query +# (_:S _:O) log:onQuerySurface { +# _:S :is _:O. +# } () log:onAskSurface { :herbie :is :beautiful. }. diff --git a/reasoning/blogic/beetle2.n3 b/reasoning/blogic/beetle2.n3 index 56b9f2ca0..f98d88514 100644 --- a/reasoning/blogic/beetle2.n3 +++ b/reasoning/blogic/beetle2.n3 @@ -43,6 +43,6 @@ }. # query -() log:onAskSurface { - :beetle :is :beautiful. +(_:S _:O) log:onQuerySurface { + _:S :is _:O. }. diff --git a/reasoning/blogic/beetle3.n3 b/reasoning/blogic/beetle3.n3 index a5c41b992..21b434ec6 100644 --- a/reasoning/blogic/beetle3.n3 +++ b/reasoning/blogic/beetle3.n3 @@ -40,6 +40,6 @@ }. # query -() log:onAskSurface { - :beetle :is :beautiful. +(_:S _:O) log:onQuerySurface { + _:S :is _:O. }. diff --git a/reasoning/blogic/beetle4.n3 b/reasoning/blogic/beetle4.n3 index e665fafb1..8a42059bf 100644 --- a/reasoning/blogic/beetle4.n3 +++ b/reasoning/blogic/beetle4.n3 @@ -40,6 +40,6 @@ }. # query -() log:onAskSurface { - :beetle :is :beautiful. +(_:S _:O) log:onQuerySurface { + _:S :is _:O. }. diff --git a/reasoning/blogic/beetle5.n3 b/reasoning/blogic/beetle5.n3 index fcdfab9a3..cfb437d18 100644 --- a/reasoning/blogic/beetle5.n3 +++ b/reasoning/blogic/beetle5.n3 @@ -51,6 +51,6 @@ }. # query -() log:onAskSurface { - :beetle :is :beautiful. +(_:S _:O) log:onQuerySurface { + _:S :is _:O. }. diff --git a/reasoning/blogic/beetle8.n3 b/reasoning/blogic/beetle8.n3 index fe16a8b9f..4272649b9 100644 --- a/reasoning/blogic/beetle8.n3 +++ b/reasoning/blogic/beetle8.n3 @@ -40,6 +40,6 @@ }. # query -() log:onAskSurface { - :beetle :is :beautiful. +(_:S _:O) log:onQuerySurface { + _:S :is _:O. }. diff --git a/reasoning/blogic/beetle9.n3 b/reasoning/blogic/beetle9.n3 index 80e1e6003..383ae1e13 100644 --- a/reasoning/blogic/beetle9.n3 +++ b/reasoning/blogic/beetle9.n3 @@ -32,6 +32,9 @@ }. # query +# (_:S _:O) log:onQuerySurface { +# _:S :is _:O. +# } () log:onAskSurface { :beetle :is :beautiful. }. diff --git a/reasoning/blogic/disj-elim.n3 b/reasoning/blogic/disj-elim.n3 index ca2b7eb23..48b53004e 100644 --- a/reasoning/blogic/disj-elim.n3 +++ b/reasoning/blogic/disj-elim.n3 @@ -32,6 +32,6 @@ }. # query -() log:onAskSurface { - :bob :saying :C. +(_:S _:O) log:onQuerySurface { + _:S :saying _:O. }.