Bob is furry. Bob is young. Charlie is smart. Charlie is young. Fiona is furry. Fiona is smart. Fiona is white. Harry is not furry. Harry is smart. Harry is white. If someone is furry then they are smart. Young, furry people are quiet. Quiet people are furry. If someone is white and not furry then they are round. If someone is smart and quiet then they are round. If someone is young and not round then they are rough.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is young.
("Bob" "is" "young" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Harry is not furry.
("Harry" "is" "furry" "-")
Harry is smart.
("Harry" "is" "smart" "+")
Harry is white.
("Harry" "is" "white" "+")
If someone is furry then they are smart.
((("someone" "is" "furry" "+")) -> ("someone" "is" "smart" "+"))
Young, furry people are quiet.
((("someone" "is" "young" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "quiet" "+"))
Quiet people are furry.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "furry" "+"))
If someone is white and not furry then they are round.
((("someone" "is" "white" "+") ("someone" "is" "furry" "~")) -> ("someone" "is" "round" "+"))
If someone is smart and quiet then they are round.
((("someone" "is" "smart" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "round" "+"))
If someone is young and not round then they are rough.
((("someone" "is" "young" "+") ("someone" "is" "round" "~")) -> ("someone" "is" "rough" "+"))
Charlie is young.
True
1
proof
[(triple4)]
("Charlie" "is" "young" "+")
triple4
Fiona is not white.
False
1
inv-proof
[(triple7)]
("Fiona" "is" "white" "-")
triple7
Bob is quiet.
True
3
proof
[(((triple2 triple1) -> rule2))]
("Bob" "is" "quiet" "+")
((triple2 triple1) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is not quiet.
False
3
inv-proof
[(((triple2 triple1) -> rule2))]
("Bob" "is" "quiet" "-")
((triple2 triple1) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is round.
True
6
proof
[(((((triple1) -> rule1) ((triple2 triple1) -> rule2)) -> rule5))]
("Bob" "is" "round" "+")
((((triple1) -> (rule1 % int3)) ((triple2 triple1) -> (rule2 % int2))) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is not round.
False
6
inv-proof
[(((((triple1) -> rule1) ((triple2 triple1) -> rule2)) -> rule5))]
("Bob" "is" "round" "-")
((((triple1) -> (rule1 % int3)) ((triple2 triple1) -> (rule2 % int2))) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Charlie is not round.
Unknown
inv-rconc
[@3: Charlie is round.[CWA. Example of deepest failure = (rule5 <- rule2 <- rule3 <- FAIL)]]
("Charlie" "is" "round" "-")
Charlie is rough.
Unknown
rconc
[@1: Charlie is rough.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Charlie" "is" "rough" "+")
Charlie is not quiet.
Unknown
inv-rconc
[@2: Charlie is quiet.[CWA. Example of deepest failure = (rule2 <- rule3 <- FAIL)]]
("Charlie" "is" "quiet" "-")
Harry is young.
Unknown
random
[@0: Harry is young.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "young" "+")
Charlie is not white.
Unknown
inv-random
[@0: Charlie is white.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "white" "-")
Bob is white.
Unknown
random
[@0: Bob is white.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "white" "+")
@0: Bob is furry.[(triple1)] Bob is young.[(triple2)] Charlie is smart.[(triple3)] Charlie is young.[(triple4)] Fiona is furry.[(triple5)] Fiona is smart.[(triple6 OR ((triple5) -> rule1))] Fiona is white.[(triple7)] Harry is not furry.[(triple8)] Harry is smart.[(triple9)] Harry is white.[(triple10)] @1: Bob is quiet.[(((triple2 triple1) -> rule2))] Bob is smart.[(((triple1) -> rule1))] Harry is round.[(((triple10 triple8) -> rule4))] @2: Bob is round.[(((((triple1) -> rule1) ((triple2 triple1) -> rule2)) -> rule5))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Bob is young.
("Bob" "is" "young" "+")
triple2
Charlie is smart.
("Charlie" "is" "smart" "+")
triple3
Charlie is young.
("Charlie" "is" "young" "+")
triple4
Fiona is furry.
("Fiona" "is" "furry" "+")
triple5
Fiona is smart.
("Fiona" "is" "smart" "+")
triple6
((triple5) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
triple7
Harry is not furry.
("Harry" "is" "furry" "-")
triple8
Harry is smart.
("Harry" "is" "smart" "+")
triple9
Harry is white.
("Harry" "is" "white" "+")
triple10
Bob is quiet.
("Bob" "is" "quiet" "+")
((triple2 triple1) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
((triple1) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
((triple10 triple8) -> (rule4 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
((((triple1) -> (rule1 % int3)) ((triple2 triple1) -> (rule2 % int2))) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3