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