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