Anne is kind. Charlie is not kind. Fiona is red. Fiona is not rough. Fiona is smart. Gary is quiet. Gary is smart. Red people are smart. If someone is furry then they are red. All quiet people are rough. Rough people are furry. If someone is smart and rough then they are kind. If Anne is kind and Anne is furry then Anne is red. Kind people are quiet. Furry, kind people are young. Smart people are young.
Anne is kind.
("Anne" "is" "kind" "+")
Charlie is not kind.
("Charlie" "is" "kind" "-")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is not rough.
("Fiona" "is" "rough" "-")
Fiona is smart.
("Fiona" "is" "smart" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Red people are smart.
((("someone" "is" "red" "+")) -> ("someone" "is" "smart" "+"))
If someone is furry then they are red.
((("someone" "is" "furry" "+")) -> ("someone" "is" "red" "+"))
All quiet people are rough.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "rough" "+"))
Rough people are furry.
((("someone" "is" "rough" "+")) -> ("someone" "is" "furry" "+"))
If someone is smart and rough then they are kind.
((("someone" "is" "smart" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "kind" "+"))
If Anne is kind and Anne is furry then Anne is red.
((("Anne" "is" "kind" "+") ("Anne" "is" "furry" "+")) -> ("Anne" "is" "red" "+"))
Kind people are quiet.
((("someone" "is" "kind" "+")) -> ("someone" "is" "quiet" "+"))
Furry, kind people are young.
((("someone" "is" "furry" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "young" "+"))
Smart people are young.
((("someone" "is" "smart" "+")) -> ("someone" "is" "young" "+"))
Fiona is not rough.
True
1
proof
[(triple4)]
("Fiona" "is" "rough" "-")
triple4
Charlie is kind.
False
1
inv-proof
[(triple2)]
("Charlie" "is" "kind" "+")
triple2
Fiona is young.
True
2
proof
[(((triple5) -> rule9) OR ((((triple3) -> rule1)) -> rule9))]
("Fiona" "is" "young" "+")
((triple5) -> (rule9 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((((triple3) -> (rule1 % int2))) -> (rule9 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Anne is not quiet.
False
2
inv-proof
[(((triple1) -> rule7))]
("Anne" "is" "quiet" "-")
((triple1) -> (rule7 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is rough.
True
3
proof
[(((((triple1) -> rule7)) -> rule3))]
("Anne" "is" "rough" "+")
((((triple1) -> (rule7 % int2))) -> (rule3 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is not rough.
False
3
inv-proof
[(((((triple1) -> rule7)) -> rule3))]
("Anne" "is" "rough" "-")
((((triple1) -> (rule7 % int2))) -> (rule3 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Gary is red.
True
4
proof
[(((((((triple6) -> rule3)) -> rule4)) -> rule2))]
("Gary" "is" "red" "+")
((((((triple6) -> (rule3 % 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 not red.
False
4
inv-proof
[(((((((triple6) -> rule3)) -> rule4)) -> rule2))]
("Gary" "is" "red" "-")
((((((triple6) -> (rule3 % 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
Anne is young.
True
6
proof
[(((((((((triple1) -> rule7)) -> rule3)) -> rule4) triple1) -> rule8) OR ((((((((((((triple1) -> rule7)) -> rule3)) -> rule4)) -> rule2)) -> rule1)) -> rule9) OR ((((((triple1 ((((((triple1) -> rule7)) -> rule3)) -> rule4)) -> rule6)) -> rule1)) -> rule9))]
("Anne" "is" "young" "+")
((((((((triple1) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule4 % int2)) triple1) -> (rule8 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
int4
((((((((((((triple1) -> (rule7 % int6))) -> (rule3 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule9 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
int4
Anne is rough.
("Anne" "is" "rough" "+")
int5
Anne is quiet.
("Anne" "is" "quiet" "+")
int6
((((((triple1 ((((((triple1) -> (rule7 % int6))) -> (rule3 % int5))) -> (rule4 % int4))) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule9 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
int4
Anne is rough.
("Anne" "is" "rough" "+")
int5
Anne is quiet.
("Anne" "is" "quiet" "+")
int6
Anne is not red.
False
5
inv-proof
[(((((((((triple1) -> rule7)) -> rule3)) -> rule4)) -> rule2) OR ((triple1 ((((((triple1) -> rule7)) -> rule3)) -> rule4)) -> rule6))]
("Anne" "is" "red" "-")
((((((((triple1) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
int4
((triple1 ((((((triple1) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
int4
Anne is smart.
True
6
proof
[(((((((((((triple1) -> rule7)) -> rule3)) -> rule4)) -> rule2)) -> rule1) OR ((((triple1 ((((((triple1) -> rule7)) -> rule3)) -> rule4)) -> rule6)) -> rule1))]
("Anne" "is" "smart" "+")
((((((((((triple1) -> (rule7 % int5))) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is rough.
("Anne" "is" "rough" "+")
int4
Anne is quiet.
("Anne" "is" "quiet" "+")
int5
((((triple1 ((((((triple1) -> (rule7 % int5))) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is rough.
("Anne" "is" "rough" "+")
int4
Anne is quiet.
("Anne" "is" "quiet" "+")
int5
Anne is not smart.
False
6
inv-proof
[(((((((((((triple1) -> rule7)) -> rule3)) -> rule4)) -> rule2)) -> rule1) OR ((((triple1 ((((((triple1) -> rule7)) -> rule3)) -> rule4)) -> rule6)) -> rule1))]
("Anne" "is" "smart" "-")
((((((((((triple1) -> (rule7 % int5))) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is rough.
("Anne" "is" "rough" "+")
int4
Anne is quiet.
("Anne" "is" "quiet" "+")
int5
((((triple1 ((((((triple1) -> (rule7 % int5))) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is rough.
("Anne" "is" "rough" "+")
int4
Anne is quiet.
("Anne" "is" "quiet" "+")
int5
Charlie is not rough.
Unknown
inv-rconc
[@2: Charlie is rough.[CWA. Example of deepest failure = (rule3 <- rule7 <- FAIL)]]
("Charlie" "is" "rough" "-")
Fiona is furry.
Unknown
rconc
[@1: Fiona is furry.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fiona" "is" "furry" "+")
Charlie is not red.
Unknown
inv-rconc
[@4: Charlie is red.[CWA. Example of deepest failure = (rule2 <- rule4 <- rule3 <- rule7 <- FAIL)]]
("Charlie" "is" "red" "-")
Charlie is smart.
Unknown
rconc
[@5: Charlie is smart.[CWA. Example of deepest failure = (rule1 <- rule2 <- rule4 <- rule3 <- rule7 <- FAIL)]]
("Charlie" "is" "smart" "+")
Fiona is not quiet.
Unknown
inv-rconc
[@2: Fiona is quiet.[CWA. Example of deepest failure = (rule7 <- rule5 <- FAIL)]]
("Fiona" "is" "quiet" "-")
Fiona is kind.
Unknown
rconc
[@1: Fiona is kind.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Fiona" "is" "kind" "+")
@0: Anne is kind.[(triple1)] Charlie is not kind.[(triple2)] Fiona is not rough.[(triple4)] Fiona is red.[(triple3)] Fiona is smart.[(triple5 OR ((triple3) -> rule1))] Gary is quiet.[(triple6)] Gary is smart.[(triple7 OR ((((((((triple6) -> rule3)) -> rule4)) -> rule2)) -> rule1))] @1: Anne is quiet.[(((triple1) -> rule7))] Fiona is young.[(((triple5) -> rule9) OR ((((triple3) -> rule1)) -> rule9))] Gary is rough.[(((triple6) -> rule3))] Gary is young.[(((triple7) -> rule9) OR ((((((triple6) -> rule3)) -> rule4) ((triple7 ((triple6) -> rule3)) -> rule5)) -> rule8) OR ((((((((((triple6) -> rule3)) -> rule4)) -> rule2)) -> rule1)) -> rule9) OR ((((((triple6) -> rule3)) -> rule4) ((((((((((triple6) -> rule3)) -> rule4)) -> rule2)) -> rule1) ((triple6) -> rule3)) -> rule5)) -> rule8))] @2: Anne is rough.[(((((triple1) -> rule7)) -> rule3))] Gary is furry.[(((((triple6) -> rule3)) -> rule4))] Gary is kind.[(((triple7 ((triple6) -> rule3)) -> rule5) OR ((((((((((triple6) -> rule3)) -> rule4)) -> rule2)) -> rule1) ((triple6) -> rule3)) -> rule5))] @3: Anne is furry.[(((((((triple1) -> rule7)) -> rule3)) -> rule4))] Gary is red.[(((((((triple6) -> rule3)) -> rule4)) -> rule2))] @4: Anne is red.[(((((((((triple1) -> rule7)) -> rule3)) -> rule4)) -> rule2) OR ((triple1 ((((((triple1) -> rule7)) -> rule3)) -> rule4)) -> rule6))] Anne is young.[(((((((((triple1) -> rule7)) -> rule3)) -> rule4) triple1) -> rule8) OR ((((((((((((triple1) -> rule7)) -> rule3)) -> rule4)) -> rule2)) -> rule1)) -> rule9) OR ((((((triple1 ((((((triple1) -> rule7)) -> rule3)) -> rule4)) -> rule6)) -> rule1)) -> rule9))] @5: Anne is smart.[(((((((((((triple1) -> rule7)) -> rule3)) -> rule4)) -> rule2)) -> rule1) OR ((((triple1 ((((((triple1) -> rule7)) -> rule3)) -> rule4)) -> rule6)) -> rule1))]
Anne is kind.
("Anne" "is" "kind" "+")
triple1
Charlie is not kind.
("Charlie" "is" "kind" "-")
triple2
Fiona is not rough.
("Fiona" "is" "rough" "-")
triple4
Fiona is red.
("Fiona" "is" "red" "+")
triple3
Fiona is smart.
("Fiona" "is" "smart" "+")
triple5
((triple3) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
triple6
Gary is smart.
("Gary" "is" "smart" "+")
triple7
((((((((triple6) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
Anne is quiet.
("Anne" "is" "quiet" "+")
((triple1) -> (rule7 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
((triple5) -> (rule9 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((((triple3) -> (rule1 % int2))) -> (rule9 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
((triple6) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
((triple7) -> (rule9 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
((((((triple6) -> (rule3 % int4))) -> (rule4 % int3)) ((triple7 ((triple6) -> (rule3 % int4))) -> (rule5 % int2))) -> (rule8 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
((((((((((triple6) -> (rule3 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule9 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
Gary is rough.
("Gary" "is" "rough" "+")
int5
((((((triple6) -> (rule3 % int6))) -> (rule4 % int5)) ((((((((((triple6) -> (rule3 % int6))) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule1 % int3)) ((triple6) -> (rule3 % int6))) -> (rule5 % int2))) -> (rule8 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4
Gary is furry.
("Gary" "is" "furry" "+")
int5
Gary is rough.
("Gary" "is" "rough" "+")
int6
Anne is rough.
("Anne" "is" "rough" "+")
((((triple1) -> (rule7 % int2))) -> (rule3 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
((((triple6) -> (rule3 % int2))) -> (rule4 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
((triple7 ((triple6) -> (rule3 % int2))) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
((((((((((triple6) -> (rule3 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule1 % int2)) ((triple6) -> (rule3 % int5))) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
Gary is rough.
("Gary" "is" "rough" "+")
int5
Anne is furry.
("Anne" "is" "furry" "+")
((((((triple1) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
((((((triple6) -> (rule3 % 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
Anne is red.
("Anne" "is" "red" "+")
((((((((triple1) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
int4
((triple1 ((((((triple1) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
int4
Anne is young.
("Anne" "is" "young" "+")
((((((((triple1) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule4 % int2)) triple1) -> (rule8 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
int4
((((((((((((triple1) -> (rule7 % int6))) -> (rule3 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule9 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
int4
Anne is rough.
("Anne" "is" "rough" "+")
int5
Anne is quiet.
("Anne" "is" "quiet" "+")
int6
((((((triple1 ((((((triple1) -> (rule7 % int6))) -> (rule3 % int5))) -> (rule4 % int4))) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule9 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
int4
Anne is rough.
("Anne" "is" "rough" "+")
int5
Anne is quiet.
("Anne" "is" "quiet" "+")
int6
Anne is smart.
("Anne" "is" "smart" "+")
((((((((((triple1) -> (rule7 % int5))) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is rough.
("Anne" "is" "rough" "+")
int4
Anne is quiet.
("Anne" "is" "quiet" "+")
int5
((((triple1 ((((((triple1) -> (rule7 % int5))) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is rough.
("Anne" "is" "rough" "+")
int4
Anne is quiet.
("Anne" "is" "quiet" "+")
int5