Charlie is furry. Charlie is smart. Dave is kind. Dave is nice. Dave is smart. Gary is young. Harry is furry. Furry things are red. If something is smart and not furry then it is red. Kind things are red. Smart, young things are kind. Red things are kind. If something is furry and red then it is kind. If something is smart and kind then it is green. If something is green then it is not young. If something is furry and not young then it is nice.
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Gary is young.
("Gary" "is" "young" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Furry things are red.
((("something" "is" "furry" "+")) -> ("something" "is" "red" "+"))
If something is smart and not furry then it is red.
((("something" "is" "smart" "+") ("something" "is" "furry" "~")) -> ("something" "is" "red" "+"))
Kind things are red.
((("something" "is" "kind" "+")) -> ("something" "is" "red" "+"))
Smart, young things are kind.
((("something" "is" "smart" "+") ("something" "is" "young" "+")) -> ("something" "is" "kind" "+"))
Red things are kind.
((("something" "is" "red" "+")) -> ("something" "is" "kind" "+"))
If something is furry and red then it is kind.
((("something" "is" "furry" "+") ("something" "is" "red" "+")) -> ("something" "is" "kind" "+"))
If something is smart and kind then it is green.
((("something" "is" "smart" "+") ("something" "is" "kind" "+")) -> ("something" "is" "green" "+"))
If something is green then it is not young.
((("something" "is" "green" "+")) -> ("something" "is" "young" "-"))
If something is furry and not young then it is nice.
((("something" "is" "furry" "+") ("something" "is" "young" "~")) -> ("something" "is" "nice" "+"))
Harry is furry.
True
1
proof
[(triple7)]
("Harry" "is" "furry" "+")
triple7
Harry is not furry.
False
1
inv-proof
[(triple7)]
("Harry" "is" "furry" "-")
triple7
Dave is green.
True
3
proof
[(((triple5 triple3) -> rule7))]
("Dave" "is" "green" "+")
((triple5 triple3) -> (rule7 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Harry is not red.
False
2
inv-proof
[(((triple7) -> rule1))]
("Harry" "is" "red" "-")
((triple7) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Dave is not young.
True
4
proof
[(((((triple5 triple3) -> rule7)) -> rule8))]
("Dave" "is" "young" "-")
((((triple5 triple3) -> (rule7 % int2))) -> (rule8 % int1))
Dave is not young.
("Dave" "is" "young" "-")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Harry is not kind.
False
3
inv-proof
[(((((triple7) -> rule1)) -> rule5) OR ((triple7 ((triple7) -> rule1)) -> rule6))]
("Harry" "is" "kind" "-")
((((triple7) -> (rule1 % int2))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
((triple7 ((triple7) -> (rule1 % int2))) -> (rule6 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Charlie is green.
True
5
proof
[(((triple2 ((((triple1) -> rule1)) -> rule5)) -> rule7) OR ((triple2 ((triple1 ((triple1) -> rule1)) -> rule6)) -> rule7))]
("Charlie" "is" "green" "+")
((triple2 ((((triple1) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((triple2 ((triple1 ((triple1) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is not green.
False
5
inv-proof
[(((triple2 ((((triple1) -> rule1)) -> rule5)) -> rule7) OR ((triple2 ((triple1 ((triple1) -> rule1)) -> rule6)) -> rule7))]
("Charlie" "is" "green" "-")
((triple2 ((((triple1) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((triple2 ((triple1 ((triple1) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is not young.
True
6
proof
[(((((triple2 ((((triple1) -> rule1)) -> rule5)) -> rule7)) -> rule8) OR ((((triple2 ((triple1 ((triple1) -> rule1)) -> rule6)) -> rule7)) -> rule8))]
("Charlie" "is" "young" "-")
((((triple2 ((((triple1) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule8 % int1))
Charlie is not young.
("Charlie" "is" "young" "-")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
((((triple2 ((triple1 ((triple1) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule7 % int2))) -> (rule8 % int1))
Charlie is not young.
("Charlie" "is" "young" "-")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is young.
False
6
inv-proof
[(((((triple2 ((((triple1) -> rule1)) -> rule5)) -> rule7)) -> rule8) OR ((((triple2 ((triple1 ((triple1) -> rule1)) -> rule6)) -> rule7)) -> rule8))]
("Charlie" "is" "young" "+")
((((triple2 ((((triple1) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule8 % int1))
Charlie is not young.
("Charlie" "is" "young" "-")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
((((triple2 ((triple1 ((triple1) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule7 % int2))) -> (rule8 % int1))
Charlie is not young.
("Charlie" "is" "young" "-")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is nice.
True
8
proof
[(((triple1 ((((triple2 ((((triple1) -> rule1)) -> rule5)) -> rule7)) -> rule8)) -> rule9) OR ((triple1 ((((triple2 ((triple1 ((triple1) -> rule1)) -> rule6)) -> rule7)) -> rule8)) -> rule9))]
("Charlie" "is" "nice" "+")
((triple1 ((((triple2 ((((triple1) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule9 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is not young.
("Charlie" "is" "young" "-")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4
Charlie is red.
("Charlie" "is" "red" "+")
int5
((triple1 ((((triple2 ((triple1 ((triple1) -> (rule1 % int5))) -> (rule6 % int4))) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule9 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is not young.
("Charlie" "is" "young" "-")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4
Charlie is red.
("Charlie" "is" "red" "+")
int5
Charlie is not nice.
False
8
inv-proof
[(((triple1 ((((triple2 ((((triple1) -> rule1)) -> rule5)) -> rule7)) -> rule8)) -> rule9) OR ((triple1 ((((triple2 ((triple1 ((triple1) -> rule1)) -> rule6)) -> rule7)) -> rule8)) -> rule9))]
("Charlie" "is" "nice" "-")
((triple1 ((((triple2 ((((triple1) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule9 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is not young.
("Charlie" "is" "young" "-")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4
Charlie is red.
("Charlie" "is" "red" "+")
int5
((triple1 ((((triple2 ((triple1 ((triple1) -> (rule1 % int5))) -> (rule6 % int4))) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule9 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is not young.
("Charlie" "is" "young" "-")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4
Charlie is red.
("Charlie" "is" "red" "+")
int5
Gary is not red.
Unknown
inv-rconc
[@3: Gary is red.[CWA. Example of deepest failure = (rule3 <- rule5 <- rule1 <- FAIL)]]
("Gary" "is" "red" "-")
Gary is kind.
Unknown
rconc
[@3: Gary is kind.[CWA. Example of deepest failure = (rule5 <- rule3 <- rule4 <- FAIL)]]
("Gary" "is" "kind" "+")
Harry is not nice.
Unknown
inv-rconc
[@1: Harry is nice.[CWA. Example of deepest failure = (rule9 <- FAIL)]]
("Harry" "is" "nice" "-")
Harry is green.
Unknown
rconc
[@1: Harry is green.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Harry" "is" "green" "+")
Gary is not nice.
Unknown
inv-rconc
[@1: Gary is nice.[CWA. Example of deepest failure = (rule9 <- FAIL)]]
("Gary" "is" "nice" "-")
Gary is green.
Unknown
rconc
[@1: Gary is green.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Gary" "is" "green" "+")
Harry is not young.
Unknown
inv-random
[@0: Harry is young.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "young" "-")
Harry is smart.
Unknown
random
[@0: Harry is smart.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "smart" "+")
Dave is not furry.
Unknown
inv-random
[@0: Dave is furry.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "furry" "-")
Gary is furry.
Unknown
random
[@0: Gary is furry.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "furry" "+")
@0: Charlie is furry.[(triple1)] Charlie is smart.[(triple2)] Dave is kind.[(triple3)] Dave is nice.[(triple4)] Dave is smart.[(triple5)] Gary is young.[(triple6)] Harry is furry.[(triple7)] @1: Charlie is red.[(((triple1) -> rule1))] Dave is green.[(((triple5 triple3) -> rule7))] Dave is red.[(((triple3) -> rule3))] Harry is red.[(((triple7) -> rule1))] @2: Charlie is kind.[(((((triple1) -> rule1)) -> rule5) OR ((triple1 ((triple1) -> rule1)) -> rule6))] Dave is not young.[(((((triple5 triple3) -> rule7)) -> rule8))] Harry is kind.[(((((triple7) -> rule1)) -> rule5) OR ((triple7 ((triple7) -> rule1)) -> rule6))] @3: Charlie is green.[(((triple2 ((((triple1) -> rule1)) -> rule5)) -> rule7) OR ((triple2 ((triple1 ((triple1) -> rule1)) -> rule6)) -> rule7))] @4: Charlie is not young.[(((((triple2 ((((triple1) -> rule1)) -> rule5)) -> rule7)) -> rule8) OR ((((triple2 ((triple1 ((triple1) -> rule1)) -> rule6)) -> rule7)) -> rule8))] @5: Charlie is nice.[(((triple1 ((((triple2 ((((triple1) -> rule1)) -> rule5)) -> rule7)) -> rule8)) -> rule9) OR ((triple1 ((((triple2 ((triple1 ((triple1) -> rule1)) -> rule6)) -> rule7)) -> rule8)) -> rule9))]
Charlie is furry.
("Charlie" "is" "furry" "+")
triple1
Charlie is smart.
("Charlie" "is" "smart" "+")
triple2
Dave is kind.
("Dave" "is" "kind" "+")
triple3
Dave is nice.
("Dave" "is" "nice" "+")
triple4
Dave is smart.
("Dave" "is" "smart" "+")
triple5
Gary is young.
("Gary" "is" "young" "+")
triple6
Harry is furry.
("Harry" "is" "furry" "+")
triple7
Charlie is red.
("Charlie" "is" "red" "+")
((triple1) -> (rule1 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
((triple5 triple3) -> (rule7 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
((triple3) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
((triple7) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
((((triple1) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((triple1 ((triple1) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Dave is not young.
("Dave" "is" "young" "-")
((((triple5 triple3) -> (rule7 % int2))) -> (rule8 % int1))
Dave is not young.
("Dave" "is" "young" "-")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
((((triple7) -> (rule1 % int2))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
((triple7 ((triple7) -> (rule1 % int2))) -> (rule6 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
((triple2 ((((triple1) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
((triple2 ((triple1 ((triple1) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is not young.
("Charlie" "is" "young" "-")
((((triple2 ((((triple1) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule8 % int1))
Charlie is not young.
("Charlie" "is" "young" "-")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
((((triple2 ((triple1 ((triple1) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule7 % int2))) -> (rule8 % int1))
Charlie is not young.
("Charlie" "is" "young" "-")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple1 ((((triple2 ((((triple1) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule9 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is not young.
("Charlie" "is" "young" "-")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4
Charlie is red.
("Charlie" "is" "red" "+")
int5
((triple1 ((((triple2 ((triple1 ((triple1) -> (rule1 % int5))) -> (rule6 % int4))) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule9 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is not young.
("Charlie" "is" "young" "-")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4
Charlie is red.
("Charlie" "is" "red" "+")
int5