Charlie is nice. Charlie is quiet. Charlie is red. Gary is red. Gary is round. Harry is green. Harry is quiet. All rough, round people are quiet. Red, rough people are round. Red people are quiet. If someone is quiet then they are round. All rough people are nice. If someone is red and round then they are green. Round people are green. All round, rough people are red.
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is round.
("Gary" "is" "round" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
All rough, round people are quiet.
((("someone" "is" "rough" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "quiet" "+"))
Red, rough people are round.
((("someone" "is" "red" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "round" "+"))
Red people are quiet.
((("someone" "is" "red" "+")) -> ("someone" "is" "quiet" "+"))
If someone is quiet then they are round.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "round" "+"))
All rough people are nice.
((("someone" "is" "rough" "+")) -> ("someone" "is" "nice" "+"))
If someone is red and round then they are green.
((("someone" "is" "red" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "green" "+"))
Round people are green.
((("someone" "is" "round" "+")) -> ("someone" "is" "green" "+"))
All round, rough people are red.
((("someone" "is" "round" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "red" "+"))
Harry is quiet.
True
1
proof
[(triple7)]
("Harry" "is" "quiet" "+")
triple7
Harry is not green.
False
1
inv-proof
[(triple6 OR ((((triple7) -> rule4)) -> rule7))]
("Harry" "is" "green" "-")
triple6
((((triple7) -> (rule4 % int2))) -> (rule7 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Gary is green.
True
2
proof
[(((triple5) -> rule7) OR ((triple4 triple5) -> rule6) OR ((((((triple4) -> rule3)) -> rule4)) -> rule7) OR ((triple4 ((((triple4) -> rule3)) -> rule4)) -> rule6))]
("Gary" "is" "green" "+")
((triple5) -> (rule7 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
((triple4 triple5) -> (rule6 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
((((((triple4) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
((triple4 ((((triple4) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Harry is not round.
False
2
inv-proof
[(((triple7) -> rule4))]
("Harry" "is" "round" "-")
((triple7) -> (rule4 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Charlie is green.
True
3
proof
[(((((triple2) -> rule4)) -> rule7) OR ((triple3 ((triple2) -> rule4)) -> rule6) OR ((((((triple3) -> rule3)) -> rule4)) -> rule7) OR ((triple3 ((((triple3) -> rule3)) -> rule4)) -> rule6))]
("Charlie" "is" "green" "+")
((((triple2) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((triple3 ((triple2) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((((((triple3) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
((triple3 ((((triple3) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is not green.
False
3
inv-proof
[(((((triple2) -> rule4)) -> rule7) OR ((triple3 ((triple2) -> rule4)) -> rule6) OR ((((((triple3) -> rule3)) -> rule4)) -> rule7) OR ((triple3 ((((triple3) -> rule3)) -> rule4)) -> rule6))]
("Charlie" "is" "green" "-")
((((triple2) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((triple3 ((triple2) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((((((triple3) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
((triple3 ((((triple3) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Harry is not red.
Unknown
inv-rconc
[@1: Harry is red.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Harry" "is" "red" "-")
Harry is nice.
Unknown
rconc
[@1: Harry is nice.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Harry" "is" "nice" "+")
Gary is not nice.
Unknown
inv-rconc
[@1: Gary is nice.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Gary" "is" "nice" "-")
Harry is young.
Unknown
random
[@0: Harry is young.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "young" "+")
Harry is not rough.
Unknown
inv-random
[@0: Harry is rough.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "rough" "-")
Charlie is young.
Unknown
random
[@0: Charlie is young.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "young" "+")
@0: Charlie is nice.[(triple1)] Charlie is quiet.[(triple2 OR ((triple3) -> rule3))] Charlie is red.[(triple3)] Gary is red.[(triple4)] Gary is round.[(triple5 OR ((((triple4) -> rule3)) -> rule4))] Harry is green.[(triple6 OR ((((triple7) -> rule4)) -> rule7))] Harry is quiet.[(triple7)] @1: Charlie is round.[(((triple2) -> rule4) OR ((((triple3) -> rule3)) -> rule4))] Gary is green.[(((triple5) -> rule7) OR ((triple4 triple5) -> rule6) OR ((((((triple4) -> rule3)) -> rule4)) -> rule7) OR ((triple4 ((((triple4) -> rule3)) -> rule4)) -> rule6))] Gary is quiet.[(((triple4) -> rule3))] Harry is round.[(((triple7) -> rule4))] @2: Charlie is green.[(((((triple2) -> rule4)) -> rule7) OR ((triple3 ((triple2) -> rule4)) -> rule6) OR ((((((triple3) -> rule3)) -> rule4)) -> rule7) OR ((triple3 ((((triple3) -> rule3)) -> rule4)) -> rule6))]
Charlie is nice.
("Charlie" "is" "nice" "+")
triple1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple2
((triple3) -> (rule3 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
triple3
Gary is red.
("Gary" "is" "red" "+")
triple4
Gary is round.
("Gary" "is" "round" "+")
triple5
((((triple4) -> (rule3 % int2))) -> (rule4 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
triple6
((((triple7) -> (rule4 % int2))) -> (rule7 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
triple7
Charlie is round.
("Charlie" "is" "round" "+")
((triple2) -> (rule4 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
((((triple3) -> (rule3 % int2))) -> (rule4 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
((triple5) -> (rule7 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
((triple4 triple5) -> (rule6 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
((((((triple4) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
((triple4 ((((triple4) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
((triple4) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
((triple7) -> (rule4 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
((((triple2) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((triple3 ((triple2) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((((((triple3) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
((triple3 ((((triple3) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3