From 2a61255c3624a75c8ce732e981441cdd2b29902b Mon Sep 17 00:00:00 2001 From: josd Date: Tue, 12 Dec 2023 05:18:28 +0100 Subject: [PATCH] using lingua variables in the var: namespace --- RELEASE | 1 + VERSION | 2 +- eye.pl | 59 +++--- eye.zip | Bin 98306 -> 98244 bytes reasoning/lingua/acp.ttl | 89 ++++----- reasoning/lingua/append.ttl | 16 +- reasoning/lingua/backward.ttl | 12 +- reasoning/lingua/complex.ttl | 301 +++++++++-------------------- reasoning/lingua/control.ttl | 93 +++------ reasoning/lingua/fibonacci.ttl | 70 +++---- reasoning/lingua/forward.ttl | 17 +- reasoning/lingua/gen.ttl | 22 +-- reasoning/lingua/gps.ttl | 215 +++++---------------- reasoning/lingua/graph.ttl | 29 +-- reasoning/lingua/hanoi.ttl | 41 ++-- reasoning/lingua/negation.ttl | 43 ++--- reasoning/lingua/notequal.ttl | 25 +-- reasoning/lingua/out/fibonacci.ttl | 1 + reasoning/lingua/out/peano.ttl | 2 +- reasoning/lingua/out/pi.ttl | 2 +- reasoning/lingua/patch.ttl | 25 +-- reasoning/lingua/peano.ttl | 72 ++----- reasoning/lingua/pi.ttl | 68 ++----- reasoning/lingua/sdcoding.ttl | 129 ++++--------- reasoning/lingua/sha512.ttl | 13 +- reasoning/lingua/socrates.ttl | 21 +- reasoning/lingua/turing.ttl | 169 ++++------------ reasoning/lingua/union.ttl | 16 +- reasoning/lingua/universal.ttl | 36 ++-- reasoning/lingua/unpack.ttl | 128 ++++-------- reasoning/lingua/witch.ttl | 43 ++--- 31 files changed, 536 insertions(+), 1224 deletions(-) diff --git a/RELEASE b/RELEASE index d1cd2a378..b0eb1deb6 100644 --- a/RELEASE +++ b/RELEASE @@ -1,5 +1,6 @@ EYE release +v9.0.13 (2023-12-12) using lingua variables in the var: namespace v9.0.12 (2023-12-12) reverting lingua v9.0.11 (2023-12-11) for isomorphic rules use the rule with the least blank nodes v9.0.10 (2023-12-11) using lingua:varCount to make rules safe diff --git a/VERSION b/VERSION index 95f98aa67..ec9af0e71 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.0.12 +9.0.13 diff --git a/eye.pl b/eye.pl index c65742190..ac1e6487f 100644 --- a/eye.pl +++ b/eye.pl @@ -21,7 +21,7 @@ :- use_module(library(pcre)). :- catch(use_module(library(http/http_open)), _, true). -version_info('EYE v9.0.12 (2023-12-12)'). +version_info('EYE v9.0.13 (2023-12-12)'). license_info('MIT License @@ -645,34 +645,23 @@ ), % forward rule assertz(implies(( - ''(R, ''), - ''(R, U), - getlist(U, V), - ''(R, K), + ''(R, ''), + ''(R, K), getconj(K, A), - ''(R, H), + ''(R, H), getconj(H, B), - ( flag(explain), - B \= false - -> conj_append(B, remember(answer('', R, U)), D) - ; D = B - ), - makevars([A, D], [Q, I], beta(V)) + findvars([A, B], V, alpha), + makevars([A, B], [Q, I], beta(V)) ), ''(Q, I), '<>')), % backward rule assertz(implies(( - ''(R, ''), - ''(R, U), - getlist(U, V), - ''(R, K), + ''(R, ''), + ''(R, K), getconj(K, A), - ''(R, H), + ''(R, H), getconj(H, B), - ( flag(explain) - -> conj_append(A, remember(answer('', R, U)), D) - ; D = A - ), - makevars(':-'(B, D), C, beta(V)), + findvars([A, B], V, alpha), + makevars(':-'(B, A), C, beta(V)), copy_term_nat(C, CC), labelvars(CC, 0, _, avar), ( \+cc(CC) @@ -683,19 +672,14 @@ )), true, '<>')), % query rule assertz(implies(( - ''(R, ''), - ''(R, U), - getlist(U, V), - ''(R, K), + ''(R, ''), + ''(R, K), getconj(K, A), - ''(R, H), + ''(R, H), getconj(H, B), djiti_answer(answer(B), J), - ( flag(explain) - -> conj_append(A, remember(answer('', R, U)), D) - ; D = A - ), - makevars(implies(D, J, '<>'), C, beta(V)), + findvars([A, B], V, alpha), + makevars(implies(A, J, '<>'), C, beta(V)), copy_term_nat(C, CC), labelvars(CC, 0, _, avar), ( \+cc(CC) @@ -1504,7 +1488,7 @@ ttl_n3p(O, Object), Triple =.. [Predicate, Subject, Object], djiti_assertz(Triple), - ( Predicate = '', + ( Predicate = '', \+flag(lingua) -> assertz(flag(lingua)) ; true @@ -1566,7 +1550,7 @@ -> nb_setval(current_scope, Scope) ; true ), - ( Rt = ''(_, _), + ( Rt = ''(_, _), \+flag(lingua) -> assertz(flag(lingua)) ; true @@ -2628,7 +2612,7 @@ verb(Item, Triples1), { prolog_verb(Item, Verb), ( atomic(Verb), - Verb = '\'\'', + Verb = '\'\'', \+flag(lingua) -> assertz(flag(lingua)) ; true @@ -11105,7 +11089,7 @@ recursion(B) ), ( flag(lingua) - -> A = '' + -> A = '' ; nb_getval(scope, A) ). @@ -12076,7 +12060,8 @@ !, distinct(C, D), findvars(D, G, beta), - ( D \= G + ( flag(blogic), + D \= G -> throw(invalid_graffiti(D, in(A))) ; true ), diff --git a/eye.zip b/eye.zip index 1c9b2df7b996f016f9e48a02a6c865d1501cf3b4..386a46337a7683b049ae8a827447e00fbfaa4be3 100644 GIT binary patch delta 95735 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 mff~{P0A+b)FH%KJML|^y68 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
    P*HRU3`Y5sQ|h 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%0A+w; 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 diff --git a/reasoning/lingua/acp.ttl b/reasoning/lingua/acp.ttl index 1111e349a..b6b66593f 100644 --- a/reasoning/lingua/acp.ttl +++ b/reasoning/lingua/acp.ttl @@ -1,7 +1,8 @@ @prefix rdf: . @prefix list: . @prefix log: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . :test1 @@ -15,89 +16,65 @@ :noneOf :D. :acp_rule1 a lingua:BackwardRule; - lingua:vars ( - _:Pol - _:Test - _:Field - _:X - ); lingua:conclusion ( - _:Pol :pass :allOfTest + var:Pol :pass :allOfTest ); lingua:premise ( - _:Test :policy _:Pol - _:Pol rdf:type :Policy + var:Test :policy var:Pol + var:Pol rdf:type :Policy ( ( - _:Pol :allOf _:Field + var:Pol :allOf var:Field ) ( - _:Test :has _:Field + var:Test :has var:Field ) - ) log:forAllIn _:X + ) log:forAllIn var:X ). :acp_rule2 a lingua:BackwardRule; - lingua:vars ( - _:Pol - _:Test - _:Field - _:List - _:X - _:L - );lingua:conclusion ( - _:Pol :pass :anyOfTest + lingua:conclusion ( + var:Pol :pass :anyOfTest ); lingua:premise ( - _:Test :policy _:Pol - _:Pol rdf:type :Policy + var:Test :policy var:Pol + var:Pol rdf:type :Policy ( - _:Field + var:Field ( - _:Pol :anyOf _:Field - _:Test :has _:Field + var:Pol :anyOf var:Field + var:Test :has var:Field ) - _:List - ) log:collectAllIn _:X - _:List list:length _:L - _:L log:notEqualTo 0 + var:List + ) log:collectAllIn var:X + var:List list:length var:L + var:L log:notEqualTo 0 ). :acp_rule3 a lingua:BackwardRule; - lingua:vars ( - _:Pol - _:Test - _:Field - _:List - _:X - _:L - ); lingua:conclusion ( - _:Pol :pass :noneOfTest + var:Pol :pass :noneOfTest ); lingua:premise ( - _:Test :policy _:Pol - _:Pol rdf:type :Policy - (_:Field ( - _:Pol :noneOf _:Field - _:Test :has _:Field - ) _:List) log:collectAllIn _:X - _:List list:length _:L - _:L log:equalTo 0 + var:Test :policy var:Pol + var:Pol rdf:type :Policy + (var:Field ( + var:Pol :noneOf var:Field + var:Test :has var:Field + ) var:List) log:collectAllIn var:X + var:List list:length var:L + var:L log:equalTo 0 ). # query :acp_query a lingua:QueryRule; - lingua:vars ( - _:Pol - ); lingua:premise ( - _:Pol rdf:type :Policy - _:Pol :pass :allOfTest - _:Pol :pass :anyOfTest - _:Pol :pass :noneOfTest + var:Pol rdf:type :Policy + var:Pol :pass :allOfTest + var:Pol :pass :anyOfTest + var:Pol :pass :noneOfTest ); lingua:conclusion ( - :test :for _:Pol + :test :for var:Pol :test :is true ). diff --git a/reasoning/lingua/append.ttl b/reasoning/lingua/append.ttl index 0fd6c9ac6..7221b31cf 100644 --- a/reasoning/lingua/append.ttl +++ b/reasoning/lingua/append.ttl @@ -1,6 +1,7 @@ @prefix list: . @prefix log: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . :Let :param1 ( @@ -16,16 +17,11 @@ # query :append_query a lingua:QueryRule; - lingua:vars ( - _:X1 - _:X2 - _:Y - ); lingua:premise ( - :Let :param1 _:X1 - :Let :param2 _:X2 - (_:X1 _:X2) list:append _:Y + :Let :param1 var:X1 + :Let :param2 var:X2 + (var:X1 var:X2) list:append var:Y ); lingua:conclusion ( - (_:X1 _:X2) :append _:Y + (var:X1 var:X2) :append var:Y ). diff --git a/reasoning/lingua/backward.ttl b/reasoning/lingua/backward.ttl index c63fa0be5..acced66a2 100644 --- a/reasoning/lingua/backward.ttl +++ b/reasoning/lingua/backward.ttl @@ -1,24 +1,20 @@ @prefix math: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . # see https://www.w3.org/2000/10/swap/doc/tutorial-1.pdf page 17 # something is more interesting if it is greater :backward_rule a lingua:BackwardRule; - lingua:vars ( - _:X - _:Y - ); lingua:conclusion ( - _:X :moreInterestingThan _:Y + var:X :moreInterestingThan var:Y ); lingua:premise ( - _:X math:greaterThan _:Y + var:X math:greaterThan var:Y ). # query :backward_query a lingua:QueryRule; - lingua:vars (); lingua:premise ( 5 :moreInterestingThan 3 ); diff --git a/reasoning/lingua/complex.ttl b/reasoning/lingua/complex.ttl index b4e7faede..0393c89d8 100644 --- a/reasoning/lingua/complex.ttl +++ b/reasoning/lingua/complex.ttl @@ -1,269 +1,158 @@ @prefix math: . @prefix complex: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . # exponentiation :complex_numbers_exponentiation_rule a lingua:BackwardRule; - lingua:vars ( - _:A - _:B - _:C - _:D - _:E - _:F - _:R - _:T - _:Z1 - _:Z2 - _:Z3 - _:Z4 - _:Z5 - _:Z6 - _:Z7 - _:Z8 - _:Z9 - _:Z10 - ); lingua:conclusion ( - ((_:A _:B) (_:C _:D)) complex:exponentiation (_:E _:F) + ((var:A var:B) (var:C var:D)) complex:exponentiation (var:E var:F) ); lingua:premise ( - (_:A _:B) complex:polar (_:R _:T) - (_:R _:C) math:exponentiation _:Z1 - _:D math:negation _:Z2 - (_:Z2 _:T) math:product _:Z3 - (2.718281828459045 _:Z3) math:exponentiation _:Z4 - (2.718281828459045 _:Z5) math:exponentiation _:R - (_:D _:Z5) math:product _:Z6 - (_:C _:T) math:product _:Z7 - (_:Z6 _:Z7) math:sum _:Z8 - _:Z8 math:cos _:Z9 - (_:Z1 _:Z4 _:Z9) math:product _:E - _:Z8 math:sin _:Z10 - (_:Z1 _:Z4 _:Z10) math:product _:F + (var:A var:B) complex:polar (var:R var:T) + (var:R var:C) math:exponentiation var:Z1 + var:D math:negation var:Z2 + (var:Z2 var:T) math:product var:Z3 + (2.718281828459045 var:Z3) math:exponentiation var:Z4 + (2.718281828459045 var:Z5) math:exponentiation var:R + (var:D var:Z5) math:product var:Z6 + (var:C var:T) math:product var:Z7 + (var:Z6 var:Z7) math:sum var:Z8 + var:Z8 math:cos var:Z9 + (var:Z1 var:Z4 var:Z9) math:product var:E + var:Z8 math:sin var:Z10 + (var:Z1 var:Z4 var:Z10) math:product var:F ). # asin :complex_numbers_asin_rule a lingua:BackwardRule; - lingua:vars ( - _:A - _:B - _:C - _:D - _:E - _:F - _:Z1 - _:Z2 - _:Z3 - _:Z4 - _:Z5 - _:Z6 - _:Z7 - _:Z8 - _:Z9 - _:Z10 - _:Z11 - _:Z12 - _:Z13 - _:Z14 - _:Z15 - ); lingua:conclusion ( - (_:A _:B) complex:asin (_:C _:D) + (var:A var:B) complex:asin (var:C var:D) ); lingua:premise ( - (1 _:A) math:sum _:Z1 - (_:Z1 2) math:exponentiation _:Z2 - (_:B 2) math:exponentiation _:Z3 - (_:Z2 _:Z3) math:sum _:Z4 - (_:Z4 0.5) math:exponentiation _:Z5 - (1 _:A) math:difference _:Z6 - (_:Z6 2) math:exponentiation _:Z7 - (_:Z7 _:Z3) math:sum _:Z8 - (_:Z8 0.5) math:exponentiation _:Z9 - (_:Z5 _:Z9) math:difference _:Z10 - (_:Z10 2) math:quotient _:E - (_:Z5 _:Z9) math:sum _:Z11 - (_:Z11 2) math:quotient _:F - _:E math:asin _:C - (_:F 2) math:exponentiation _:Z12 - (_:Z12 1) math:difference _:Z13 - (_:Z13 0.5) math:exponentiation _:Z14 - (_:F _:Z14) math:sum _:Z15 - (2.718281828459045 _:D) math:exponentiation _:Z15 + (1 var:A) math:sum var:Z1 + (var:Z1 2) math:exponentiation var:Z2 + (var:B 2) math:exponentiation var:Z3 + (var:Z2 var:Z3) math:sum var:Z4 + (var:Z4 0.5) math:exponentiation var:Z5 + (1 var:A) math:difference var:Z6 + (var:Z6 2) math:exponentiation var:Z7 + (var:Z7 var:Z3) math:sum var:Z8 + (var:Z8 0.5) math:exponentiation var:Z9 + (var:Z5 var:Z9) math:difference var:Z10 + (var:Z10 2) math:quotient var:E + (var:Z5 var:Z9) math:sum var:Z11 + (var:Z11 2) math:quotient var:F + var:E math:asin var:C + (var:F 2) math:exponentiation var:Z12 + (var:Z12 1) math:difference var:Z13 + (var:Z13 0.5) math:exponentiation var:Z14 + (var:F var:Z14) math:sum var:Z15 + (2.718281828459045 var:D) math:exponentiation var:Z15 ). # acos :complex_numbers_acos_rule a lingua:BackwardRule; - lingua:vars ( - _:A - _:B - _:C - _:D - _:E - _:F - _:Z1 - _:Z2 - _:Z3 - _:Z4 - _:Z5 - _:Z6 - _:Z7 - _:Z8 - _:Z9 - _:Z10 - _:Z11 - _:Z12 - _:Z13 - _:Z14 - _:Z15 - _:U - ); lingua:conclusion ( - (_:A _:B) complex:acos (_:C _:D) + (var:A var:B) complex:acos (var:C var:D) ); lingua:premise ( - (1 _:A) math:sum _:Z1 - (_:Z1 2) math:exponentiation _:Z2 - (_:B 2) math:exponentiation _:Z3 - (_:Z2 _:Z3) math:sum _:Z4 - (_:Z4 0.5) math:exponentiation _:Z5 - (1 _:A) math:difference _:Z6 - (_:Z6 2) math:exponentiation _:Z7 - (_:Z7 _:Z3) math:sum _:Z8 - (_:Z8 0.5) math:exponentiation _:Z9 - (_:Z5 _:Z9) math:difference _:Z10 - (_:Z10 2) math:quotient _:E - (_:Z5 _:Z9) math:sum _:Z11 - (_:Z11 2) math:quotient _:F - _:E math:acos _:C - (_:F 2) math:exponentiation _:Z12 - (_:Z12 1) math:difference _:Z13 - (_:Z13 0.5) math:exponentiation _:Z14 - (_:F _:Z14) math:sum _:Z15 - (2.718281828459045 _:U) math:exponentiation _:Z15 - _:U math:negation _:D + (1 var:A) math:sum var:Z1 + (var:Z1 2) math:exponentiation var:Z2 + (var:B 2) math:exponentiation var:Z3 + (var:Z2 var:Z3) math:sum var:Z4 + (var:Z4 0.5) math:exponentiation var:Z5 + (1 var:A) math:difference var:Z6 + (var:Z6 2) math:exponentiation var:Z7 + (var:Z7 var:Z3) math:sum var:Z8 + (var:Z8 0.5) math:exponentiation var:Z9 + (var:Z5 var:Z9) math:difference var:Z10 + (var:Z10 2) math:quotient var:E + (var:Z5 var:Z9) math:sum var:Z11 + (var:Z11 2) math:quotient var:F + var:E math:acos var:C + (var:F 2) math:exponentiation var:Z12 + (var:Z12 1) math:difference var:Z13 + (var:Z13 0.5) math:exponentiation var:Z14 + (var:F var:Z14) math:sum var:Z15 + (2.718281828459045 var:U) math:exponentiation var:Z15 + var:U math:negation var:D ). # polar :complex_numbers_polar_rule a lingua:BackwardRule; - lingua:vars ( - _:X - _:Y - _:R - _:Tp - _:Z1 - _:Z2 - _:Z3 - _:Z4 - _:Z5 - _:T - ); lingua:conclusion ( - (_:X _:Y) complex:polar(_:R _:Tp) + (var:X var:Y) complex:polar(var:R var:Tp) ); lingua:premise ( - (_:X 2) math:exponentiation _:Z1 - (_:Y 2) math:exponentiation _:Z2 - (_:Z1 _:Z2) math:sum _:Z3 - (_:Z3 0.5) math:exponentiation _:R - _:X math:absoluteValue _:Z4 - (_:Z4 _:R) math:quotient _:Z5 - _:Z5 math:acos _:T - (_:X _:Y _:T) complex:dial _:Tp + (var:X 2) math:exponentiation var:Z1 + (var:Y 2) math:exponentiation var:Z2 + (var:Z1 var:Z2) math:sum var:Z3 + (var:Z3 0.5) math:exponentiation var:R + var:X math:absoluteValue var:Z4 + (var:Z4 var:R) math:quotient var:Z5 + var:Z5 math:acos var:T + (var:X var:Y var:T) complex:dial var:Tp ). # dial :complex_numbers_dial_rule1 a lingua:BackwardRule; - lingua:vars ( - _:X - _:Y - _:T - _:Tp - ); lingua:conclusion ( - (_:X _:Y _:T) complex:dial _:Tp + (var:X var:Y var:T) complex:dial var:Tp ); lingua:premise ( - _:X math:notLessThan 0 - _:Y math:notLessThan 0 - (0 _:T) math:sum _:Tp + var:X math:notLessThan 0 + var:Y math:notLessThan 0 + (0 var:T) math:sum var:Tp ). :complex_numbers_dial_rule2 a lingua:BackwardRule; - lingua:vars ( - _:X - _:Y - _:T - _:Tp - ); lingua:conclusion ( - (_:X _:Y _:T) complex:dial _:Tp + (var:X var:Y var:T) complex:dial var:Tp ); lingua:premise ( - _:X math:lessThan 0 - _:Y math:notLessThan 0 - (3.141592653589793 _:T) math:difference _:Tp + var:X math:lessThan 0 + var:Y math:notLessThan 0 + (3.141592653589793 var:T) math:difference var:Tp ). :complex_numbers_dial_rule3 a lingua:BackwardRule; - lingua:vars ( - _:X - _:Y - _:T - _:Tp - ); lingua:conclusion ( - (_:X _:Y _:T) complex:dial _:Tp + (var:X var:Y var:T) complex:dial var:Tp ); lingua:premise ( - _:X math:lessThan 0 - _:Y math:lessThan 0 - (3.141592653589793 _:T) math:sum _:Tp + var:X math:lessThan 0 + var:Y math:lessThan 0 + (3.141592653589793 var:T) math:sum var:Tp ). :complex_numbers_dial_rule4 a lingua:BackwardRule; - lingua:vars ( - _:X - _:Y - _:T - _:Tp - _:Z1 - ); lingua:conclusion ( - (_:X _:Y _:T) complex:dial _:Tp + (var:X var:Y var:T) complex:dial var:Tp ); lingua:premise ( - _:X math:notLessThan 0 - _:Y math:lessThan 0 - (3.141592653589793 2) math:product _:Z1 - (_:Z1 _:T) math:difference _:Tp + var:X math:notLessThan 0 + var:Y math:lessThan 0 + (3.141592653589793 2) math:product var:Z1 + (var:Z1 var:T) math:difference var:Tp ). # query :complex_numbers_query a lingua:QueryRule; - lingua:vars ( - _:C1 - _:C2 - _:C3 - _:C4 - _:C5 - _:C6 - ); lingua:premise ( - ((-1 0) (0.5 0)) complex:exponentiation _:C1 - ((2.718281828459045 0) (0 3.141592653589793)) complex:exponentiation _:C2 - ((0 1) (0 1)) complex:exponentiation _:C3 - ((2.718281828459045 0) (-1.57079632679 0)) complex:exponentiation _:C4 - (2 0) complex:asin _:C5 - (2 0) complex:acos _:C6 + ((-1 0) (0.5 0)) complex:exponentiation var:C1 + ((2.718281828459045 0) (0 3.141592653589793)) complex:exponentiation var:C2 + ((0 1) (0 1)) complex:exponentiation var:C3 + ((2.718281828459045 0) (-1.57079632679 0)) complex:exponentiation var:C4 + (2 0) complex:asin var:C5 + (2 0) complex:acos var:C6 ); lingua:conclusion ( - ((-1 0) (0.5 0)) complex:exponentiation _:C1 - ((2.718281828459045 0) (0 3.141592653589793)) complex:exponentiation _:C2 - ((0 1) (0 1)) complex:exponentiation _:C3 - ((2.718281828459045 0) (-1.57079632679 0)) complex:exponentiation _:C4 - (2 0) complex:asin _:C5 - (2 0) complex:acos _:C6 + ((-1 0) (0.5 0)) complex:exponentiation var:C1 + ((2.718281828459045 0) (0 3.141592653589793)) complex:exponentiation var:C2 + ((0 1) (0 1)) complex:exponentiation var:C3 + ((2.718281828459045 0) (-1.57079632679 0)) complex:exponentiation var:C4 + (2 0) complex:asin var:C5 + (2 0) complex:acos var:C6 ). diff --git a/reasoning/lingua/control.ttl b/reasoning/lingua/control.ttl index d2eda89d5..8955b4165 100644 --- a/reasoning/lingua/control.ttl +++ b/reasoning/lingua/control.ttl @@ -1,5 +1,6 @@ @prefix math: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . # input @@ -22,97 +23,61 @@ # forward rules :control_rule1 a lingua:ForwardRule; - lingua:vars ( - _:M1 - _:D1 - _:C1 - _:C2 - _:C - ); lingua:premise ( - :input1 :measurement10 _:M1 + :input1 :measurement10 var:M1 :input2 :measurement2 true - :disturbance1 :measurement3 _:D1 - (_:M1 19.6) math:product _:C1 # proportial part - (10 _:C2) math:exponentiation _:D1 # compensation part - (_:C1 _:C2) math:difference _:C # simple feedforward control + :disturbance1 :measurement3 var:D1 + (var:M1 19.6) math:product var:C1 # proportial part + (10 var:C2) math:exponentiation var:D1 # compensation part + (var:C1 var:C2) math:difference var:C # simple feedforward control ); lingua:conclusion ( - :actuator1 :control1 _:C + :actuator1 :control1 var:C ). :control_rule2 a lingua:ForwardRule; - lingua:vars ( - _:M3 - _:P3 - _:M4 - _:T2 - _:E - _:D - _:C1 - _:N - _:C2 - _:C - ); lingua:premise ( - :input3 :measurement3 _:M3 - :state3 :observation3 _:P3 - :output2 :measurement4 _:M4 - :output2 :target2 _:T2 - (_:T2 _:M4) math:difference _:E # error - (_:P3 _:M4) math:difference _:D # differential error - (5.8 _:E) math:product _:C1 # proportial part - (7.3 _:E) math:quotient _:N # nonlinear factor - (_:N _:D) math:product _:C2 # nonlinear differential part - (_:C1 _:C2) math:sum _:C # PND feedback control + :input3 :measurement3 var:M3 + :state3 :observation3 var:P3 + :output2 :measurement4 var:M4 + :output2 :target2 var:T2 + (var:T2 var:M4) math:difference var:E # error + (var:P3 var:M4) math:difference var:D # differential error + (5.8 var:E) math:product var:C1 # proportial part + (7.3 var:E) math:quotient var:N # nonlinear factor + (var:N var:D) math:product var:C2 # nonlinear differential part + (var:C1 var:C2) math:sum var:C # PND feedback control ); lingua:conclusion ( - :actuator2 :control1 _:C + :actuator2 :control1 var:C ). # backward rules :control_rule3 a lingua:BackwardRule; - lingua:vars ( - _:I - _:M - _:M1 - _:M2 - _:M3 - _:M - ); lingua:conclusion ( - _:I :measurement10 _:M + var:I :measurement10 var:M ); lingua:premise ( - _:I :measurement1 (_:M1 _:M2) - _:M1 math:lessThan _:M2 - (_:M2 _:M1) math:difference _:M3 - (_:M3 0.5) math:exponentiation _:M + var:I :measurement1 (var:M1 var:M2) + var:M1 math:lessThan var:M2 + (var:M2 var:M1) math:difference var:M3 + (var:M3 0.5) math:exponentiation var:M ). :control_rule4 a lingua:BackwardRule; - lingua:vars ( - _:I - _:M1 - _:M2 - ); lingua:conclusion ( - _:I :measurement10 _:M1 + var:I :measurement10 var:M1 ); lingua:premise ( - _:I :measurement1 (_:M1 _:M2) - _:M1 math:notLessThan _:M2 + var:I :measurement1 (var:M1 var:M2) + var:M1 math:notLessThan var:M2 ). # query :control_query a lingua:QueryRule; - lingua:vars ( - _:O - _:C - ); lingua:premise ( - _:O :control1 _:C + var:O :control1 var:C ); lingua:conclusion ( - _:O :control1 _:C + var:O :control1 var:C ). diff --git a/reasoning/lingua/fibonacci.ttl b/reasoning/lingua/fibonacci.ttl index e70203e54..7b906a91c 100644 --- a/reasoning/lingua/fibonacci.ttl +++ b/reasoning/lingua/fibonacci.ttl @@ -1,79 +1,55 @@ @prefix math: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . # backward rules :fibonacci_rule1 a lingua:BackwardRule; - lingua:vars ( - _:X - _:Y - ); lingua:conclusion ( - _:X :fibonacci _:Y + var:X :fibonacci var:Y ); lingua:premise ( - (_:X 0 1) :fib _:Y + (var:X 0 1) :fib var:Y ). :fibonacci_rule2 a lingua:BackwardRule; - lingua:vars ( - _:A - _:B - ); lingua:conclusion ( - (0 _:A _:B) :fib _:A + (0 var:A var:B) :fib var:A ); lingua:premise (). :fibonacci_rule3 a lingua:BackwardRule; - lingua:vars ( - _:A - _:B - ); lingua:conclusion ( - (1 _:A _:B) :fib _:B + (1 var:A var:B) :fib var:B ); lingua:premise (). :fibonacci_rule4 a lingua:BackwardRule; - lingua:vars ( - _:X - _:A - _:B - _:Y - _:C - _:D - ); lingua:conclusion ( - (_:X _:A _:B) :fib _:Y + (var:X var:A var:B) :fib var:Y ); lingua:premise ( - _:X math:greaterThan 1 - (_:X 1) math:difference _:C - (_:A _:B) math:sum _:D - (_:C _:B _:D) :fib _:Y + var:X math:greaterThan 1 + (var:X 1) math:difference var:C + (var:A var:B) math:sum var:D + (var:C var:B var:D) :fib var:Y ). # query :fibonacci_query a lingua:QueryRule; - lingua:vars ( - _:F1 - _:F2 - _:F3 - _:F4 - _:F5 - ); lingua:premise ( - 0 :fibonacci _:F1 - 1 :fibonacci _:F2 - 6 :fibonacci _:F3 - 91 :fibonacci _:F4 - 283 :fibonacci _:F5 + 0 :fibonacci var:F1 + 1 :fibonacci var:F2 + 6 :fibonacci var:F3 + 91 :fibonacci var:F4 + 283 :fibonacci var:F5 + 3674 :fibonacci var:F6 ); lingua:conclusion ( - () :fibonacci (0 _:F1) - () :fibonacci (1 _:F2) - () :fibonacci (6 _:F3) - () :fibonacci (91 _:F4) - () :fibonacci (283 _:F5) + () :fibonacci (0 var:F1) + () :fibonacci (1 var:F2) + () :fibonacci (6 var:F3) + () :fibonacci (91 var:F4) + () :fibonacci (283 var:F5) + () :fibonacci (3674 var:F6) ). diff --git a/reasoning/lingua/forward.ttl b/reasoning/lingua/forward.ttl index 3881aff56..d1cda7722 100644 --- a/reasoning/lingua/forward.ttl +++ b/reasoning/lingua/forward.ttl @@ -1,5 +1,6 @@ @prefix rdf: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . # facts @@ -7,24 +8,18 @@ # humans are mortal :forward_rule a lingua:ForwardRule; - lingua:vars ( - _:S - ); lingua:premise ( - _:S rdf:type :Human + var:S rdf:type :Human ); lingua:conclusion ( - _:S rdf:type :Mortal + var:S rdf:type :Mortal ). # query :forward_query a lingua:QueryRule; - lingua:vars ( - _:S - ); lingua:premise ( - _:S rdf:type :Mortal + var:S rdf:type :Mortal ); lingua:conclusion ( - _:S rdf:type :Mortal + var:S rdf:type :Mortal ). diff --git a/reasoning/lingua/gen.ttl b/reasoning/lingua/gen.ttl index c3b0534d9..391fc2337 100644 --- a/reasoning/lingua/gen.ttl +++ b/reasoning/lingua/gen.ttl @@ -1,35 +1,27 @@ @prefix rdf: . @prefix rdfs: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . :gen_rule a lingua:ForwardRule; - lingua:vars (); lingua:premise (); lingua:conclusion ( :Socrates rdf:type :Human :Human rdfs:subClassOf :Mortal :rdfs_subclass_rule rdf:type lingua:ForwardRule - :rdfs_subclass_rule lingua:vars ( - _:A - _:B - _:S - ) :rdfs_subclass_rule lingua:premise ( - _:A rdfs:subClassOf _:B - _:S rdf:type _:A + var:A rdfs:subClassOf var:B + var:S rdf:type var:A ) :rdfs_subclass_rule lingua:conclusion ( - _:S rdf:type _:B + var:S rdf:type var:B ) :socrates_query rdf:type lingua:QueryRule - :socrates_query lingua:vars ( - _:S - ) :socrates_query lingua:premise ( - _:S rdf:type :Mortal + var:S rdf:type :Mortal ) :socrates_query lingua:conclusion ( - _:S rdf:type :Mortal + var:S rdf:type :Mortal ) ). diff --git a/reasoning/lingua/gps.ttl b/reasoning/lingua/gps.ttl index 83328e731..249a94872 100644 --- a/reasoning/lingua/gps.ttl +++ b/reasoning/lingua/gps.ttl @@ -2,183 +2,94 @@ @prefix list: . @prefix log: . @prefix gps: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . # find paths in the state space from initial state to goal state within limits :gps_rule1 a lingua:BackwardRule; - lingua:vars ( - _:Goal - _:Path - _:Duration - _:Cost - _:Belief - _:Comfort - _:MaxDuration - _:MaxCost - _:MinBelief - _:MinComfort - ); lingua:conclusion ( - () gps:findpath (_:Goal _:Path _:Duration _:Cost _:Belief _:Comfort - (_:MaxDuration _:MaxCost _:MinBelief _:MinComfort)) + () gps:findpath (var:Goal var:Path var:Duration var:Cost var:Belief var:Comfort + (var:MaxDuration var:MaxCost var:MinBelief var:MinComfort)) ); lingua:premise ( - () gps:findpaths (() _:Goal () 0.0 0.0 1.0 1.0 _:Path _:Duration _:Cost _:Belief _:Comfort - (_:MaxDuration _:MaxCost _:MinBelief _:MinComfort 1)) + () gps:findpaths (() var:Goal () 0.0 0.0 1.0 1.0 var:Path var:Duration var:Cost var:Belief var:Comfort + (var:MaxDuration var:MaxCost var:MinBelief var:MinComfort 1)) ). :gps_rule2 a lingua:BackwardRule; - lingua:vars ( - _:Goal - _:Path - _:Duration - _:Cost - _:Belief - _:Comfort - _:MaxDuration - _:MaxCost - _:MinBelief - _:MinComfort - _:MaxStagecount - ); lingua:conclusion ( - () gps:findpath (_:Goal _:Path _:Duration _:Cost _:Belief _:Comfort - (_:MaxDuration _:MaxCost _:MinBelief _:MinComfort _:MaxStagecount)) + () gps:findpath (var:Goal var:Path var:Duration var:Cost var:Belief var:Comfort + (var:MaxDuration var:MaxCost var:MinBelief var:MinComfort var:MaxStagecount)) ); lingua:premise ( - () gps:findpaths (() _:Goal () 0.0 0.0 1.0 1.0 _:Path _:Duration _:Cost _:Belief _:Comfort - (_:MaxDuration _:MaxCost _:MinBelief _:MinComfort _:MaxStagecount)) + () gps:findpaths (() var:Goal () 0.0 0.0 1.0 1.0 var:Path var:Duration var:Cost var:Belief var:Comfort + (var:MaxDuration var:MaxCost var:MinBelief var:MinComfort var:MaxStagecount)) ). :gps_rule3 a lingua:BackwardRule; - lingua:vars ( - _:Maps - _:Goal - _:Path - _:Duration - _:Cost - _:Belief - _:Comfort - _:MaxDuration - _:MaxCost - _:MinBelief - _:MinComfort - _:MaxStagecount - ); lingua:conclusion ( - () gps:findpaths (_:Maps _:Goal _:Path _:Duration _:Cost _:Belief _:Comfort _:Path _:Duration _:Cost _:Belief _:Comfort - (_:MaxDuration _:MaxCost _:MinBelief _:MinComfort _:MaxStagecount)) + () gps:findpaths (var:Maps var:Goal var:Path var:Duration var:Cost var:Belief var:Comfort var:Path var:Duration var:Cost var:Belief var:Comfort + (var:MaxDuration var:MaxCost var:MinBelief var:MinComfort var:MaxStagecount)) ); lingua:premise ( - _:Goal log:call true + var:Goal log:call true ). :gps_rule4 a lingua:BackwardRule; - lingua:vars ( - _:Maps_s - _:Goal - _:Path_s - _:Duration_s - _:Cost_s - _:Belief_s - _:Comfort_s - _:Path - _:Duration - _:Cost - _:Belief - _:Comfort - _:MaxDuration - _:MaxCost - _:MinBelief - _:MinComfort - _:MaxStagecount - _:Map - _:From - _:Transition - _:To - _:Action - _:Duration_n - _:Cost_n - _:Belief_n - _:Comfort_n - _:Maps_t - _:Stagecount - _:Duration_t - _:Cost_t - _:Belief_t - _:Comfort_t - _:Path_t - ); lingua:conclusion ( - () gps:findpaths (_:Maps_s _:Goal _:Path_s _:Duration_s _:Cost_s _:Belief_s _:Comfort_s _:Path _:Duration _:Cost _:Belief _:Comfort - (_:MaxDuration _:MaxCost _:MinBelief _:MinComfort _:MaxStagecount)) + () gps:findpaths (var:Maps_s var:Goal var:Path_s var:Duration_s var:Cost_s var:Belief_s var:Comfort_s var:Path var:Duration var:Cost var:Belief var:Comfort + (var:MaxDuration var:MaxCost var:MinBelief var:MinComfort var:MaxStagecount)) ); lingua:premise ( - _:Map gps:description (_:From _:Transition _:To _:Action _:Duration_n _:Cost_n _:Belief_n _:Comfort_n) - (_:Maps_s (_:Map)) list:append _:Maps_t - _:Maps_t gps:stagecount _:Stagecount - _:Stagecount math:notGreaterThan _:MaxStagecount - (_:Duration_s _:Duration_n) math:sum _:Duration_t - _:Duration_t math:notGreaterThan _:MaxDuration - (_:Cost_s _:Cost_n) math:sum _:Cost_t - _:Cost_t math:notGreaterThan _:MaxCost - (_:Belief_s _:Belief_n) math:product _:Belief_t - _:Belief_t math:notLessThan _:MinBelief - (_:Comfort_s _:Comfort_n) math:product _:Comfort_t - _:Comfort_t math:notLessThan _:MinComfort - (_:Path_s (_:Action)) list:append _:Path_t - _:From log:becomes _:To + var:Map gps:description (var:From var:Transition var:To var:Action var:Duration_n var:Cost_n var:Belief_n var:Comfort_n) + (var:Maps_s (var:Map)) list:append var:Maps_t + var:Maps_t gps:stagecount var:Stagecount + var:Stagecount math:notGreaterThan var:MaxStagecount + (var:Duration_s var:Duration_n) math:sum var:Duration_t + var:Duration_t math:notGreaterThan var:MaxDuration + (var:Cost_s var:Cost_n) math:sum var:Cost_t + var:Cost_t math:notGreaterThan var:MaxCost + (var:Belief_s var:Belief_n) math:product var:Belief_t + var:Belief_t math:notLessThan var:MinBelief + (var:Comfort_s var:Comfort_n) math:product var:Comfort_t + var:Comfort_t math:notLessThan var:MinComfort + (var:Path_s (var:Action)) list:append var:Path_t + var:From log:becomes var:To ( - () gps:findpaths (_:Maps_t _:Goal _:Path_t _:Duration_t _:Cost_t _:Belief_t _:Comfort_t _:Path _:Duration _:Cost _:Belief _:Comfort - (_:MaxDuration _:MaxCost _:MinBelief _:MinComfort _:MaxStagecount)) + () gps:findpaths (var:Maps_t var:Goal var:Path_t var:Duration_t var:Cost_t var:Belief_t var:Comfort_t var:Path var:Duration var:Cost var:Belief var:Comfort + (var:MaxDuration var:MaxCost var:MinBelief var:MinComfort var:MaxStagecount)) ) log:callWithCleanup ( - _:To log:becomes _:From + var:To log:becomes var:From ) ). # counting the number of stages (a stage is a sequence of steps in the same map) :gps_rule5 a lingua:BackwardRule; - lingua:vars (); lingua:conclusion ( () gps:stagecount 1 ); lingua:premise (). :gps_rule6 a lingua:BackwardRule; - lingua:vars ( - _:A - _:B - _:C - _:D - _:E - _:F - _:G - ); lingua:conclusion ( - _:A gps:stagecount _:B + var:A gps:stagecount var:B ); lingua:premise ( - _:A list:firstRest (_:C _:D) - _:D list:firstRest (_:E _:F) - _:C log:notEqualTo _:E - _:D gps:stagecount _:G - (_:G 1) math:sum _:B + var:A list:firstRest (var:C var:D) + var:D list:firstRest (var:E var:F) + var:C log:notEqualTo var:E + var:D gps:stagecount var:G + (var:G 1) math:sum var:B ). :gps_rule7 a lingua:BackwardRule; - lingua:vars ( - _:A - _:B - _:C - _:D - ); lingua:conclusion ( - _:A gps:stagecount _:B + var:A gps:stagecount var:B ); lingua:premise ( - _:A list:firstRest (_:C _:D) - _:D gps:stagecount _:B + var:A list:firstRest (var:C var:D) + var:D gps:stagecount var:B ). # current state as practical example @@ -186,66 +97,42 @@ # map of Belgium :gps_rule8 a lingua:BackwardRule; - lingua:vars ( - _:S - _:L - ); lingua:conclusion ( - :map-BE gps:description ((_:S :location :Gent) () (_:S :location :Brugge) :drive_gent_brugge 1500.0 0.006 0.96 0.99) + :map-BE gps:description ((var:S :location :Gent) () (var:S :location :Brugge) :drive_gent_brugge 1500.0 0.006 0.96 0.99) ); lingua:premise ( - _:S :location _:L + var:S :location var:L ). :gps_rule9 a lingua:BackwardRule; - lingua:vars ( - _:S - _:L - ); lingua:conclusion ( - :map-BE gps:description ((_:S :location :Gent) () (_:S :location :Kortrijk) :drive_gent_kortrijk 1600.0 0.007 0.96 0.99) + :map-BE gps:description ((var:S :location :Gent) () (var:S :location :Kortrijk) :drive_gent_kortrijk 1600.0 0.007 0.96 0.99) ); lingua:premise ( - _:S :location _:L + var:S :location var:L ). :gps_rule10 a lingua:BackwardRule; - lingua:vars ( - _:S - _:L - ); lingua:conclusion ( - :map-BE gps:description ((_:S :location :Kortrijk) () (_:S :location :Brugge) :drive_kortrijk_brugge 1600.0 0.007 0.96 0.99) + :map-BE gps:description ((var:S :location :Kortrijk) () (var:S :location :Brugge) :drive_kortrijk_brugge 1600.0 0.007 0.96 0.99) ); lingua:premise ( - _:S :location _:L + var:S :location var:L ). :gps_rule11 a lingua:BackwardRule; - lingua:vars ( - _:S - _:L - ); lingua:conclusion ( - :map-BE gps:description ((_:S :location :Brugge) () (_:S :location :Oostende) :drive_brugge_oostende 900.0 0.004 0.98 1.0) + :map-BE gps:description ((var:S :location :Brugge) () (var:S :location :Oostende) :drive_brugge_oostende 900.0 0.004 0.98 1.0) ); lingua:premise ( - _:S :location _:L + var:S :location var:L ). # query :gps_query a lingua:QueryRule; - lingua:vars ( - _:SUBJECT - _:PATH - _:DURATION - _:COST - _:BELIEF - _:COMFORT - ); lingua:premise ( - () gps:findpath ((_:SUBJECT :location :Oostende) _:PATH _:DURATION _:COST _:BELIEF _:COMFORT (5000.0 5.0 0.2 0.4 1)) + () gps:findpath ((var:SUBJECT :location :Oostende) var:PATH var:DURATION var:COST var:BELIEF var:COMFORT (5000.0 5.0 0.2 0.4 1)) ); lingua:conclusion ( - _:SUBJECT gps:path (_:PATH _:DURATION _:COST _:BELIEF _:COMFORT) + var:SUBJECT gps:path (var:PATH var:DURATION var:COST var:BELIEF var:COMFORT) ). diff --git a/reasoning/lingua/graph.ttl b/reasoning/lingua/graph.ttl index 1961e4cac..e3a2126d8 100644 --- a/reasoning/lingua/graph.ttl +++ b/reasoning/lingua/graph.ttl @@ -1,4 +1,5 @@ -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . # French roads @@ -15,40 +16,28 @@ # oneway subproperty of path :graph_rule1 a lingua:ForwardRule; - lingua:vars ( - _:A - _:B - ); lingua:premise ( - _:A :oneway _:B + var:A :oneway var:B ); lingua:conclusion ( - _:A :path _:B + var:A :path var:B ). # path transitive property :graph_rule2 a lingua:ForwardRule; - lingua:vars ( - _:A - _:B - _:C - ); lingua:premise ( - _:A :path _:B - _:B :path _:C + var:A :path var:B + var:B :path var:C ); lingua:conclusion ( - _:A :path _:C + var:A :path var:C ). # query :graph_query a lingua:QueryRule; - lingua:vars ( - _:A - ); lingua:premise ( - _:A :path :nantes + var:A :path :nantes ); lingua:conclusion ( - _:A :path :nantes + var:A :path :nantes ). diff --git a/reasoning/lingua/hanoi.ttl b/reasoning/lingua/hanoi.ttl index 74897f22c..72966ed5a 100644 --- a/reasoning/lingua/hanoi.ttl +++ b/reasoning/lingua/hanoi.ttl @@ -1,50 +1,33 @@ @prefix math: . @prefix list: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . -# _:M is the sequence of moves to move _:N disks from _:X to _:Y using _:Z as intermediary +# var:M is the sequence of moves to move var:N disks from var:X to var:Y using var:Z as intermediary :hanoi_rule1 a lingua:BackwardRule; - lingua:vars ( - _:N - _:X - _:Y - _:Z - _:M - _:N1 - _:M1 - _:M2 - ); lingua:conclusion ( - (_:N _:X _:Y _:Z) :moves _:M + (var:N var:X var:Y var:Z) :moves var:M ); lingua:premise ( - _:N math:greaterThan 1 - (_:N 1) math:difference _:N1 - (_:N1 _:X _:Z _:Y) :moves _:M1 - (_:N1 _:Z _:Y _:X) :moves _:M2 - (_:M1 ((_:X _:Y)) _:M2) list:append _:M + var:N math:greaterThan 1 + (var:N 1) math:difference var:N1 + (var:N1 var:X var:Z var:Y) :moves var:M1 + (var:N1 var:Z var:Y var:X) :moves var:M2 + (var:M1 ((var:X var:Y)) var:M2) list:append var:M ). :hanoi_rule2 a lingua:BackwardRule; - lingua:vars ( - _:X - _:Y - _:Z - ); lingua:conclusion ( - (1 _:X _:Y _:Z) :moves ((_:X _:Y)) + (1 var:X var:Y var:Z) :moves ((var:X var:Y)) ); lingua:premise (). # query :hanoi_query a lingua:QueryRule; - lingua:vars ( - _:M - ); lingua:premise ( - (7 :left :right :center) :moves _:M + (7 :left :right :center) :moves var:M ); lingua:conclusion ( - (7 :left :right :center) :moves _:M + (7 :left :right :center) :moves var:M ). diff --git a/reasoning/lingua/negation.ttl b/reasoning/lingua/negation.ttl index 9bf672ebf..44a69ffc9 100644 --- a/reasoning/lingua/negation.ttl +++ b/reasoning/lingua/negation.ttl @@ -1,70 +1,56 @@ -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . # saying A means saying C :negation_predicates_rule1 a lingua:ForwardRule; - lingua:vars ( - _:S - ); lingua:premise ( - _:S :saying :A + var:S :saying :A ); lingua:conclusion ( - _:S :saying :C + var:S :saying :C ). :negation_predicates_rule2 a lingua:ForwardRule; - lingua:vars ( - _:S - ); lingua:premise ( - _:S :not_saying :C + var:S :not_saying :C ); lingua:conclusion ( - _:S :not_saying :A + var:S :not_saying :A ). # saying B means saying C :negation_predicates_rule3 a lingua:ForwardRule; - lingua:vars ( - _:S - ); lingua:premise ( - _:S :saying :B + var:S :saying :B ); lingua:conclusion ( - _:S :saying :C + var:S :saying :C ). :negation_predicates_rule4 a lingua:ForwardRule; lingua:premise ( - _:S :not_saying :C + var:S :not_saying :C ); lingua:conclusion ( - _:S :not_saying :B + var:S :not_saying :B ). # saying A or saying B :negation_predicates_rule5 a lingua:ForwardRule; - lingua:vars ( - _:S - ); lingua:premise ( - _:S :not_saying :A + var:S :not_saying :A ); lingua:conclusion ( - _:S :saying :B + var:S :saying :B ). :negation_predicates_rule6 a lingua:ForwardRule; - lingua:vars ( - _:S - ); lingua:premise ( - _:S :not_saying :B + var:S :not_saying :B ); lingua:conclusion ( - _:S :saying :A + var:S :saying :A ). # assuming the negation of the query so that @@ -73,7 +59,6 @@ # query :negation_predicates_query a lingua:QueryRule; - lingua:vars (); lingua:premise ( :alice :saying :C ); diff --git a/reasoning/lingua/notequal.ttl b/reasoning/lingua/notequal.ttl index eddc70e59..db8e1ef5b 100644 --- a/reasoning/lingua/notequal.ttl +++ b/reasoning/lingua/notequal.ttl @@ -1,6 +1,7 @@ @prefix graph: . @prefix log: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . :Let :param1 ( @@ -18,22 +19,14 @@ #query :union_query a lingua:QueryRule; - lingua:vars ( - _:X1 - _:X2 - _:X3 - _:Y - _:Y_RT - _:X3_RT - ); lingua:premise ( - :Let :param1 _:X1 - :Let :param2 _:X2 - :Let :param3 _:X3 - (_:X1 _:X2) graph:union _:Y - _:Y log:rawType _:Y_RT - _:X3 log:rawType _:X3_RT - _:Y log:notEqualTo _:X3 + :Let :param1 var:X1 + :Let :param2 var:X2 + :Let :param3 var:X3 + (var:X1 var:X2) graph:union var:Y + var:Y log:rawType var:Y_RT + var:X3 log:rawType var:X3_RT + var:Y log:notEqualTo var:X3 ); lingua:conclusion ( :test :is true diff --git a/reasoning/lingua/out/fibonacci.ttl b/reasoning/lingua/out/fibonacci.ttl index 1fbba576f..4b8136bbd 100644 --- a/reasoning/lingua/out/fibonacci.ttl +++ b/reasoning/lingua/out/fibonacci.ttl @@ -5,3 +5,4 @@ () :fibonacci (6 8). () :fibonacci (91 4660046610375530309). () :fibonacci (283 62232491515607091882574410635924603070626544377175485625797). +() :fibonacci (3674 295872959797101479478634366815157108100573212705250690577871041398423606408217262643449728342664061812585639168722421830407677671667740585806703531229882783069925750619720511808616484846128237251921414441458265138672827487722512845223115526738192067144721087756159352711138340620702266509343657403678256247195010013499661223527119909308682062873140767135468966093474944529418214755911968500799987099146489838560114063096775586903976827512299123202488315139397181279903459556726060805948910609527571241968534269554079076649680403030083743420820438603816095671532163428933363322524736324029745871445486444623006627119156710782085648303485296149604974010598940800770684835758031137479033374229914629583184427269638360355586190323578625395157899987377625662075558684705457). diff --git a/reasoning/lingua/out/peano.ttl b/reasoning/lingua/out/peano.ttl index d3f369ed4..33bd62a99 100644 --- a/reasoning/lingua/out/peano.ttl +++ b/reasoning/lingua/out/peano.ttl @@ -1,3 +1,3 @@ @prefix : . -:result :is (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s 0)))))))))))))))))))))))). +:result :is (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s (:s 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))). diff --git a/reasoning/lingua/out/pi.ttl b/reasoning/lingua/out/pi.ttl index 710c709a7..0239792e8 100644 --- a/reasoning/lingua/out/pi.ttl +++ b/reasoning/lingua/out/pi.ttl @@ -1,3 +1,3 @@ @prefix : . -(1000 3.141592653839793) :pi true. +(10000 3.141592653590042) :pi true. diff --git a/reasoning/lingua/patch.ttl b/reasoning/lingua/patch.ttl index 0d7d0be56..fe4dba613 100644 --- a/reasoning/lingua/patch.ttl +++ b/reasoning/lingua/patch.ttl @@ -1,7 +1,8 @@ @prefix rdf: . @prefix solid: . @prefix log: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . # sample data @@ -12,31 +13,23 @@ # patch rule :patch_rule a lingua:ForwardRule; - lingua:vars ( - _:person - ); lingua:premise ( - _:person :familyName "Garcia" + var:person :familyName "Garcia" ( - _:person :givenName "Claudia" + var:person :givenName "Claudia" ) log:becomes ( - _:person :givenName "Alex" + var:person :givenName "Alex" ) ); lingua:conclusion (). # query :patch_query a lingua:QueryRule; - lingua:vars ( - _:person - _:fname - _:gname - ); lingua:premise ( - _:person :familyName _:fname - _:person :givenName _:gname + var:person :familyName var:fname + var:person :givenName var:gname ); lingua:conclusion ( - _:person :familyName _:fname - _:person :givenName _:gname + var:person :familyName var:fname + var:person :givenName var:gname ). diff --git a/reasoning/lingua/peano.ttl b/reasoning/lingua/peano.ttl index 97fca3802..4b1414e0c 100644 --- a/reasoning/lingua/peano.ttl +++ b/reasoning/lingua/peano.ttl @@ -1,103 +1,69 @@ -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . # add :peano_add_rule1 a lingua:BackwardRule; - lingua:vars ( - _:A - ); lingua:conclusion ( - (_:A 0) :add _:A + (var:A 0) :add var:A ); lingua:premise (). :peano_add_rule2 a lingua:BackwardRule; - lingua:vars ( - _:A - _:B - _:C - ); lingua:premise ( - (_:A _:B) :add _:C + (var:A var:B) :add var:C ); lingua:conclusion ( - (_:A (:s _:B)) :add (:s _:C) + (var:A (:s var:B)) :add (:s var:C) ). # multiply :peano_multiply_rule1 a lingua:BackwardRule; - lingua:vars ( - _:A - ); lingua:conclusion ( - (_:A 0) :multiply 0 + (var:A 0) :multiply 0 ); lingua:premise (). :peano_multiply_rule2 a lingua:BackwardRule; - lingua:vars ( - _:A - _:B - _:C - _:D - ); lingua:conclusion ( - (_:A (:s _:B)) :multiply _:C + (var:A (:s var:B)) :multiply var:C ); lingua:premise ( - (_:A _:B) :multiply _:D - (_:A _:D) :add _:C + (var:A var:B) :multiply var:D + (var:A var:D) :add var:C ). # factorial :peano_factorial_rule1 a lingua:BackwardRule; - lingua:vars ( - _:A - _:B - ); lingua:conclusion ( - _:A :factorial _:B + var:A :factorial var:B ); lingua:premise ( - (_:A (:s 0)) :fac _:B + (var:A (:s 0)) :fac var:B ). :peano_factorial_rule2 a lingua:BackwardRule; - lingua:vars ( - _:A - ); lingua:conclusion ( - (0 _:A) :fac _:A + (0 var:A) :fac var:A ); lingua:premise (). :peano_factorial_rule3 a lingua:BackwardRule; - lingua:vars ( - _:A - _:B - _:C - _:D - ); lingua:conclusion ( - ((:s _:A) _:B) :fac _:C + ((:s var:A) var:B) :fac var:C ); lingua:premise ( - (_:B (:s _:A)) :multiply _:D - (_:A _:D) :fac _:C + (var:B (:s var:A)) :multiply var:D + (var:A var:D) :fac var:C ). # query :peano_query a lingua:QueryRule; - lingua:vars ( - _:A - _:B - _:C - ); lingua:premise ( - ((:s 0) (:s 0)) :add _:A - (_:A (:s (:s 0))) :multiply _:B - _:B :factorial _:C + ((:s 0) (:s (:s 0))) :add var:A + (var:A (:s (:s 0))) :multiply var:B + var:B :factorial var:C ); lingua:conclusion ( - :result :is _:C + :result :is var:C ). diff --git a/reasoning/lingua/pi.ttl b/reasoning/lingua/pi.ttl index 074d9bfb0..5fe3ac704 100644 --- a/reasoning/lingua/pi.ttl +++ b/reasoning/lingua/pi.ttl @@ -1,74 +1,46 @@ @prefix math: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . :pi_rule1 a lingua:BackwardRule; - lingua:vars ( - _:N - _:Pi - _:P - _:A - ); lingua:conclusion ( - (_:N _:Pi) :pi true + (var:N var:Pi) :pi true ); lingua:premise ( - (1 _:N 0 _:P 1) :pi true - (4 _:P) math:product _:A - (3 _:A) math:sum _:Pi + (1 var:N 0 var:P 1) :pi true + (4 var:P) math:product var:A + (3 var:A) math:sum var:Pi ). :pi_rule2 a lingua:BackwardRule; - lingua:vars ( - _:N - _:P - _:S - ); lingua:conclusion ( - (_:N _:N _:P _:P _:S) :pi true + (var:N var:N var:P var:P var:S) :pi true ); lingua:premise (). :pi_rule3 a lingua:BackwardRule; - lingua:vars ( - _:K - _:N - _:P0 - _:P - _:S - _:K1 - _:K2 - _:A - _:B - _:C - _:D - _:P1 - _:S1 - ); lingua:conclusion ( - (_:K _:N _:P0 _:P _:S) :pi true + (var:K var:N var:P0 var:P var:S) :pi true ); lingua:premise ( - _:K math:notEqualTo _:N - (_:K 1) math:sum _:K1 - (2 _:K) math:product _:K2 - (_:K2 1) math:sum _:A - (_:K2 2) math:sum _:B - (_:K2 _:A _:B) math:product _:C - (_:S _:C) math:quotient _:D - (_:P0 _:D) math:sum _:P1 - _:S math:negation _:S1 - (_:K1 _:N _:P1 _:P _:S1) :pi true + var:K math:notEqualTo var:N + (var:K 1) math:sum var:K1 + (2 var:K) math:product var:K2 + (var:K2 1) math:sum var:A + (var:K2 2) math:sum var:B + (var:K2 var:A var:B) math:product var:C + (var:S var:C) math:quotient var:D + (var:P0 var:D) math:sum var:P1 + var:S math:negation var:S1 + (var:K1 var:N var:P1 var:P var:S1) :pi true ). # query :pi_query a lingua:QueryRule; - lingua:vars ( - _:Pi - ); lingua:premise ( - (1000 _:Pi) :pi true + (10000 var:Pi) :pi true ); lingua:conclusion ( - (1000 _:Pi) :pi true + (10000 var:Pi) :pi true ). diff --git a/reasoning/lingua/sdcoding.ttl b/reasoning/lingua/sdcoding.ttl index 260779a0d..de954ae4f 100644 --- a/reasoning/lingua/sdcoding.ttl +++ b/reasoning/lingua/sdcoding.ttl @@ -1,7 +1,8 @@ @prefix list: . @prefix math: . @prefix log: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . # |R) = |0, 0) + |1, 1 @@ -40,174 +41,116 @@ # KG :sdcoding_rule1 a lingua:BackwardRule; - lingua:vars ( - _:X - _:Y - _:Z - ); lingua:conclusion ( - _:X :kg _:Y + var:X :kg var:Y ); lingua:premise ( - _:X :g _:Z - _:Z :k _:Y + var:X :g var:Z + var:Z :k var:Y ). # GK :sdcoding_rule2 a lingua:BackwardRule; - lingua:vars ( - _:X - _:Y - _:Z - ); lingua:conclusion ( - _:X :gk _:Y + var:X :gk var:Y ); lingua:premise ( - _:X :k _:Z - _:Z :g _:Y + var:X :k var:Z + var:Z :g var:Y ). # Alice :sdcoding_rule3 a lingua:BackwardRule; - lingua:vars ( - _:X - _:Y - ); lingua:conclusion ( - 0 :alice (_:X _:Y) + 0 :alice (var:X var:Y) ); lingua:premise ( - _:X :id _:Y + var:X :id var:Y ). :sdcoding_rule4 a lingua:BackwardRule; - lingua:vars ( - _:X - _:Y - ); lingua:conclusion ( - 1 :alice (_:X _:Y) + 1 :alice (var:X var:Y) ); lingua:premise ( - _:X :g _:Y + var:X :g var:Y ). :sdcoding_rule5 a lingua:BackwardRule; - lingua:vars ( - _:X - _:Y - ); lingua:conclusion ( - 2 :alice (_:X _:Y) + 2 :alice (var:X var:Y) ); lingua:premise ( - _:X :k _:Y + var:X :k var:Y ). :sdcoding_rule6 a lingua:BackwardRule; - lingua:vars ( - _:X - _:Y - ); lingua:conclusion ( - 3 :alice (_:X _:Y) + 3 :alice (var:X var:Y) ); lingua:premise ( - _:X :kg _:Y + var:X :kg var:Y ). # Bob :sdcoding_rule7 a lingua:BackwardRule; - lingua:vars ( - _:X - _:Y - ); lingua:conclusion ( - (_:X _:Y) :bob 0 + (var:X var:Y) :bob 0 ); lingua:premise ( - _:X :gk _:Y + var:X :gk var:Y ). :sdcoding_rule8 a lingua:BackwardRule; - lingua:vars ( - _:X - _:Y - ); lingua:conclusion ( - (_:X _:Y) :bob 1 + (var:X var:Y) :bob 1 ); lingua:premise ( - _:X :k _:Y + var:X :k var:Y ). :sdcoding_rule9 a lingua:BackwardRule; - lingua:vars ( - _:X - _:Y - ); lingua:conclusion ( - (_:X _:Y) :bob 2 + (var:X var:Y) :bob 2 ); lingua:premise ( - _:X :g _:Y + var:X :g var:Y ). :sdcoding_rule10 a lingua:BackwardRule; - lingua:vars ( - _:X - _:Y - ); lingua:conclusion ( - (_:X _:Y) :bob 3 + (var:X var:Y) :bob 3 ); lingua:premise ( - _:X :id _:Y + var:X :id var:Y ). # superdense coding :sdcoding_rule11 a lingua:ForwardRule; - lingua:vars ( - _:N - _:A - _:B - _:M - _:X - _:Y - _:Z - _:L - _:S - _:I - ); lingua:premise ( - _:N :alice _:A - _:B :bob _:M + var:N :alice var:A + var:B :bob var:M ( 1 ( - _:X :r _:Y - _:N :alice (_:X _:Z) - (_:Z _:Y) :bob _:M + var:X :r var:Y + var:N :alice (var:X var:Z) + (var:Z var:Y) :bob var:M ) - _:L - ) log:collectAllIn _:S - _:L list:length _:I - (_:I 2) math:remainder 1 + var:L + ) log:collectAllIn var:S + var:L list:length var:I + (var:I 2) math:remainder 1 ); lingua:conclusion ( - _:N :sdcoding _:M + var:N :sdcoding var:M ). # query :sdcoding_query a lingua:QueryRule; - lingua:vars ( - _:N - _:M - ); lingua:premise ( - _:N :sdcoding _:M + var:N :sdcoding var:M ); lingua:conclusion ( - () :sdcoding (_:N _:M) + () :sdcoding (var:N var:M) ). diff --git a/reasoning/lingua/sha512.ttl b/reasoning/lingua/sha512.ttl index b6ad78515..f0592febe 100644 --- a/reasoning/lingua/sha512.ttl +++ b/reasoning/lingua/sha512.ttl @@ -1,19 +1,16 @@ @prefix crypto: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . :Let :param "hello world". # query :sha512_query a lingua:QueryRule; - lingua:vars ( - _:X - _:Y - ); lingua:premise ( - :Let :param _:X - _:X crypto:sha512 _:Y + :Let :param var:X + var:X crypto:sha512 var:Y ); lingua:conclusion ( - () :sha512 (_:X _:Y) + () :sha512 (var:X var:Y) ). diff --git a/reasoning/lingua/socrates.ttl b/reasoning/lingua/socrates.ttl index 2d0b36313..e9a6475dd 100644 --- a/reasoning/lingua/socrates.ttl +++ b/reasoning/lingua/socrates.ttl @@ -1,6 +1,7 @@ @prefix rdf: . @prefix rdfs: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . # facts @@ -9,27 +10,19 @@ # rdfs subclass :rdfs_subclass_rule a lingua:ForwardRule; - lingua:vars ( - _:A - _:B - _:S - ); lingua:premise ( - _:A rdfs:subClassOf _:B - _:S rdf:type _:A + var:A rdfs:subClassOf var:B + var:S rdf:type var:A ); lingua:conclusion ( - _:S rdf:type _:B + var:S rdf:type var:B ). # query :socrates_query a lingua:QueryRule; - lingua:vars ( - _:S - ); lingua:premise ( - _:S rdf:type :Mortal + var:S rdf:type :Mortal ); lingua:conclusion ( - _:S rdf:type :Mortal + var:S rdf:type :Mortal ). diff --git a/reasoning/lingua/turing.ttl b/reasoning/lingua/turing.ttl index 5bad6ae64..9a5804855 100644 --- a/reasoning/lingua/turing.ttl +++ b/reasoning/lingua/turing.ttl @@ -1,190 +1,111 @@ @prefix list: . @prefix log: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . # interpreter for Turing machine :turing_rule1 a lingua:BackwardRule; - lingua:vars ( - _:OutTape - _:Machine - _:I - ); lingua:conclusion ( - () :compute _:OutTape + () :compute var:OutTape ); lingua:premise ( - _:Machine :start _:I - (_:I () "#" ()) :find _:OutTape + var:Machine :start var:I + (var:I () "#" ()) :find var:OutTape ). :turing_rule2 a lingua:BackwardRule; - lingua:vars ( - _:List - _:OutTape - _:Head - _:Tail - _:Machine - _:I - ); lingua:conclusion ( - _:List :compute _:OutTape + var:List :compute var:OutTape ); lingua:premise ( - _:List list:firstRest (_:Head _:Tail) - _:Machine :start _:I - (_:I () _:Head _:Tail) :find _:OutTape + var:List list:firstRest (var:Head var:Tail) + var:Machine :start var:I + (var:I () var:Head var:Tail) :find var:OutTape ). :turing_rule3 a lingua:BackwardRule; - lingua:vars ( - _:State - _:Left - _:Cell - _:Right - _:OutTape - _:Write - _:Move - _:Next - _:A - _:B - _:C - ); lingua:conclusion ( - (_:State _:Left _:Cell _:Right) :find _:OutTape + (var:State var:Left var:Cell var:Right) :find var:OutTape ); lingua:premise ( - (_:State _:Cell _:Write _:Move) :tape _:Next - (_:Move _:Left _:Write _:Right _:A _:B _:C) :move true - (_:Next _:A _:B _:C) :continue _:OutTape + (var:State var:Cell var:Write var:Move) :tape var:Next + (var:Move var:Left var:Write var:Right var:A var:B var:C) :move true + (var:Next var:A var:B var:C) :continue var:OutTape ). :turing_rule4 a lingua:BackwardRule; - lingua:vars ( - _:Left - _:Cell - _:Right - _:OutTape - _:R - _:List - ); lingua:conclusion ( - (:halt _:Left _:Cell _:Right) :continue _:OutTape + (:halt var:Left var:Cell var:Right) :continue var:OutTape ); lingua:premise ( - _:Left :reverse _:R - _:List list:firstRest (_:Cell _:Right) - (_:R _:List) list:append _:OutTape + var:Left :reverse var:R + var:List list:firstRest (var:Cell var:Right) + (var:R var:List) list:append var:OutTape ). :turing_rule5 a lingua:BackwardRule; - lingua:vars ( - _:State - _:Left - _:Cell - _:Right - _:OutTape - ); lingua:conclusion ( - (_:State _:Left _:Cell _:Right) :continue _:OutTape + (var:State var:Left var:Cell var:Right) :continue var:OutTape ); lingua:premise ( - (_:State _:Left _:Cell _:Right) :find _:OutTape + (var:State var:Left var:Cell var:Right) :find var:OutTape ). :turing_rule6 a lingua:BackwardRule; - lingua:vars ( - _:Cell - _:Right - _:L - ); lingua:conclusion ( - (:left () _:Cell _:Right () "#" _:L) :move true + (:left () var:Cell var:Right () "#" var:L) :move true ); lingua:premise ( - _:L list:firstRest (_:Cell _:Right) + var:L list:firstRest (var:Cell var:Right) ). :turing_rule7 a lingua:BackwardRule; - lingua:vars ( - _:List - _:Cell - _:Right - _:Tail - _:Head - _:L - ); lingua:conclusion ( - (:left _:List _:Cell _:Right _:Tail _:Head _:L) :move true + (:left var:List var:Cell var:Right var:Tail var:Head var:L) :move true ); lingua:premise ( - _:List list:firstRest (_:Head _:Tail) - _:L list:firstRest (_:Cell _:Right) + var:List list:firstRest (var:Head var:Tail) + var:L list:firstRest (var:Cell var:Right) ). :turing_rule8 a lingua:BackwardRule; - lingua:vars ( - _:Left - _:Cell - _:Right - ); lingua:conclusion ( - (:stop _:Left _:Cell _:Right _:Left _:Cell _:Right) :move true + (:stop var:Left var:Cell var:Right var:Left var:Cell var:Right) :move true ); lingua:premise (). :turing_rule9 a lingua:BackwardRule; - lingua:vars ( - _:Left - _:Cell - _:L - ); lingua:conclusion ( - (:right _:Left _:Cell () _:L "#" ()) :move true + (:right var:Left var:Cell () var:L "#" ()) :move true ); lingua:premise ( - _:L list:firstRest (_:Cell _:Left) + var:L list:firstRest (var:Cell var:Left) ). :turing_rule10 a lingua:BackwardRule; - lingua:vars ( - _:Left - _:Cell - _:List - _:L - _:Head - _:Tail - ); lingua:conclusion ( - (:right _:Left _:Cell _:List _:L _:Head _:Tail) :move true + (:right var:Left var:Cell var:List var:L var:Head var:Tail) :move true ); lingua:premise ( - _:List list:firstRest (_:Head _:Tail) - _:L list:firstRest (_:Cell _:Left) + var:List list:firstRest (var:Head var:Tail) + var:L list:firstRest (var:Cell var:Left) ). :turing_rule11 a lingua:BackwardRule; - lingua:vars (); lingua:conclusion ( () :reverse () ); lingua:premise (). :turing_rule12 a lingua:BackwardRule; - lingua:vars ( - _:List - _:Reverse - _:Head - _:Tail - _:R - ); lingua:conclusion ( - _:List :reverse _:Reverse + var:List :reverse var:Reverse ); lingua:premise ( - _:List list:firstRest (_:Head _:Tail) - _:Tail :reverse _:R - (_:R (_:Head)) list:append _:Reverse + var:List list:firstRest (var:Head var:Tail) + var:Tail :reverse var:R + (var:R (var:Head)) list:append var:Reverse ). # a Turing machine to add 1 to a binary number @@ -199,21 +120,15 @@ # query :turing_query a lingua:QueryRule; - lingua:vars ( - _:A1 - _:A2 - _:A3 - _:A4 - ); lingua:premise ( - (1 0 1 0 0 1) :compute _:A1 - (1 0 1 1 1 1) :compute _:A2 - (1 1 1 1 1 1) :compute _:A3 - () :compute _:A4 + (1 0 1 0 0 1) :compute var:A1 + (1 0 1 1 1 1) :compute var:A2 + (1 1 1 1 1 1) :compute var:A3 + () :compute var:A4 ); lingua:conclusion ( - (1 0 1 0 0 1) :compute _:A1 - (1 0 1 1 1 1) :compute _:A2 - (1 1 1 1 1 1) :compute _:A3 - () :compute _:A4 + (1 0 1 0 0 1) :compute var:A1 + (1 0 1 1 1 1) :compute var:A2 + (1 1 1 1 1 1) :compute var:A3 + () :compute var:A4 ). diff --git a/reasoning/lingua/union.ttl b/reasoning/lingua/union.ttl index d531952cb..556d27586 100644 --- a/reasoning/lingua/union.ttl +++ b/reasoning/lingua/union.ttl @@ -1,6 +1,7 @@ @prefix graph: . @prefix log: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . :Let :param1 ( @@ -16,16 +17,11 @@ #query :union_query a lingua:QueryRule; - lingua:vars ( - _:X1 - _:X2 - _:Y - ); lingua:premise ( - :Let :param1 _:X1 - :Let :param2 _:X2 - (_:X1 _:X2) graph:union _:Y + :Let :param1 var:X1 + :Let :param2 var:X2 + (var:X1 var:X2) graph:union var:Y ); lingua:conclusion ( - (_:X1 _:X2) :union _:Y + (var:X1 var:X2) :union var:Y ). diff --git a/reasoning/lingua/universal.ttl b/reasoning/lingua/universal.ttl index 59d94421a..6c7829986 100644 --- a/reasoning/lingua/universal.ttl +++ b/reasoning/lingua/universal.ttl @@ -1,47 +1,36 @@ @prefix rdf: . @prefix rdfs: . @prefix log: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . # \Every x: type(x, Resource :universal_statements_rule1 a lingua:BackwardRule; - lingua:vars ( - _:X - ); lingua:conclusion ( - _:X rdf:type rdfs:Resource + var:X rdf:type rdfs:Resource ); lingua:premise (). # Everybody loves somebody who is lonely :universal_statements_rule2 a lingua:BackwardRule; - lingua:vars ( - _:A - _:B - ); lingua:conclusion ( - _:A :loves _:B + var:A :loves var:B ); lingua:premise ( - (_:A) log:skolem _:B + (var:A) log:skolem var:B ). :universal_statements_rule3 a lingua:BackwardRule; - lingua:vars ( - _:B - _:A - ); lingua:conclusion ( - _:B :is :lonely + var:B :is :lonely ); lingua:premise ( - (_:A) log:skolem _:B + (var:A) log:skolem var:B ). # queries :universal_statements_query1 a lingua:QueryRule; - lingua:vars (); lingua:premise ( :pat rdf:type rdfs:Resource ); @@ -50,14 +39,11 @@ ). :universal_statements_query2 a lingua:QueryRule; - lingua:vars ( - _:X - ); lingua:premise ( - :bob :loves _:X - _:X :is :lonely + :bob :loves var:X + var:X :is :lonely ); lingua:conclusion ( - :bob :loves _:X - _:X :is :lonely + :bob :loves var:X + var:X :is :lonely ). diff --git a/reasoning/lingua/unpack.ttl b/reasoning/lingua/unpack.ttl index de5a792f3..699c4c582 100644 --- a/reasoning/lingua/unpack.ttl +++ b/reasoning/lingua/unpack.ttl @@ -1,142 +1,98 @@ @prefix list: . @prefix log: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . # sample data from RubenD -_:b1 :data ( - _:b2 :package ( - _:b3 :content ( +var:b1 :data ( + var:b2 :package ( + var:b3 :content ( :a :b _:c - _:b4 :package ( - _:b5 :content ( + var:b4 :package ( + var:b5 :content ( :u :v _:w - _:b6 :package ( - _:b7 :content ( + var:b6 :package ( + var:b7 :content ( :x :y _:z ) - _:b7 :usable_until :yesterday + var:b7 :usable_until :yesterday ) - _:b6 :tag :invalid + var:b6 :tag :invalid ) - _:b5 :usable_until :tomorrow - _:b5 :p :o + var:b5 :usable_until :tomorrow + var:b5 :p :o ) - _:b4 :tag :valid + var:b4 :tag :valid ) - _:b3 :usable_until :next_week + var:b3 :usable_until :next_week ) - _:b2 :tag :valid + var:b2 :tag :valid ). # the logic for unpack using backward rules :unpack_rule1 a lingua:BackwardRule; - lingua:vars (); lingua:conclusion ( () :unpackl () ); lingua:premise (). :unpack_rule2 a lingua:BackwardRule; - lingua:vars ( - _:g - _:h - _:f - _:r - _:a - _:b - ); lingua:conclusion ( - _:g :unpackl _:h + var:g :unpackl var:h ); lingua:premise ( - _:g list:firstRest (_:f _:r) - _:f :unpack _:a - _:r :unpackl _:b - (_:a _:b) list:append _:h + var:g list:firstRest (var:f var:r) + var:f :unpack var:a + var:r :unpackl var:b + (var:a var:b) list:append var:h ). :unpack_rule3 a lingua:BackwardRule; - lingua:vars ( - _:b - _:p - _:f - _:l - _:a - _:c - _:t - _:d - ); lingua:conclusion ( - (_:b :package _:p) :unpack _:f + (var:b :package var:p) :unpack var:f ); lingua:premise ( - _:p list:lott _:l - _:l list:member (_:a :content _:c) - _:l list:member (_:a :usable_until _:t) - (:tomorrow :next_week) list:member _:t - _:c list:lott _:d - _:d :unpackl _:f + var:p list:lott var:l + var:l list:member (var:a :content var:c) + var:l list:member (var:a :usable_until var:t) + (:tomorrow :next_week) list:member var:t + var:c list:lott var:d + var:d :unpackl var:f ). :unpack_rule4 a lingua:BackwardRule; - lingua:vars ( - _:b - _:p - _:l - _:a - _:c - _:t - ); lingua:conclusion ( - (_:b :package _:p) :unpack () + (var:b :package var:p) :unpack () ); lingua:premise ( - _:p list:lott _:l - _:l list:member (_:a :content _:c) - _:l list:member (_:a :usable_until _:t) - (:yesterday :last_week) list:member _:t + var:p list:lott var:l + var:l list:member (var:a :content var:c) + var:l list:member (var:a :usable_until var:t) + (:yesterday :last_week) list:member var:t ). :unpack_rule5 a lingua:BackwardRule; - lingua:vars ( - _:b - _:p - ); lingua:conclusion ( - (_:b :tag _:p) :unpack () + (var:b :tag var:p) :unpack () ); lingua:premise (). :unpack_rule6 a lingua:BackwardRule; - lingua:vars ( - _:g - _:a - _:p - _:b - _:q - ); lingua:conclusion ( - _:g :unpack (_:g) + var:g :unpack (var:g) ); lingua:premise ( - (_:g) list:notMember (_:a :package _:p) - (_:g) list:notMember (_:b :tag _:q) + (var:g) list:notMember (var:a :package var:p) + (var:g) list:notMember (var:b :tag var:q) ). # unpack the triples that are usable in the future :unpack_query a lingua:QueryRule; - lingua:vars ( - _:b - _:g - _:l - _:m - _:u - ); lingua:premise ( - _:b :data _:g - _:g list:lott _:l - _:l :unpackl _:m - _:u list:lott _:m + var:b :data var:g + var:g list:lott var:l + var:l :unpackl var:m + var:u list:lott var:m ); - lingua:conclusion _:u. + lingua:conclusion var:u. diff --git a/reasoning/lingua/witch.ttl b/reasoning/lingua/witch.ttl index c815dea1e..67c9f2b18 100644 --- a/reasoning/lingua/witch.ttl +++ b/reasoning/lingua/witch.ttl @@ -1,18 +1,16 @@ @prefix rdf: . -@prefix lingua: . +@prefix lingua: . +@prefix var: . @prefix : . # \forall x : BURNS(x) /\ WOMAN(x) => WITCH(x :witch_rule1 a lingua:ForwardRule; - lingua:vars ( - _:X - ); lingua:premise ( - _:X rdf:type :BURNS - _:X rdf:type :WOMAN + var:X rdf:type :BURNS + var:X rdf:type :WOMAN ); lingua:conclusion ( - _:X rdf:type :WITCH + var:X rdf:type :WITCH ). # WOMAN(GIRL @@ -20,26 +18,20 @@ # \forall x : ISMADEOFWOOD(x) => BURNS(x :witch_rule2 a lingua:ForwardRule; - lingua:vars ( - _:X - ); lingua:premise ( - _:X rdf:type :ISMADEOFWOOD + var:X rdf:type :ISMADEOFWOOD ); lingua:conclusion ( - _:X rdf:type :BURNS + var:X rdf:type :BURNS ). # \forall x : FLOATS(x) => ISMADEOFWOOD(x :witch_rule3 a lingua:ForwardRule; - lingua:vars ( - _:X - ); lingua:premise ( - _:X rdf:type :FLOATS + var:X rdf:type :FLOATS ); lingua:conclusion ( - _:X rdf:type :ISMADEOFWOOD + var:X rdf:type :ISMADEOFWOOD ). # FLOATS(DUCK @@ -47,16 +39,12 @@ # \forall x,y : FLOATS(x) /\ SAMEWEIGHT(x,y) => FLOATS(y :witch_rule4 a lingua:ForwardRule; - lingua:vars ( - _:X - _:Y - ); lingua:premise ( - _:X rdf:type :FLOATS - _:X :SAMEWEIGHT _:Y + var:X rdf:type :FLOATS + var:X :SAMEWEIGHT var:Y ); lingua:conclusion ( - _:Y rdf:type :FLOATS + var:Y rdf:type :FLOATS ). # and, by experiment @@ -65,12 +53,9 @@ # who's a witch? :witch_query a lingua:QueryRule; - lingua:vars ( - _:S - ); lingua:premise ( - _:S rdf:type :WITCH + var:S rdf:type :WITCH ); lingua:conclusion ( - _:S rdf:type :WITCH + var:S rdf:type :WITCH ).