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