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