Charlie is cold. Charlie is rough. Dave is cold. Dave is furry. Fiona is furry. Harry is cold. Harry is kind. If something is red then it is kind. All furry things are nice. If something is kind and red then it is quiet. Red, kind things are cold. If something is cold then it is red. Quiet, red things are furry.
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is kind.
("Harry" "is" "kind" "+")
If something is red then it is kind.
((("something" "is" "red" "+")) -> ("something" "is" "kind" "+"))
All furry things are nice.
((("something" "is" "furry" "+")) -> ("something" "is" "nice" "+"))
If something is kind and red then it is quiet.
((("something" "is" "kind" "+") ("something" "is" "red" "+")) -> ("something" "is" "quiet" "+"))
Red, kind things are cold.
((("something" "is" "red" "+") ("something" "is" "kind" "+")) -> ("something" "is" "cold" "+"))
If something is cold then it is red.
((("something" "is" "cold" "+")) -> ("something" "is" "red" "+"))
Quiet, red things are furry.
((("something" "is" "quiet" "+") ("something" "is" "red" "+")) -> ("something" "is" "furry" "+"))
Dave is cold.
True
1
proof
[(triple3)]
("Dave" "is" "cold" "+")
triple3
Fiona is not furry.
False
1
inv-proof
[(triple5)]
("Fiona" "is" "furry" "-")
triple5
Dave is nice.
True
2
proof
[(((triple4) -> rule2) OR ((((((((((triple3) -> rule5)) -> rule1) ((triple3) -> rule5)) -> rule3) ((triple3) -> rule5)) -> rule6)) -> rule2))]
("Dave" "is" "nice" "+")
((triple4) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((((((((((triple3) -> (rule5 % int5))) -> (rule1 % int4)) ((triple3) -> (rule5 % int5))) -> (rule3 % int3)) ((triple3) -> (rule5 % int5))) -> (rule6 % int2))) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
int4
Dave is red.
("Dave" "is" "red" "+")
int5
Harry is not red.
False
2
inv-proof
[(((triple6) -> rule5))]
("Harry" "is" "red" "-")
((triple6) -> (rule5 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Charlie is kind.
True
3
proof
[(((((triple1) -> rule5)) -> rule1))]
("Charlie" "is" "kind" "+")
((((triple1) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is not kind.
False
3
inv-proof
[(((((triple1) -> rule5)) -> rule1))]
("Charlie" "is" "kind" "-")
((((triple1) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Dave is quiet.
True
6
proof
[(((((((triple3) -> rule5)) -> rule1) ((triple3) -> rule5)) -> rule3))]
("Dave" "is" "quiet" "+")
((((((triple3) -> (rule5 % int3))) -> (rule1 % int2)) ((triple3) -> (rule5 % int3))) -> (rule3 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Harry is not furry.
False
7
inv-proof
[(((((triple7 ((triple6) -> rule5)) -> rule3) ((triple6) -> rule5)) -> rule6) OR ((((((((triple6) -> rule5)) -> rule1) ((triple6) -> rule5)) -> rule3) ((triple6) -> rule5)) -> rule6))]
("Harry" "is" "furry" "-")
((((triple7 ((triple6) -> (rule5 % int3))) -> (rule3 % int2)) ((triple6) -> (rule5 % int3))) -> (rule6 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
((((((((triple6) -> (rule5 % int4))) -> (rule1 % int3)) ((triple6) -> (rule5 % int4))) -> (rule3 % int2)) ((triple6) -> (rule5 % int4))) -> (rule6 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
int4
Charlie is furry.
True
9
proof
[(((((((((triple1) -> rule5)) -> rule1) ((triple1) -> rule5)) -> rule3) ((triple1) -> rule5)) -> rule6))]
("Charlie" "is" "furry" "+")
((((((((triple1) -> (rule5 % int4))) -> (rule1 % int3)) ((triple1) -> (rule5 % int4))) -> (rule3 % int2)) ((triple1) -> (rule5 % int4))) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Harry is not nice.
False
8
inv-proof
[(((((((triple7 ((triple6) -> rule5)) -> rule3) ((triple6) -> rule5)) -> rule6)) -> rule2) OR ((((((((((triple6) -> rule5)) -> rule1) ((triple6) -> rule5)) -> rule3) ((triple6) -> rule5)) -> rule6)) -> rule2))]
("Harry" "is" "nice" "-")
((((((triple7 ((triple6) -> (rule5 % int4))) -> (rule3 % int3)) ((triple6) -> (rule5 % int4))) -> (rule6 % int2))) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
int4
((((((((((triple6) -> (rule5 % int5))) -> (rule1 % int4)) ((triple6) -> (rule5 % int5))) -> (rule3 % int3)) ((triple6) -> (rule5 % int5))) -> (rule6 % int2))) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
Harry is red.
("Harry" "is" "red" "+")
int5
Charlie is nice.
True
10
proof
[(((((((((((triple1) -> rule5)) -> rule1) ((triple1) -> rule5)) -> rule3) ((triple1) -> rule5)) -> rule6)) -> rule2))]
("Charlie" "is" "nice" "+")
((((((((((triple1) -> (rule5 % int5))) -> (rule1 % int4)) ((triple1) -> (rule5 % int5))) -> (rule3 % int3)) ((triple1) -> (rule5 % int5))) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4
Charlie is red.
("Charlie" "is" "red" "+")
int5
Charlie is not nice.
False
10
inv-proof
[(((((((((((triple1) -> rule5)) -> rule1) ((triple1) -> rule5)) -> rule3) ((triple1) -> rule5)) -> rule6)) -> rule2))]
("Charlie" "is" "nice" "-")
((((((((((triple1) -> (rule5 % int5))) -> (rule1 % int4)) ((triple1) -> (rule5 % int5))) -> (rule3 % int3)) ((triple1) -> (rule5 % int5))) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4
Charlie is red.
("Charlie" "is" "red" "+")
int5
Fiona is not quiet.
Unknown
inv-rconc
[@3: Fiona is quiet.[CWA. Example of deepest failure = (rule3 <- rule5 <- rule4 <- FAIL)]]
("Fiona" "is" "quiet" "-")
Fiona is cold.
Unknown
rconc
[@2: Fiona is cold.[CWA. Example of deepest failure = (rule4 <- rule5 <- FAIL)]]
("Fiona" "is" "cold" "+")
Fiona is not red.
Unknown
inv-rconc
[@2: Fiona is red.[CWA. Example of deepest failure = (rule5 <- rule4 <- FAIL)]]
("Fiona" "is" "red" "-")
Fiona is kind.
Unknown
rconc
[@3: Fiona is kind.[CWA. Example of deepest failure = (rule1 <- rule5 <- rule4 <- FAIL)]]
("Fiona" "is" "kind" "+")
Fiona is not rough.
Unknown
inv-random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "-")
Dave is rough.
Unknown
random
[@0: Dave is rough.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "rough" "+")
@0: Charlie is cold.[(triple1)] Charlie is rough.[(triple2)] Dave is cold.[(triple3)] Dave is furry.[(triple4 OR ((((((((triple3) -> rule5)) -> rule1) ((triple3) -> rule5)) -> rule3) ((triple3) -> rule5)) -> rule6))] Fiona is furry.[(triple5)] Harry is cold.[(triple6)] Harry is kind.[(triple7 OR ((((triple6) -> rule5)) -> rule1))] @1: Charlie is red.[(((triple1) -> rule5))] Dave is nice.[(((triple4) -> rule2) OR ((((((((((triple3) -> rule5)) -> rule1) ((triple3) -> rule5)) -> rule3) ((triple3) -> rule5)) -> rule6)) -> rule2))] Dave is red.[(((triple3) -> rule5))] Fiona is nice.[(((triple5) -> rule2))] Harry is red.[(((triple6) -> rule5))] @2: Charlie is kind.[(((((triple1) -> rule5)) -> rule1))] Dave is kind.[(((((triple3) -> rule5)) -> rule1))] Harry is quiet.[(((triple7 ((triple6) -> rule5)) -> rule3) OR ((((((triple6) -> rule5)) -> rule1) ((triple6) -> rule5)) -> rule3))] @3: Charlie is quiet.[(((((((triple1) -> rule5)) -> rule1) ((triple1) -> rule5)) -> rule3))] Dave is quiet.[(((((((triple3) -> rule5)) -> rule1) ((triple3) -> rule5)) -> rule3))] Harry is furry.[(((((triple7 ((triple6) -> rule5)) -> rule3) ((triple6) -> rule5)) -> rule6) OR ((((((((triple6) -> rule5)) -> rule1) ((triple6) -> rule5)) -> rule3) ((triple6) -> rule5)) -> rule6))] @4: Charlie is furry.[(((((((((triple1) -> rule5)) -> rule1) ((triple1) -> rule5)) -> rule3) ((triple1) -> rule5)) -> rule6))] Harry is nice.[(((((((triple7 ((triple6) -> rule5)) -> rule3) ((triple6) -> rule5)) -> rule6)) -> rule2) OR ((((((((((triple6) -> rule5)) -> rule1) ((triple6) -> rule5)) -> rule3) ((triple6) -> rule5)) -> rule6)) -> rule2))] @5: Charlie is nice.[(((((((((((triple1) -> rule5)) -> rule1) ((triple1) -> rule5)) -> rule3) ((triple1) -> rule5)) -> rule6)) -> rule2))]
Charlie is cold.
("Charlie" "is" "cold" "+")
triple1
Charlie is rough.
("Charlie" "is" "rough" "+")
triple2
Dave is cold.
("Dave" "is" "cold" "+")
triple3
Dave is furry.
("Dave" "is" "furry" "+")
triple4
((((((((triple3) -> (rule5 % int4))) -> (rule1 % int3)) ((triple3) -> (rule5 % int4))) -> (rule3 % int2)) ((triple3) -> (rule5 % int4))) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is red.
("Dave" "is" "red" "+")
int4
Fiona is furry.
("Fiona" "is" "furry" "+")
triple5
Harry is cold.
("Harry" "is" "cold" "+")
triple6
Harry is kind.
("Harry" "is" "kind" "+")
triple7
((((triple6) -> (rule5 % int2))) -> (rule1 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
((triple1) -> (rule5 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
((triple4) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((((((((((triple3) -> (rule5 % int5))) -> (rule1 % int4)) ((triple3) -> (rule5 % int5))) -> (rule3 % int3)) ((triple3) -> (rule5 % int5))) -> (rule6 % int2))) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
int4
Dave is red.
("Dave" "is" "red" "+")
int5
Dave is red.
("Dave" "is" "red" "+")
((triple3) -> (rule5 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple5) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
((triple6) -> (rule5 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
((((triple1) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
((((triple3) -> (rule5 % int2))) -> (rule1 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
((triple7 ((triple6) -> (rule5 % int2))) -> (rule3 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
((((((triple6) -> (rule5 % int3))) -> (rule1 % int2)) ((triple6) -> (rule5 % int3))) -> (rule3 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((((((triple1) -> (rule5 % int3))) -> (rule1 % int2)) ((triple1) -> (rule5 % int3))) -> (rule3 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
((((((triple3) -> (rule5 % int3))) -> (rule1 % int2)) ((triple3) -> (rule5 % int3))) -> (rule3 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Harry is furry.
("Harry" "is" "furry" "+")
((((triple7 ((triple6) -> (rule5 % int3))) -> (rule3 % int2)) ((triple6) -> (rule5 % int3))) -> (rule6 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
((((((((triple6) -> (rule5 % int4))) -> (rule1 % int3)) ((triple6) -> (rule5 % int4))) -> (rule3 % int2)) ((triple6) -> (rule5 % int4))) -> (rule6 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
int4
Charlie is furry.
("Charlie" "is" "furry" "+")
((((((((triple1) -> (rule5 % int4))) -> (rule1 % int3)) ((triple1) -> (rule5 % int4))) -> (rule3 % int2)) ((triple1) -> (rule5 % int4))) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Harry is nice.
("Harry" "is" "nice" "+")
((((((triple7 ((triple6) -> (rule5 % int4))) -> (rule3 % int3)) ((triple6) -> (rule5 % int4))) -> (rule6 % int2))) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
int4
((((((((((triple6) -> (rule5 % int5))) -> (rule1 % int4)) ((triple6) -> (rule5 % int5))) -> (rule3 % int3)) ((triple6) -> (rule5 % int5))) -> (rule6 % int2))) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
Harry is red.
("Harry" "is" "red" "+")
int5
Charlie is nice.
("Charlie" "is" "nice" "+")
((((((((((triple1) -> (rule5 % int5))) -> (rule1 % int4)) ((triple1) -> (rule5 % int5))) -> (rule3 % int3)) ((triple1) -> (rule5 % int5))) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4
Charlie is red.
("Charlie" "is" "red" "+")
int5