Charlie is cold. Charlie is green. Dave is not cold. Dave is nice. Dave is red. Dave is round. Gary is cold. Gary is green. Harry is cold. Harry is not green. Harry is nice. Harry is not red. All green, round people are rough. All red people are round. If Charlie is round then Charlie is cold. If someone is young and round then they are green. All rough people are red. Nice, green people are red. If someone is red then they are nice. If someone is rough and red then they are young. If Charlie is cold then Charlie is nice.
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Dave is not cold.
("Dave" "is" "cold" "-")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is round.
("Dave" "is" "round" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is green.
("Gary" "is" "green" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is not green.
("Harry" "is" "green" "-")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is not red.
("Harry" "is" "red" "-")
All green, round people are rough.
((("someone" "is" "green" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "rough" "+"))
All red people are round.
((("someone" "is" "red" "+")) -> ("someone" "is" "round" "+"))
If Charlie is round then Charlie is cold.
((("Charlie" "is" "round" "+")) -> ("Charlie" "is" "cold" "+"))
If someone is young and round then they are green.
((("someone" "is" "young" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "green" "+"))
All rough people are red.
((("someone" "is" "rough" "+")) -> ("someone" "is" "red" "+"))
Nice, green people are red.
((("someone" "is" "nice" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "red" "+"))
If someone is red then they are nice.
((("someone" "is" "red" "+")) -> ("someone" "is" "nice" "+"))
If someone is rough and red then they are young.
((("someone" "is" "rough" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "young" "+"))
If Charlie is cold then Charlie is nice.
((("Charlie" "is" "cold" "+")) -> ("Charlie" "is" "nice" "+"))
Gary is green.
True
1
proof
[(triple8)]
("Gary" "is" "green" "+")
triple8
Gary is not cold.
False
1
inv-proof
[(triple7)]
("Gary" "is" "cold" "-")
triple7
Charlie is nice.
True
2
proof
[(((triple1) -> rule9))]
("Charlie" "is" "nice" "+")
((triple1) -> (rule9 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is not nice.
False
2
inv-proof
[(((triple1) -> rule9))]
("Charlie" "is" "nice" "-")
((triple1) -> (rule9 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is red.
True
4
proof
[(((((triple1) -> rule9) triple2) -> rule6))]
("Charlie" "is" "red" "+")
((((triple1) -> (rule9 % int2)) triple2) -> (rule6 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is not red.
False
4
inv-proof
[(((((triple1) -> rule9) triple2) -> rule6))]
("Charlie" "is" "red" "-")
((((triple1) -> (rule9 % int2)) triple2) -> (rule6 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is round.
True
5
proof
[(((((((triple1) -> rule9) triple2) -> rule6)) -> rule2))]
("Charlie" "is" "round" "+")
((((((triple1) -> (rule9 % int3)) triple2) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Charlie is not round.
False
5
inv-proof
[(((((((triple1) -> rule9) triple2) -> rule6)) -> rule2))]
("Charlie" "is" "round" "-")
((((((triple1) -> (rule9 % int3)) triple2) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Charlie is rough.
True
7
proof
[(((triple2 ((((((triple1) -> rule9) triple2) -> rule6)) -> rule2)) -> rule1))]
("Charlie" "is" "rough" "+")
((triple2 ((((((triple1) -> (rule9 % int4)) triple2) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
int4
Charlie is not rough.
False
7
inv-proof
[(((triple2 ((((((triple1) -> rule9) triple2) -> rule6)) -> rule2)) -> rule1))]
("Charlie" "is" "rough" "-")
((triple2 ((((((triple1) -> (rule9 % int4)) triple2) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
int4
Charlie is young.
True
12
proof
[(((((triple2 ((((((triple1) -> rule9) triple2) -> rule6)) -> rule2)) -> rule1) ((((triple1) -> rule9) triple2) -> rule6)) -> rule8))]
("Charlie" "is" "young" "+")
((((triple2 ((((((triple1) -> (rule9 % int5)) triple2) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule1 % int2)) ((((triple1) -> (rule9 % int5)) triple2) -> (rule6 % int4))) -> (rule8 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is nice.
("Charlie" "is" "nice" "+")
int5
Charlie is not young.
False
12
inv-proof
[(((((triple2 ((((((triple1) -> rule9) triple2) -> rule6)) -> rule2)) -> rule1) ((((triple1) -> rule9) triple2) -> rule6)) -> rule8))]
("Charlie" "is" "young" "-")
((((triple2 ((((((triple1) -> (rule9 % int5)) triple2) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule1 % int2)) ((((triple1) -> (rule9 % int5)) triple2) -> (rule6 % int4))) -> (rule8 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is nice.
("Charlie" "is" "nice" "+")
int5
Dave is not green.
Unknown
inv-rconc
[@3: Dave is green.[CWA. Example of deepest failure = (rule4 <- rule8 <- rule1 <- FAIL)]]
("Dave" "is" "green" "-")
Gary is red.
Unknown
rconc
[@5: Gary is red.[CWA. Example of deepest failure = (rule5 <- rule1 <- rule2 <- rule6 <- rule7 <- FAIL)]]
("Gary" "is" "red" "+")
Harry is not round.
Unknown
inv-rconc
[@1: Harry is round.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Harry" "is" "round" "-")
Harry is young.
Unknown
rconc
[@1: Harry is young.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Harry" "is" "young" "+")
Dave is not rough.
Unknown
inv-rconc
[@3: Dave is rough.[CWA. Example of deepest failure = (rule1 <- rule4 <- rule8 <- FAIL)]]
("Dave" "is" "rough" "-")
Gary is nice.
Unknown
rconc
[@5: Gary is nice.[CWA. Example of deepest failure = (rule7 <- rule5 <- rule1 <- rule2 <- rule6 <- FAIL)]]
("Gary" "is" "nice" "+")
@0: Charlie is cold.[(triple1)] Charlie is green.[(triple2)] Dave is nice.[(triple4 OR ((triple5) -> rule7))] Dave is not cold.[(triple3)] Dave is red.[(triple5)] Dave is round.[(triple6 OR ((triple5) -> rule2))] Gary is cold.[(triple7)] Gary is green.[(triple8)] Harry is cold.[(triple9)] Harry is nice.[(triple11)] Harry is not green.[(triple10)] Harry is not red.[(triple12)] @1: Charlie is nice.[(((triple1) -> rule9))] @2: Charlie is red.[(((((triple1) -> rule9) triple2) -> rule6))] @3: Charlie is round.[(((((((triple1) -> rule9) triple2) -> rule6)) -> rule2))] @4: Charlie is rough.[(((triple2 ((((((triple1) -> rule9) triple2) -> rule6)) -> rule2)) -> rule1))] @5: Charlie is young.[(((((triple2 ((((((triple1) -> rule9) triple2) -> rule6)) -> rule2)) -> rule1) ((((triple1) -> rule9) triple2) -> rule6)) -> rule8))]
Charlie is cold.
("Charlie" "is" "cold" "+")
triple1
Charlie is green.
("Charlie" "is" "green" "+")
triple2
Dave is nice.
("Dave" "is" "nice" "+")
triple4
((triple5) -> (rule7 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is not cold.
("Dave" "is" "cold" "-")
triple3
Dave is red.
("Dave" "is" "red" "+")
triple5
Dave is round.
("Dave" "is" "round" "+")
triple6
((triple5) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
triple7
Gary is green.
("Gary" "is" "green" "+")
triple8
Harry is cold.
("Harry" "is" "cold" "+")
triple9
Harry is nice.
("Harry" "is" "nice" "+")
triple11
Harry is not green.
("Harry" "is" "green" "-")
triple10
Harry is not red.
("Harry" "is" "red" "-")
triple12
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple1) -> (rule9 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
((((triple1) -> (rule9 % int2)) triple2) -> (rule6 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
((((((triple1) -> (rule9 % int3)) triple2) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
((triple2 ((((((triple1) -> (rule9 % int4)) triple2) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
int4
Charlie is young.
("Charlie" "is" "young" "+")
((((triple2 ((((((triple1) -> (rule9 % int5)) triple2) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule1 % int2)) ((((triple1) -> (rule9 % int5)) triple2) -> (rule6 % int4))) -> (rule8 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
int4
Charlie is nice.
("Charlie" "is" "nice" "+")
int5