diff --git a/RELEASE b/RELEASE index b2f0bca46..904b66066 100644 --- a/RELEASE +++ b/RELEASE @@ -1,5 +1,6 @@ EYE release +v10.30.4 (2024-11-19) simplify negative answer surfaces v10.30.3 (2024-11-13) solving issue https://github.com/eyereasoner/eye/issues/121 v10.30.2 (2024-11-11) adjusting to https://eyereasoner.github.io/eye/#eye-color v10.30.1 (2024-11-08) dropping --prolog and using --n3p instead diff --git a/VERSION b/VERSION index f776749a0..4a8969ef5 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -10.30.3 +10.30.4 diff --git a/eye.pl b/eye.pl index f3b5e29d3..7fc41b1e1 100644 --- a/eye.pl +++ b/eye.pl @@ -22,7 +22,7 @@ :- catch(use_module(library(process)), _, true). :- catch(use_module(library(http/http_open)), _, true). -version_info('EYE v10.30.3 (2024-11-13)'). +version_info('EYE v10.30.4 (2024-11-19)'). license_info('MIT License @@ -5521,7 +5521,10 @@ is_list(Zl), is_graph(H), conj_list(H, M), - list_to_set(M, T), + list_to_set(M, Ts), + ( T = Ts + ; select(_, Ts, T) + ), select(''(W, O), T, N), getlist(W, Wl), is_list(Wl), @@ -5581,6 +5584,26 @@ ) )), ''(V, ''(U, Hm)), '<>')), + % simplify negative answer surfaces + assertz(implies(( + ''(V, G), + getlist(V, Vl), + is_list(Vl), + is_graph(G), + conj_list(G, L), + list_to_set(L, B), + member(''(_, _), B), + select(''(Z, H), B, K), + getlist(Z, Zl), + is_list(Zl), + is_graph(H), + conj_list(H, M), + list_to_set(M, J), + select(_, J, T), + conj_list(R, T), + conj_list(S, [''(Z, R)|K]) + ), ''(V, S), '<>')), + % resolve negative surfaces assertz(implies(( ''(V, G), diff --git a/eye.zip b/eye.zip index 568c64f17..75c34a2e8 100644 Binary files a/eye.zip and b/eye.zip differ