Bob is furry. Bob is nice. Bob is round. Bob is smart. Bob is white. Charlie is furry. Charlie is nice. Charlie is round. Charlie is smart. Charlie is white. Charlie is young. Dave is quiet. Dave is round. Dave is young. Erin is furry. Erin is smart. Round, young things are furry. All quiet things are nice. If something is round then it is white. If Erin is furry and Erin is young then Erin is smart. Quiet, white things are nice. All furry, round things are young.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is white.
("Bob" "is" "white" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is young.
("Dave" "is" "young" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Round, young things are furry.
((("something" "is" "round" "+") ("something" "is" "young" "+")) -> ("something" "is" "furry" "+"))
All quiet things are nice.
((("something" "is" "quiet" "+")) -> ("something" "is" "nice" "+"))
If something is round then it is white.
((("something" "is" "round" "+")) -> ("something" "is" "white" "+"))
If Erin is furry and Erin is young then Erin is smart.
((("Erin" "is" "furry" "+") ("Erin" "is" "young" "+")) -> ("Erin" "is" "smart" "+"))
Quiet, white things are nice.
((("something" "is" "quiet" "+") ("something" "is" "white" "+")) -> ("something" "is" "nice" "+"))
All furry, round things are young.
((("something" "is" "furry" "+") ("something" "is" "round" "+")) -> ("something" "is" "young" "+"))
Bob is round.
True
1
proof
[(triple3)]
("Bob" "is" "round" "+")
triple3
Bob is not furry.
False
1
inv-proof
[(triple1)]
("Bob" "is" "furry" "-")
triple1
Dave is nice.
True
2
proof
[(((triple12) -> rule2) OR ((triple12 ((triple13) -> rule3)) -> rule5))]
("Dave" "is" "nice" "+")
((triple12) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((triple12 ((triple13) -> (rule3 % int2))) -> (rule5 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is not furry.
False
3
inv-proof
[(((triple13 triple14) -> rule1))]
("Dave" "is" "furry" "-")
((triple13 triple14) -> (rule1 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Erin is not white.
Unknown
inv-rconc
[@1: Erin is white.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Erin" "is" "white" "-")
Erin is young.
Unknown
rconc
[@1: Erin is young.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Erin" "is" "young" "+")
Erin is not quiet.
Unknown
inv-random
[@0: Erin is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "quiet" "-")
Erin is round.
Unknown
random
[@0: Erin is round.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "round" "+")
@0: Bob is furry.[(triple1)] Bob is nice.[(triple2)] Bob is round.[(triple3)] Bob is smart.[(triple4)] Bob is white.[(triple5 OR ((triple3) -> rule3))] Charlie is furry.[(triple6 OR ((triple8 triple11) -> rule1))] Charlie is nice.[(triple7)] Charlie is round.[(triple8)] Charlie is smart.[(triple9)] Charlie is white.[(triple10 OR ((triple8) -> rule3))] Charlie is young.[(triple11 OR ((triple6 triple8) -> rule6))] Dave is quiet.[(triple12)] Dave is round.[(triple13)] Dave is young.[(triple14)] Erin is furry.[(triple15)] Erin is smart.[(triple16)] @1: Bob is young.[(((triple1 triple3) -> rule6))] Dave is furry.[(((triple13 triple14) -> rule1))] Dave is nice.[(((triple12) -> rule2) OR ((triple12 ((triple13) -> rule3)) -> rule5))] Dave is white.[(((triple13) -> rule3))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
Bob is round.
("Bob" "is" "round" "+")
triple3
Bob is smart.
("Bob" "is" "smart" "+")
triple4
Bob is white.
("Bob" "is" "white" "+")
triple5
((triple3) -> (rule3 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
triple6
((triple8 triple11) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
triple7
Charlie is round.
("Charlie" "is" "round" "+")
triple8
Charlie is smart.
("Charlie" "is" "smart" "+")
triple9
Charlie is white.
("Charlie" "is" "white" "+")
triple10
((triple8) -> (rule3 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
triple11
((triple6 triple8) -> (rule6 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
triple12
Dave is round.
("Dave" "is" "round" "+")
triple13
Dave is young.
("Dave" "is" "young" "+")
triple14
Erin is furry.
("Erin" "is" "furry" "+")
triple15
Erin is smart.
("Erin" "is" "smart" "+")
triple16
Bob is young.
("Bob" "is" "young" "+")
((triple1 triple3) -> (rule6 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
((triple13 triple14) -> (rule1 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
((triple12) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((triple12 ((triple13) -> (rule3 % int2))) -> (rule5 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
((triple13) -> (rule3 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1