diff --git a/souffle/j1axy.dl b/souffle/j1axy.dl
new file mode 100644
index 0000000000000000000000000000000000000000..cb226105ee08c098e5da41310e5616069039995a
--- /dev/null
+++ b/souffle/j1axy.dl
@@ -0,0 +1,22 @@
+.decl c0 (n:number, m:number)
+.decl c1 (n:number, m:number)
+.decl c2 (n:number, m:number)
+.decl c3 (n:number, m:number)
+.decl c4 (n:number, m:number)
+.decl t0 (n:number, m:number)
+.decl t1 (n:number, m:number)
+.decl t2 (n:number, m:number)
+.decl  a (n:number, m:number)
+
+.input c0(IO=file, filename="test.c0.csv", delimiter=",")
+.input c1(IO=file, filename="test.c1.csv", delimiter=",")
+.input c2(IO=file, filename="test.c2.csv", delimiter=",")
+.input c3(IO=file, filename="test.c3.csv", delimiter=",")
+.input c4(IO=file, filename="test.c4.csv", delimiter=",")
+
+.printsize a
+
+t0(X,Z) :- c0(X,Y),c1(Y,Z).
+t1(X,Z) :- t0(X,Y),c2(Y,Z).
+t2(X,Z) :- c3(X,Y),c4(Y,Z).
+ a(X,Z) :- t1(X,Y),t2(Y,Z).
diff --git a/souffle/j1axy_flat.dl b/souffle/j1axy_flat.dl
new file mode 100644
index 0000000000000000000000000000000000000000..908e9c64ac5373506589f27937544c2ed79e598a
--- /dev/null
+++ b/souffle/j1axy_flat.dl
@@ -0,0 +1,16 @@
+.decl c0 (n:number, m:number)
+.decl c1 (n:number, m:number)
+.decl c2 (n:number, m:number)
+.decl c3 (n:number, m:number)
+.decl c4 (n:number, m:number)
+.decl  a (n:number, m:number)
+
+.input c0(IO=file, filename="test.c0.csv", delimiter=",")
+.input c1(IO=file, filename="test.c1.csv", delimiter=",")
+.input c2(IO=file, filename="test.c2.csv", delimiter=",")
+.input c3(IO=file, filename="test.c3.csv", delimiter=",")
+.input c4(IO=file, filename="test.c4.csv", delimiter=",")
+
+.printsize a
+
+ a(X,Z) :- c0(X,A),c1(A,B),c2(B,C),c3(C,D),c4(D,Z).