souffle_bug

Created Diff never expires
2 Entfernungen
Zeilen
Gesamt
Entfernt
Wörter
Gesamt
Entfernt
Um diese Funktion weiterhin zu nutzen, aktualisieren Sie auf
Diffchecker logo
Diffchecker Pro
79 Zeilen
2 Hinzufügungen
Zeilen
Gesamt
Hinzugefügt
Wörter
Gesamt
Hinzugefügt
Um diese Funktion weiterhin zu nutzen, aktualisieren Sie auf
Diffchecker logo
Diffchecker Pro
79 Zeilen
.type ADT1 = br1 {x : number, y :number}
.type ADT1 = br1 {x : number, y :number}
.type ADT2 = br2 {x : number}
.type ADT2 = br2 {x : number}
.type ADT3 = br3 {x : number, y :number}
.type ADT3 = br3 {x : number, y :number}
.type ADT4 = br4 {x : number}
.type ADT4 = br4 {x : number}
.type ADT5 = br5 {} | br6 {}
.type ADT5 = br5 {} | br6 {}
.type ADT6 = A {s:symbol, a:symbol} | B {s:symbol, b:symbol}
.type ADT6 = A {s:symbol, a:symbol} | B {s:symbol, b:symbol}
.type ADT7 = I{x:number, y:ADT7} | K{}
.type ADT7 = I{x:number, y:ADT7} | K{}




.decl test1()
.decl test1()
.decl test2()
.decl test2()
.decl test3()
.decl test3()
.decl test4()
.decl test4()
.decl test5()
.decl test5()
.decl test6()
.decl test6()
.decl test7()
.decl test7()


.decl A(e:ADT1)
.decl A(e:ADT1)
.decl B(e:ADT2)
.decl B(e:ADT2)
.decl C(e:ADT3)
.decl C(e:ADT3)
.decl D(e:number,b:number)
.decl D(e:number,b:number)
.decl E(e:ADT4)
.decl E(e:ADT4)
.decl F(b:number)
.decl F(b:number)
.decl G(x:ADT5)
.decl G(x:ADT5)


.decl X(x:ADT7)
.decl X(x:ADT7)
.decl Y(x:number)
.decl Y(x:number)


.decl input1(n:ADT6)
.decl input1(n:ADT6)
.decl input2(a:symbol,b:symbol)
.decl input2(a:symbol,b:symbol)
.decl res(b:ADT6,a:ADT6)
.decl res(b:ADT6,a:ADT6)




A($br1(1, 2)).
A($br1(1, 2)).
test1() :- A($br1(1, 2)).
test1() :- A($br1(1, 2)).
B($br2(1)).
B($br2(1)).
test2() :- B($br2(1)).
test2() :- B($br2(1)).
C($br3(1, 2)).
C($br3(1, 2)).
D(left,right) :- C($br3(left, right)).
D(left,right) :- C($br3(left, right)).
test3() :- D(1,2).
test3() :- D(1,2).
E($br4(1)).
E($br4(1)).
F(left) :- E($br4(left)).
F(left) :- E($br4(left)).
test4() :- F(1).
test4() :- F(1).
G($br5()).
G($br5()).
G($br6()).
G($br6()).
test5() :- G($br5()), G($br6()).
test5() :- G($br5()), G($br6()).
input2("a","b").
input2("a","b").
input1($B("c","b")).
input1($B("c","b")).
res($B(s, b), $A(s, a)) :- input1($B(s, b)), input2(a,b).
res($B(s, b), $A(s, a)) :- input1($B(s, b)), input2(a,b).
test6() :- res(_,_).
test6() :- res(_,_).
X($I(1,$I(2,$K()))).
X($I(1,$I(2,$K()))).
X(term) :- X($I(_,term)).
X(term) :- X($I(_,term)).
Y(ord(a)) :- X(a).
Y(ord(a)) :- X(a).
test7() :- count:{Y(_)} = 3.
test7() :- count:{Y(_)} = 3.




.decl H(a:ADT2, b:ADT2)
.decl H(a:ADT2, b:ADT2)
.decl I(a:number, b:number, c:number)
.decl I(a:number, b:number, c:number)
.decl J(a:symbol)
.decl J(a:symbol)
.decl K(a:ADT2, b:ADT6, c:ADT4)
.decl K(a:ADT2, b:ADT6, c:ADT4)
.decl L(a:ADT5)
.decl L(a:ADT5)
.decl M(a:symbol)
.decl M(a:symbol)
.decl O(a:number, b:number, c:number, d:number)
.decl O(a:number, b:number, c:number, d:number)




.output M
.output M
.output O // output
.output O // output








H(a, a) :- B(a).
H(a, a) :- B(a).
I(a, a, a) :- D(a, b), test6(), Y(a), test7().
I(a, a, a) :- D(a, b), test6(), Y(a), test7().
J(a) :- input2(b, a).
J(a) :- input2(b, a), I(c, c, c).
K(a, e, c) :- H(a, b), test1(), test2(), E(c), test4(), res(e, d).
K(a, e, c) :- H(a, b), test1(), test2(), E(c), test4(), res(e, d), O(f, f, f, f).
L(a) :- G(a).
L(a) :- G(a).
M(a) :- J(a), K(e, c, d), K(b, c, d), A(h), C(i), F(j), test5(), X(k).
M(a) :- J(a), K(e, c, d), K(b, c, d), A(h), C(i), F(j), test5(), X(k).
O(b, b, b, c) :- I(b, c, b), L(d), test3(), input1(e).
O(b, b, b, c) :- I(b, c, b), L(d), test3(), input1(e).