Charlie is rough. Gary is red. Gary is young. All cold people are red. All furry people are red. If Gary is red then Gary is young. All rough people are furry. If someone is cold and not nice then they are not furry. All young people are rough. All furry, rough people are not white. If Gary is furry and Gary is white then Gary is cold.
Charlie is rough.
("Charlie" "is" "rough" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is young.
("Gary" "is" "young" "+")
All cold people are red.
((("someone" "is" "cold" "+")) -> ("someone" "is" "red" "+"))
All furry people are red.
((("someone" "is" "furry" "+")) -> ("someone" "is" "red" "+"))
If Gary is red then Gary is young.
((("Gary" "is" "red" "+")) -> ("Gary" "is" "young" "+"))
All rough people are furry.
((("someone" "is" "rough" "+")) -> ("someone" "is" "furry" "+"))
If someone is cold and not nice then they are not furry.
((("someone" "is" "cold" "+") ("someone" "is" "nice" "~")) -> ("someone" "is" "furry" "-"))
All young people are rough.
((("someone" "is" "young" "+")) -> ("someone" "is" "rough" "+"))
All furry, rough people are not white.
((("someone" "is" "furry" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "white" "-"))
If Gary is furry and Gary is white then Gary is cold.
((("Gary" "is" "furry" "+") ("Gary" "is" "white" "+")) -> ("Gary" "is" "cold" "+"))
Gary is young.
True
1
proof
[(triple3 OR ((triple2) -> rule3))]
("Gary" "is" "young" "+")
triple3
((triple2) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Charlie is not rough.
False
1
inv-proof
[(triple1)]
("Charlie" "is" "rough" "-")
triple1
Charlie is furry.
True
2
proof
[(((triple1) -> rule4))]
("Charlie" "is" "furry" "+")
((triple1) -> (rule4 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is not furry.
False
2
inv-proof
[(((triple1) -> rule4))]
("Charlie" "is" "furry" "-")
((triple1) -> (rule4 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is not white.
True
4
proof
[(((((triple1) -> rule4) triple1) -> rule7))]
("Charlie" "is" "white" "-")
((((triple1) -> (rule4 % int2)) triple1) -> (rule7 % int1))
Charlie is not white.
("Charlie" "is" "white" "-")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is not red.
False
3
inv-proof
[(((((triple1) -> rule4)) -> rule2))]
("Charlie" "is" "red" "-")
((((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Gary is not white.
True
6
proof
[(((((((triple3) -> rule6)) -> rule4) ((triple3) -> rule6)) -> rule7) OR ((((((triple3) -> rule6)) -> rule4) ((((triple2) -> rule3)) -> rule6)) -> rule7) OR ((((((((triple2) -> rule3)) -> rule6)) -> rule4) ((triple3) -> rule6)) -> rule7) OR ((((((((triple2) -> rule3)) -> rule6)) -> rule4) ((((triple2) -> rule3)) -> rule6)) -> rule7))]
("Gary" "is" "white" "-")
((((((triple3) -> (rule6 % int3))) -> (rule4 % int2)) ((triple3) -> (rule6 % int3))) -> (rule7 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
((((((triple3) -> (rule6 % int4))) -> (rule4 % int3)) ((((triple2) -> (rule3 % int2))) -> (rule6 % int4))) -> (rule7 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
((((((((triple2) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule4 % int2)) ((triple3) -> (rule6 % int3))) -> (rule7 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((((((((triple2) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule4 % int2)) ((((triple2) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule7 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is white.
False
6
inv-proof
[(((((((triple3) -> rule6)) -> rule4) ((triple3) -> rule6)) -> rule7) OR ((((((triple3) -> rule6)) -> rule4) ((((triple2) -> rule3)) -> rule6)) -> rule7) OR ((((((((triple2) -> rule3)) -> rule6)) -> rule4) ((triple3) -> rule6)) -> rule7) OR ((((((((triple2) -> rule3)) -> rule6)) -> rule4) ((((triple2) -> rule3)) -> rule6)) -> rule7))]
("Gary" "is" "white" "+")
((((((triple3) -> (rule6 % int3))) -> (rule4 % int2)) ((triple3) -> (rule6 % int3))) -> (rule7 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
((((((triple3) -> (rule6 % int4))) -> (rule4 % int3)) ((((triple2) -> (rule3 % int2))) -> (rule6 % int4))) -> (rule7 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
((((((((triple2) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule4 % int2)) ((triple3) -> (rule6 % int3))) -> (rule7 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((((((((triple2) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule4 % int2)) ((((triple2) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule7 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is not cold.
Unknown
inv-rconc
[@1: Gary is cold.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Gary" "is" "cold" "-")
Charlie is young.
Unknown
random
[@0: Charlie is young.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "young" "+")
Gary is not nice.
Unknown
inv-random
[@0: Gary is nice.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "nice" "-")
Charlie is cold.
Unknown
random
[@0: Charlie is cold.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "cold" "+")
@0: Charlie is rough.[(triple1)] Gary is red.[(triple2 OR ((((((triple3) -> rule6)) -> rule4)) -> rule2))] Gary is young.[(triple3 OR ((triple2) -> rule3))] @1: Charlie is furry.[(((triple1) -> rule4))] Gary is rough.[(((triple3) -> rule6) OR ((((triple2) -> rule3)) -> rule6))] @2: Charlie is not white.[(((((triple1) -> rule4) triple1) -> rule7))] Charlie is red.[(((((triple1) -> rule4)) -> rule2))] Gary is furry.[(((((triple3) -> rule6)) -> rule4) OR ((((((triple2) -> rule3)) -> rule6)) -> rule4))] @3: Gary is not white.[(((((((triple3) -> rule6)) -> rule4) ((triple3) -> rule6)) -> rule7) OR ((((((triple3) -> rule6)) -> rule4) ((((triple2) -> rule3)) -> rule6)) -> rule7) OR ((((((((triple2) -> rule3)) -> rule6)) -> rule4) ((triple3) -> rule6)) -> rule7) OR ((((((((triple2) -> rule3)) -> rule6)) -> rule4) ((((triple2) -> rule3)) -> rule6)) -> rule7))]
Charlie is rough.
("Charlie" "is" "rough" "+")
triple1
Gary is red.
("Gary" "is" "red" "+")
triple2
((((((triple3) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
triple3
((triple2) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
((triple1) -> (rule4 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
((triple3) -> (rule6 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((((triple2) -> (rule3 % int2))) -> (rule6 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Charlie is not white.
("Charlie" "is" "white" "-")
((((triple1) -> (rule4 % int2)) triple1) -> (rule7 % int1))
Charlie is not white.
("Charlie" "is" "white" "-")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
((((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
((((triple3) -> (rule6 % int2))) -> (rule4 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
((((((triple2) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is not white.
("Gary" "is" "white" "-")
((((((triple3) -> (rule6 % int3))) -> (rule4 % int2)) ((triple3) -> (rule6 % int3))) -> (rule7 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
((((((triple3) -> (rule6 % int4))) -> (rule4 % int3)) ((((triple2) -> (rule3 % int2))) -> (rule6 % int4))) -> (rule7 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
((((((((triple2) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule4 % int2)) ((triple3) -> (rule6 % int3))) -> (rule7 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((((((((triple2) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule4 % int2)) ((((triple2) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule7 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4