Skip to content

Commit f43e6d0

Browse files
committed
add built-in-based Naf and relevant test case
1 parent 50c5600 commit f43e6d0

File tree

7 files changed

+38
-1
lines changed

7 files changed

+38
-1
lines changed

Diff for: PSOA2X/src/main/java/org/ruleml/psoa/psoa2x/psoa2prolog/AbstractPrologConverter.java

+3
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,9 @@ public abstract class AbstractPrologConverter extends PrologTermLangConverter {
7272
// Generic inequality
7373
s_builtInMap.put("https://www.iso.org/standard/21413.html#generic_not_eq", "\'\\\\=\'");
7474

75+
// Built-in-based Naf (intended for one argument that is a relational atom)
76+
s_builtInMap.put("not#Naf", "\\+ ");
77+
7578
// Taken from XSB Prolog standard module
7679
s_builtInMap.put("http://xsb.sourceforge.net/manual1/manual1.pdf#datime", "datime"); // XSB's datime and local_datime predicates
7780
s_builtInMap.put("http://xsb.sourceforge.net/manual1/manual1.pdf#local_datime", "local_datime"); // just prefixed with iri of XSB's manual1

Diff for: PSOATransRun/src/main/java/org/ruleml/psoa/psoatransrun/PSOATransRun.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ else if (lang.equalsIgnoreCase("tptp"))
107107
{
108108
systemInstantiation = "[PSOA2TPTP,VampirePrime]";
109109
}
110-
return "PSOATransRun" + "1.4.1" + systemInstantiation;
110+
return "PSOATransRun" + "1.4.2" + systemInstantiation;
111111
}
112112

113113
/***
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
RuleML (
2+
% Translation requires absence of option -s
3+
4+
Prefix(not: <http://psoa.ruleml.org/lib/not#>)
5+
Import(<http://psoa.ruleml.org/lib/not.psoa>)
6+
Assert (
7+
bird(penguin)
8+
bird(eagle)
9+
bird(ostrich)
10+
bird(crow)
11+
bird(sparrow)
12+
bird(pigeon)
13+
14+
flightless_bird(penguin)
15+
flightless_bird(ostrich)
16+
17+
Forall ?X (
18+
can_fly(?X) :-
19+
And(
20+
bird(?X)
21+
not:Naf(flightless_bird(?X))
22+
)
23+
)
24+
25+
)
26+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
?X=_eagle
2+
?X=_crow
3+
?X=_sparrow
4+
?X=_pigeon
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
?X=_penguin
2+
?X=_ostrich
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
can_fly(?X)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
And( bird(?X) not:Naf(can_fly(?X)) )

0 commit comments

Comments
 (0)