Bob is big. Bob is blue. Bob is furry. Bob is nice. Charlie is blue. Charlie is furry. Harry is blue. Harry is furry. Harry is nice. Harry is quiet. Harry is round. Harry is white. If Bob is furry and Bob is quiet then Bob is blue. White people are blue. All big, furry people are quiet. All white, big people are nice. If someone is blue then they are round. If someone is white and nice then they are furry. Nice people are round. Nice people are big.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is white.
("Harry" "is" "white" "+")
If Bob is furry and Bob is quiet then Bob is blue.
((("Bob" "is" "furry" "+") ("Bob" "is" "quiet" "+")) -> ("Bob" "is" "blue" "+"))
White people are blue.
((("someone" "is" "white" "+")) -> ("someone" "is" "blue" "+"))
All big, furry people are quiet.
((("someone" "is" "big" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "quiet" "+"))
All white, big people are nice.
((("someone" "is" "white" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "nice" "+"))
If someone is blue then they are round.
((("someone" "is" "blue" "+")) -> ("someone" "is" "round" "+"))
If someone is white and nice then they are furry.
((("someone" "is" "white" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "furry" "+"))
Nice people are round.
((("someone" "is" "nice" "+")) -> ("someone" "is" "round" "+"))
Nice people are big.
((("someone" "is" "nice" "+")) -> ("someone" "is" "big" "+"))
Bob is big.
True
1
proof
[(triple1 OR ((triple4) -> rule8))]
("Bob" "is" "big" "+")
triple1
((triple4) -> (rule8 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Charlie is not furry.
False
1
inv-proof
[(triple6)]
("Charlie" "is" "furry" "-")
triple6
Harry is big.
True
2
proof
[(((triple9) -> rule8))]
("Harry" "is" "big" "+")
((triple9) -> (rule8 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is not big.
False
2
inv-proof
[(((triple9) -> rule8))]
("Harry" "is" "big" "-")
((triple9) -> (rule8 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Charlie is not quiet.
Unknown
inv-rconc
[@3: Charlie is quiet.[CWA. Example of deepest failure = (rule3 <- rule8 <- rule4 <- FAIL)]]
("Charlie" "is" "quiet" "-")
Charlie is big.
Unknown
rconc
[@2: Charlie is big.[CWA. Example of deepest failure = (rule8 <- rule4 <- FAIL)]]
("Charlie" "is" "big" "+")
Bob is not white.
Unknown
inv-random
[@0: Bob is white.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "white" "-")
Charlie is white.
Unknown
random
[@0: Charlie is white.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "white" "+")
@0: Bob is big.[(triple1 OR ((triple4) -> rule8))] Bob is blue.[(triple2 OR ((triple3 ((triple1 triple3) -> rule3)) -> rule1) OR ((triple3 ((((triple4) -> rule8) triple3) -> rule3)) -> rule1))] Bob is furry.[(triple3)] Bob is nice.[(triple4)] Charlie is blue.[(triple5)] Charlie is furry.[(triple6)] Harry is blue.[(triple7 OR ((triple12) -> rule2))] Harry is furry.[(triple8 OR ((triple12 triple9) -> rule6))] Harry is nice.[(triple9)] Harry is quiet.[(triple10 OR ((((triple9) -> rule8) triple8) -> rule3) OR ((((triple9) -> rule8) ((triple12 triple9) -> rule6)) -> rule3))] Harry is round.[(triple11 OR ((triple7) -> rule5) OR ((triple9) -> rule7) OR ((((triple12) -> rule2)) -> rule5))] Harry is white.[(triple12)] @1: Bob is quiet.[(((triple1 triple3) -> rule3) OR ((((triple4) -> rule8) triple3) -> rule3))] Bob is round.[(((triple2) -> rule5) OR ((triple4) -> rule7) OR ((((triple3 ((triple1 triple3) -> rule3)) -> rule1)) -> rule5) OR ((((triple3 ((((triple4) -> rule8) triple3) -> rule3)) -> rule1)) -> rule5))] Charlie is round.[(((triple5) -> rule5))] Harry is big.[(((triple9) -> rule8))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple4) -> (rule8 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
((triple3 ((triple1 triple3) -> (rule3 % int2))) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((triple3 ((((triple4) -> (rule8 % int3)) triple3) -> (rule3 % int2))) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
triple3
Bob is nice.
("Bob" "is" "nice" "+")
triple4
Charlie is blue.
("Charlie" "is" "blue" "+")
triple5
Charlie is furry.
("Charlie" "is" "furry" "+")
triple6
Harry is blue.
("Harry" "is" "blue" "+")
triple7
((triple12) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
triple8
((triple12 triple9) -> (rule6 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
triple9
Harry is quiet.
("Harry" "is" "quiet" "+")
triple10
((((triple9) -> (rule8 % int2)) triple8) -> (rule3 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((triple9) -> (rule8 % int3)) ((triple12 triple9) -> (rule6 % int2))) -> (rule3 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
triple11
((triple7) -> (rule5 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
((triple9) -> (rule7 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
((((triple12) -> (rule2 % int2))) -> (rule5 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
triple12
Bob is quiet.
("Bob" "is" "quiet" "+")
((triple1 triple3) -> (rule3 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((((triple4) -> (rule8 % int2)) triple3) -> (rule3 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
((triple2) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple4) -> (rule7 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((((triple3 ((triple1 triple3) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
((((triple3 ((((triple4) -> (rule8 % int4)) triple3) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4
Charlie is round.
("Charlie" "is" "round" "+")
((triple5) -> (rule5 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
((triple9) -> (rule8 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1