Bob is cold. Bob is rough. Bob is smart. Bob is white. Fiona is big. Fiona is blue. Fiona is cold. Fiona is smart. Fiona is white. Fiona is young. Gary is rough. Gary is smart. Harry is blue. Harry is cold. Harry is smart. Blue people are big. All rough, big people are young. If someone is big and young then they are rough. All rough, cold people are smart. If Harry is smart then Harry is rough. If Gary is smart then Gary is blue.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is white.
("Bob" "is" "white" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is smart.
("Harry" "is" "smart" "+")
Blue people are big.
((("someone" "is" "blue" "+")) -> ("someone" "is" "big" "+"))
All rough, big people are young.
((("someone" "is" "rough" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "young" "+"))
If someone is big and young then they are rough.
((("someone" "is" "big" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "rough" "+"))
All rough, cold people are smart.
((("someone" "is" "rough" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "smart" "+"))
If Harry is smart then Harry is rough.
((("Harry" "is" "smart" "+")) -> ("Harry" "is" "rough" "+"))
If Gary is smart then Gary is blue.
((("Gary" "is" "smart" "+")) -> ("Gary" "is" "blue" "+"))
Bob is cold.
True
1
proof
[(triple1)]
("Bob" "is" "cold" "+")
triple1
Fiona is not big.
False
1
inv-proof
[(triple5 OR ((triple6) -> rule1))]
("Fiona" "is" "big" "-")
triple5
((triple6) -> (rule1 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Gary is blue.
True
2
proof
[(((triple12) -> rule6))]
("Gary" "is" "blue" "+")
((triple12) -> (rule6 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Harry is not big.
False
2
inv-proof
[(((triple13) -> rule1))]
("Harry" "is" "big" "-")
((triple13) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Bob is not big.
Unknown
inv-rconc
[@1: Bob is big.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "big" "-")
Bob is young.
Unknown
rconc
[@2: Bob is young.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("Bob" "is" "young" "+")
Bob is not blue.
Unknown
inv-random
[@0: Bob is blue.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "blue" "-")
Gary is white.
Unknown
random
[@0: Gary is white.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "white" "+")
@0: Bob is cold.[(triple1)] Bob is rough.[(triple2)] Bob is smart.[(triple3 OR ((triple2 triple1) -> rule4))] Bob is white.[(triple4)] Fiona is big.[(triple5 OR ((triple6) -> rule1))] Fiona is blue.[(triple6)] Fiona is cold.[(triple7)] Fiona is smart.[(triple8 OR ((((triple5 triple10) -> rule3) triple7) -> rule4) OR ((((((triple6) -> rule1) triple10) -> rule3) triple7) -> rule4))] Fiona is white.[(triple9)] Fiona is young.[(triple10)] Gary is rough.[(triple11)] Gary is smart.[(triple12)] Harry is blue.[(triple13)] Harry is cold.[(triple14)] Harry is smart.[(triple15)] @1: Fiona is rough.[(((triple5 triple10) -> rule3) OR ((((triple6) -> rule1) triple10) -> rule3))] Gary is blue.[(((triple12) -> rule6))] Harry is big.[(((triple13) -> rule1))] Harry is rough.[(((triple15) -> rule5))] @2: Gary is big.[(((((triple12) -> rule6)) -> rule1))] Harry is young.[(((((triple15) -> rule5) ((triple13) -> rule1)) -> rule2))] @3: Gary is young.[(((triple11 ((((triple12) -> rule6)) -> rule1)) -> rule2))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is rough.
("Bob" "is" "rough" "+")
triple2
Bob is smart.
("Bob" "is" "smart" "+")
triple3
((triple2 triple1) -> (rule4 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
triple4
Fiona is big.
("Fiona" "is" "big" "+")
triple5
((triple6) -> (rule1 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
triple6
Fiona is cold.
("Fiona" "is" "cold" "+")
triple7
Fiona is smart.
("Fiona" "is" "smart" "+")
triple8
((((triple5 triple10) -> (rule3 % int2)) triple7) -> (rule4 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((((triple6) -> (rule1 % int3)) triple10) -> (rule3 % int2)) triple7) -> (rule4 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
triple9
Fiona is young.
("Fiona" "is" "young" "+")
triple10
Gary is rough.
("Gary" "is" "rough" "+")
triple11
Gary is smart.
("Gary" "is" "smart" "+")
triple12
Harry is blue.
("Harry" "is" "blue" "+")
triple13
Harry is cold.
("Harry" "is" "cold" "+")
triple14
Harry is smart.
("Harry" "is" "smart" "+")
triple15
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple5 triple10) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((((triple6) -> (rule1 % int2)) triple10) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
((triple12) -> (rule6 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
((triple13) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
((triple15) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
((((triple12) -> (rule6 % int2))) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
((((triple15) -> (rule5 % int3)) ((triple13) -> (rule1 % int2))) -> (rule2 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
((triple11 ((((triple12) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3