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