The lion is green. The lion is nice. The tiger is green. If someone needs the lion then the lion needs the tiger. If someone is nice and they eat the tiger then they chase the tiger. If someone needs the tiger then they eat the lion. If someone is green then they are nice. If someone is nice then they need the lion. Green people are kind.
The lion is green.
("lion" "is" "green" "+")
The lion is nice.
("lion" "is" "nice" "+")
The tiger is green.
("tiger" "is" "green" "+")
If someone needs the lion then the lion needs the tiger.
((("someone" "needs" "lion" "+")) -> ("lion" "needs" "tiger" "+"))
If someone is nice and they eat the tiger then they chase the tiger.
((("someone" "is" "nice" "+") ("someone" "eats" "tiger" "+")) -> ("someone" "chases" "tiger" "+"))
If someone needs the tiger then they eat the lion.
((("someone" "needs" "tiger" "+")) -> ("someone" "eats" "lion" "+"))
If someone is green then they are nice.
((("someone" "is" "green" "+")) -> ("someone" "is" "nice" "+"))
If someone is nice then they need the lion.
((("someone" "is" "nice" "+")) -> ("someone" "needs" "lion" "+"))
Green people are kind.
((("someone" "is" "green" "+")) -> ("someone" "is" "kind" "+"))
The tiger is green.
True
1
proof
[(triple3)]
("tiger" "is" "green" "+")
triple3
The tiger is not green.
False
1
inv-proof
[(triple3)]
("tiger" "is" "green" "-")
triple3
The lion is kind.
True
2
proof
[(((triple1) -> rule6))]
("lion" "is" "kind" "+")
((triple1) -> (rule6 % int1))
The lion is kind.
("lion" "is" "kind" "+")
int1
The lion does not need the lion.
False
2
inv-proof
[(((triple2) -> rule5) OR ((((triple1) -> rule4)) -> rule5))]
("lion" "needs" "lion" "-")
((triple2) -> (rule5 % int1))
The lion needs the lion.
("lion" "needs" "lion" "+")
int1
((((triple1) -> (rule4 % int2))) -> (rule5 % int1))
The lion needs the lion.
("lion" "needs" "lion" "+")
int1
The lion is nice.
("lion" "is" "nice" "+")
int2
The tiger needs the lion.
True
3
proof
[(((((triple3) -> rule4)) -> rule5))]
("tiger" "needs" "lion" "+")
((((triple3) -> (rule4 % int2))) -> (rule5 % int1))
The tiger needs the lion.
("tiger" "needs" "lion" "+")
int1
The tiger is nice.
("tiger" "is" "nice" "+")
int2
The lion does not need the tiger.
False
3
inv-proof
[(((((triple2) -> rule5)) -> rule1) OR ((((((triple1) -> rule4)) -> rule5)) -> rule1) OR ((((((triple3) -> rule4)) -> rule5)) -> rule1))]
("lion" "needs" "tiger" "-")
((((triple2) -> (rule5 % int2))) -> (rule1 % int1))
The lion needs the tiger.
("lion" "needs" "tiger" "+")
int1
The lion needs the lion.
("lion" "needs" "lion" "+")
int2
((((((triple1) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
The lion needs the tiger.
("lion" "needs" "tiger" "+")
int1
The lion needs the lion.
("lion" "needs" "lion" "+")
int2
The lion is nice.
("lion" "is" "nice" "+")
int3
((((((triple3) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
The lion needs the tiger.
("lion" "needs" "tiger" "+")
int1
The tiger needs the lion.
("tiger" "needs" "lion" "+")
int2
The tiger is nice.
("tiger" "is" "nice" "+")
int3
The lion eats the lion.
True
4
proof
[(((((((triple2) -> rule5)) -> rule1)) -> rule3) OR ((((((((triple1) -> rule4)) -> rule5)) -> rule1)) -> rule3) OR ((((((((triple3) -> rule4)) -> rule5)) -> rule1)) -> rule3))]
("lion" "eats" "lion" "+")
((((((triple2) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The lion needs the tiger.
("lion" "needs" "tiger" "+")
int2
The lion needs the lion.
("lion" "needs" "lion" "+")
int3
((((((((triple1) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The lion needs the tiger.
("lion" "needs" "tiger" "+")
int2
The lion needs the lion.
("lion" "needs" "lion" "+")
int3
The lion is nice.
("lion" "is" "nice" "+")
int4
((((((((triple3) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The lion needs the tiger.
("lion" "needs" "tiger" "+")
int2
The tiger needs the lion.
("tiger" "needs" "lion" "+")
int3
The tiger is nice.
("tiger" "is" "nice" "+")
int4
The lion does not eat the lion.
False
4
inv-proof
[(((((((triple2) -> rule5)) -> rule1)) -> rule3) OR ((((((((triple1) -> rule4)) -> rule5)) -> rule1)) -> rule3) OR ((((((((triple3) -> rule4)) -> rule5)) -> rule1)) -> rule3))]
("lion" "eats" "lion" "-")
((((((triple2) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The lion needs the tiger.
("lion" "needs" "tiger" "+")
int2
The lion needs the lion.
("lion" "needs" "lion" "+")
int3
((((((((triple1) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The lion needs the tiger.
("lion" "needs" "tiger" "+")
int2
The lion needs the lion.
("lion" "needs" "lion" "+")
int3
The lion is nice.
("lion" "is" "nice" "+")
int4
((((((((triple3) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The lion needs the tiger.
("lion" "needs" "tiger" "+")
int2
The tiger needs the lion.
("tiger" "needs" "lion" "+")
int3
The tiger is nice.
("tiger" "is" "nice" "+")
int4
The lion does not chase the tiger.
Unknown
inv-rconc
[@1: The lion chases the tiger.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("lion" "chases" "tiger" "-")
The tiger chases the tiger.
Unknown
rconc
[@1: The tiger chases the tiger.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("tiger" "chases" "tiger" "+")
The tiger does not eat the lion.
Unknown
inv-rconc
[@1: The tiger eats the lion.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("tiger" "eats" "lion" "-")
The lion eats the tiger.
Unknown
random
[@0: The lion eats the tiger.[CWA. Example of deepest failure = (FAIL)]]
("lion" "eats" "tiger" "+")
The tiger does not need the tiger.
Unknown
inv-random
[@0: The tiger needs the tiger.[CWA. Example of deepest failure = (FAIL)]]
("tiger" "needs" "tiger" "-")
The tiger is big.
Unknown
random
[@0: The tiger is big.[CWA. Example of deepest failure = (FAIL)]]
("tiger" "is" "big" "+")
The tiger is not blue.
Unknown
inv-random
[@0: The tiger is blue.[CWA. Example of deepest failure = (FAIL)]]
("tiger" "is" "blue" "-")
The lion chases the lion.
Unknown
random
[@0: The lion chases the lion.[CWA. Example of deepest failure = (FAIL)]]
("lion" "chases" "lion" "+")
@0: The lion is green.[(triple1)] The lion is nice.[(triple2 OR ((triple1) -> rule4))] The tiger is green.[(triple3)] @1: The lion is kind.[(((triple1) -> rule6))] The lion needs the lion.[(((triple2) -> rule5) OR ((((triple1) -> rule4)) -> rule5))] The tiger is kind.[(((triple3) -> rule6))] The tiger is nice.[(((triple3) -> rule4))] @2: The lion needs the tiger.[(((((triple2) -> rule5)) -> rule1) OR ((((((triple1) -> rule4)) -> rule5)) -> rule1) OR ((((((triple3) -> rule4)) -> rule5)) -> rule1))] The tiger needs the lion.[(((((triple3) -> rule4)) -> rule5))] @3: The lion eats the lion.[(((((((triple2) -> rule5)) -> rule1)) -> rule3) OR ((((((((triple1) -> rule4)) -> rule5)) -> rule1)) -> rule3) OR ((((((((triple3) -> rule4)) -> rule5)) -> rule1)) -> rule3))]
The lion is green.
("lion" "is" "green" "+")
triple1
The lion is nice.
("lion" "is" "nice" "+")
triple2
((triple1) -> (rule4 % int1))
The lion is nice.
("lion" "is" "nice" "+")
int1
The tiger is green.
("tiger" "is" "green" "+")
triple3
The lion is kind.
("lion" "is" "kind" "+")
((triple1) -> (rule6 % int1))
The lion is kind.
("lion" "is" "kind" "+")
int1
The lion needs the lion.
("lion" "needs" "lion" "+")
((triple2) -> (rule5 % int1))
The lion needs the lion.
("lion" "needs" "lion" "+")
int1
((((triple1) -> (rule4 % int2))) -> (rule5 % int1))
The lion needs the lion.
("lion" "needs" "lion" "+")
int1
The lion is nice.
("lion" "is" "nice" "+")
int2
The tiger is kind.
("tiger" "is" "kind" "+")
((triple3) -> (rule6 % int1))
The tiger is kind.
("tiger" "is" "kind" "+")
int1
The tiger is nice.
("tiger" "is" "nice" "+")
((triple3) -> (rule4 % int1))
The tiger is nice.
("tiger" "is" "nice" "+")
int1
The lion needs the tiger.
("lion" "needs" "tiger" "+")
((((triple2) -> (rule5 % int2))) -> (rule1 % int1))
The lion needs the tiger.
("lion" "needs" "tiger" "+")
int1
The lion needs the lion.
("lion" "needs" "lion" "+")
int2
((((((triple1) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
The lion needs the tiger.
("lion" "needs" "tiger" "+")
int1
The lion needs the lion.
("lion" "needs" "lion" "+")
int2
The lion is nice.
("lion" "is" "nice" "+")
int3
((((((triple3) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
The lion needs the tiger.
("lion" "needs" "tiger" "+")
int1
The tiger needs the lion.
("tiger" "needs" "lion" "+")
int2
The tiger is nice.
("tiger" "is" "nice" "+")
int3
The tiger needs the lion.
("tiger" "needs" "lion" "+")
((((triple3) -> (rule4 % int2))) -> (rule5 % int1))
The tiger needs the lion.
("tiger" "needs" "lion" "+")
int1
The tiger is nice.
("tiger" "is" "nice" "+")
int2
The lion eats the lion.
("lion" "eats" "lion" "+")
((((((triple2) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The lion needs the tiger.
("lion" "needs" "tiger" "+")
int2
The lion needs the lion.
("lion" "needs" "lion" "+")
int3
((((((((triple1) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The lion needs the tiger.
("lion" "needs" "tiger" "+")
int2
The lion needs the lion.
("lion" "needs" "lion" "+")
int3
The lion is nice.
("lion" "is" "nice" "+")
int4
((((((((triple3) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The lion needs the tiger.
("lion" "needs" "tiger" "+")
int2
The tiger needs the lion.
("tiger" "needs" "lion" "+")
int3
The tiger is nice.
("tiger" "is" "nice" "+")
int4