Bob is big. Bob is nice. Bob is red. Bob is rough. Bob is young. Erin is cold. Erin is green. Erin is nice. Erin is rough. Fiona is big. Fiona is green. Fiona is nice. Fiona is red. Gary is cold. Gary is green. If something is rough then it is big. If Gary is nice and Gary is rough then Gary is green. If something is young and red then it is green. If something is rough and red then it is nice. If something is big and nice then it is young. If something is red and green then it is young.
Bob is big.
("Bob" "is" "big" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is young.
("Bob" "is" "young" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is green.
("Gary" "is" "green" "+")
If something is rough then it is big.
((("something" "is" "rough" "+")) -> ("something" "is" "big" "+"))
If Gary is nice and Gary is rough then Gary is green.
((("Gary" "is" "nice" "+") ("Gary" "is" "rough" "+")) -> ("Gary" "is" "green" "+"))
If something is young and red then it is green.
((("something" "is" "young" "+") ("something" "is" "red" "+")) -> ("something" "is" "green" "+"))
If something is rough and red then it is nice.
((("something" "is" "rough" "+") ("something" "is" "red" "+")) -> ("something" "is" "nice" "+"))
If something is big and nice then it is young.
((("something" "is" "big" "+") ("something" "is" "nice" "+")) -> ("something" "is" "young" "+"))
If something is red and green then it is young.
((("something" "is" "red" "+") ("something" "is" "green" "+")) -> ("something" "is" "young" "+"))
Gary is cold.
True
1
proof
[(triple14)]
("Gary" "is" "cold" "+")
triple14
Fiona is not nice.
False
1
inv-proof
[(triple12)]
("Fiona" "is" "nice" "-")
triple12
Erin is big.
True
2
proof
[(((triple9) -> rule1))]
("Erin" "is" "big" "+")
((triple9) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is not big.
False
2
inv-proof
[(((triple9) -> rule1))]
("Erin" "is" "big" "-")
((triple9) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is young.
True
4
proof
[(((((triple9) -> rule1) triple8) -> rule5))]
("Erin" "is" "young" "+")
((((triple9) -> (rule1 % int2)) triple8) -> (rule5 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is not young.
False
4
inv-proof
[(((((triple9) -> rule1) triple8) -> rule5))]
("Erin" "is" "young" "-")
((((triple9) -> (rule1 % int2)) triple8) -> (rule5 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Gary is not nice.
Unknown
inv-rconc
[@1: Gary is nice.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Gary" "is" "nice" "-")
Gary is young.
Unknown
rconc
[@2: Gary is young.[CWA. Example of deepest failure = (rule5 <- rule1 <- FAIL)]]
("Gary" "is" "young" "+")
Gary is not big.
Unknown
inv-rconc
[@1: Gary is big.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Gary" "is" "big" "-")
Erin is red.
Unknown
random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "+")
Fiona is not rough.
Unknown
inv-random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "-")
Gary is rough.
Unknown
random
[@0: Gary is rough.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "rough" "+")
@0: Bob is big.[(triple1 OR ((triple4) -> rule1))] Bob is nice.[(triple2 OR ((triple4 triple3) -> rule4))] Bob is red.[(triple3)] Bob is rough.[(triple4)] Bob is young.[(triple5 OR ((triple1 triple2) -> rule5) OR ((triple1 ((triple4 triple3) -> rule4)) -> rule5) OR ((((triple4) -> rule1) triple2) -> rule5) OR ((((triple4) -> rule1) ((triple4 triple3) -> rule4)) -> rule5))] Erin is cold.[(triple6)] Erin is green.[(triple7)] Erin is nice.[(triple8)] Erin is rough.[(triple9)] Fiona is big.[(triple10)] Fiona is green.[(triple11 OR ((((triple10 triple12) -> rule5) triple13) -> rule3))] Fiona is nice.[(triple12)] Fiona is red.[(triple13)] Gary is cold.[(triple14)] Gary is green.[(triple15)] @1: Bob is green.[(((triple5 triple3) -> rule3) OR ((((triple1 triple2) -> rule5) triple3) -> rule3) OR ((((triple1 ((triple4 triple3) -> rule4)) -> rule5) triple3) -> rule3) OR ((((((triple4) -> rule1) triple2) -> rule5) triple3) -> rule3) OR ((((((triple4) -> rule1) ((triple4 triple3) -> rule4)) -> rule5) triple3) -> rule3))] Erin is big.[(((triple9) -> rule1))] Fiona is young.[(((triple10 triple12) -> rule5) OR ((triple13 triple11) -> rule6))] @2: Erin is young.[(((((triple9) -> rule1) triple8) -> rule5))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple4) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
((triple4 triple3) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
triple3
Bob is rough.
("Bob" "is" "rough" "+")
triple4
Bob is young.
("Bob" "is" "young" "+")
triple5
((triple1 triple2) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((triple1 ((triple4 triple3) -> (rule4 % int2))) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
((((triple4) -> (rule1 % int2)) triple2) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((((triple4) -> (rule1 % int3)) ((triple4 triple3) -> (rule4 % int2))) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
triple6
Erin is green.
("Erin" "is" "green" "+")
triple7
Erin is nice.
("Erin" "is" "nice" "+")
triple8
Erin is rough.
("Erin" "is" "rough" "+")
triple9
Fiona is big.
("Fiona" "is" "big" "+")
triple10
Fiona is green.
("Fiona" "is" "green" "+")
triple11
((((triple10 triple12) -> (rule5 % int2)) triple13) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
triple12
Fiona is red.
("Fiona" "is" "red" "+")
triple13
Gary is cold.
("Gary" "is" "cold" "+")
triple14
Gary is green.
("Gary" "is" "green" "+")
triple15
Bob is green.
("Bob" "is" "green" "+")
((triple5 triple3) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
((((triple1 triple2) -> (rule5 % int2)) triple3) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((triple1 ((triple4 triple3) -> (rule4 % int3))) -> (rule5 % int2)) triple3) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
((((((triple4) -> (rule1 % int3)) triple2) -> (rule5 % int2)) triple3) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
((((((triple4) -> (rule1 % int4)) ((triple4 triple3) -> (rule4 % int3))) -> (rule5 % int2)) triple3) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4
Erin is big.
("Erin" "is" "big" "+")
((triple9) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
((triple10 triple12) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((triple13 triple11) -> (rule6 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
((((triple9) -> (rule1 % int2)) triple8) -> (rule5 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2