Charlie is not nice. Charlie is red. Charlie is smart. Dave is big. Dave is cold. Dave is nice. Dave is smart. Erin is cold. Erin is green. Harry is nice. Harry is rough. If something is smart then it is red. Red things are smart. Rough things are smart. All big things are rough. Red, rough things are big. Nice, big things are cold. If Charlie is not nice and Charlie is not smart then Charlie is cold. If something is smart and not big then it is not green. All red, cold things are green.
Charlie is not nice.
("Charlie" "is" "nice" "-")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is green.
("Erin" "is" "green" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is rough.
("Harry" "is" "rough" "+")
If something is smart then it is red.
((("something" "is" "smart" "+")) -> ("something" "is" "red" "+"))
Red things are smart.
((("something" "is" "red" "+")) -> ("something" "is" "smart" "+"))
Rough things are smart.
((("something" "is" "rough" "+")) -> ("something" "is" "smart" "+"))
All big things are rough.
((("something" "is" "big" "+")) -> ("something" "is" "rough" "+"))
Red, rough things are big.
((("something" "is" "red" "+") ("something" "is" "rough" "+")) -> ("something" "is" "big" "+"))
Nice, big things are cold.
((("something" "is" "nice" "+") ("something" "is" "big" "+")) -> ("something" "is" "cold" "+"))
If Charlie is not nice and Charlie is not smart then Charlie is cold.
((("Charlie" "is" "nice" "~") ("Charlie" "is" "smart" "~")) -> ("Charlie" "is" "cold" "+"))
If something is smart and not big then it is not green.
((("something" "is" "smart" "+") ("something" "is" "big" "~")) -> ("something" "is" "green" "-"))
All red, cold things are green.
((("something" "is" "red" "+") ("something" "is" "cold" "+")) -> ("something" "is" "green" "+"))
Charlie is not nice.
True
1
proof
[(triple1)]
("Charlie" "is" "nice" "-")
triple1
Erin is not green.
False
1
inv-proof
[(triple9)]
("Erin" "is" "green" "-")
triple9
Dave is red.
True
2
proof
[(((triple7) -> rule1) OR ((((((triple4) -> rule4)) -> rule3)) -> rule1))]
("Dave" "is" "red" "+")
((triple7) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
((((((triple4) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is not rough.
False
2
inv-proof
[(((triple4) -> rule4))]
("Dave" "is" "rough" "-")
((triple4) -> (rule4 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is green.
True
4
proof
[(((((triple7) -> rule1) triple5) -> rule9) OR ((((triple7) -> rule1) ((triple6 triple4) -> rule6)) -> rule9) OR ((((((((triple4) -> rule4)) -> rule3)) -> rule1) triple5) -> rule9) OR ((((((((triple4) -> rule4)) -> rule3)) -> rule1) ((triple6 triple4) -> rule6)) -> rule9))]
("Dave" "is" "green" "+")
((((triple7) -> (rule1 % int2)) triple5) -> (rule9 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
((((triple7) -> (rule1 % int3)) ((triple6 triple4) -> (rule6 % int2))) -> (rule9 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
((((((((triple4) -> (rule4 % int4))) -> (rule3 % int3))) -> (rule1 % int2)) triple5) -> (rule9 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
((((((((triple4) -> (rule4 % int5))) -> (rule3 % int4))) -> (rule1 % int3)) ((triple6 triple4) -> (rule6 % int2))) -> (rule9 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Dave is rough.
("Dave" "is" "rough" "+")
int5
Harry is not red.
False
3
inv-proof
[(((((triple11) -> rule3)) -> rule1))]
("Harry" "is" "red" "-")
((((triple11) -> (rule3 % int2))) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is big.
True
5
proof
[(((((((triple11) -> rule3)) -> rule1) triple11) -> rule5))]
("Harry" "is" "big" "+")
((((((triple11) -> (rule3 % int3))) -> (rule1 % int2)) triple11) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is not big.
False
5
inv-proof
[(((((((triple11) -> rule3)) -> rule1) triple11) -> rule5))]
("Harry" "is" "big" "-")
((((((triple11) -> (rule3 % int3))) -> (rule1 % int2)) triple11) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is cold.
True
7
proof
[(((triple10 ((((((triple11) -> rule3)) -> rule1) triple11) -> rule5)) -> rule6))]
("Harry" "is" "cold" "+")
((triple10 ((((((triple11) -> (rule3 % int4))) -> (rule1 % int3)) triple11) -> (rule5 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
int4
Harry is not cold.
False
7
inv-proof
[(((triple10 ((((((triple11) -> rule3)) -> rule1) triple11) -> rule5)) -> rule6))]
("Harry" "is" "cold" "-")
((triple10 ((((((triple11) -> (rule3 % int4))) -> (rule1 % int3)) triple11) -> (rule5 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
int4
Harry is green.
True
11
proof
[(((((((triple11) -> rule3)) -> rule1) ((triple10 ((((((triple11) -> rule3)) -> rule1) triple11) -> rule5)) -> rule6)) -> rule9))]
("Harry" "is" "green" "+")
((((((triple11) -> (rule3 % int5))) -> (rule1 % int4)) ((triple10 ((((((triple11) -> (rule3 % int5))) -> (rule1 % int4)) triple11) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule9 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
int4
Harry is smart.
("Harry" "is" "smart" "+")
int5
Harry is not green.
False
11
inv-proof
[(((((((triple11) -> rule3)) -> rule1) ((triple10 ((((((triple11) -> rule3)) -> rule1) triple11) -> rule5)) -> rule6)) -> rule9))]
("Harry" "is" "green" "-")
((((((triple11) -> (rule3 % int5))) -> (rule1 % int4)) ((triple10 ((((((triple11) -> (rule3 % int5))) -> (rule1 % int4)) triple11) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule9 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
int4
Harry is smart.
("Harry" "is" "smart" "+")
int5
Erin is not smart.
Unknown
inv-rconc
[@5: Erin is smart.[CWA. Example of deepest failure = (rule2 <- rule1 <- rule3 <- rule4 <- rule5 <- FAIL)]]
("Erin" "is" "smart" "-")
Erin is red.
Unknown
rconc
[@4: Erin is red.[CWA. Example of deepest failure = (rule1 <- rule3 <- rule4 <- rule5 <- FAIL)]]
("Erin" "is" "red" "+")
Charlie is not cold.
Unknown
inv-rconc
[@1: Charlie is cold.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Charlie" "is" "cold" "-")
Charlie is big.
Unknown
rconc
[@2: Charlie is big.[CWA. Example of deepest failure = (rule5 <- rule4 <- FAIL)]]
("Charlie" "is" "big" "+")
Erin is not big.
Unknown
inv-rconc
[@2: Erin is big.[CWA. Example of deepest failure = (rule5 <- rule4 <- FAIL)]]
("Erin" "is" "big" "-")
Erin is rough.
Unknown
rconc
[@2: Erin is rough.[CWA. Example of deepest failure = (rule4 <- rule5 <- FAIL)]]
("Erin" "is" "rough" "+")
@0: Charlie is not nice.[(triple1)] Charlie is red.[(triple2 OR ((triple3) -> rule1))] Charlie is smart.[(triple3 OR ((triple2) -> rule2))] Dave is big.[(triple4)] Dave is cold.[(triple5 OR ((triple6 triple4) -> rule6))] Dave is nice.[(triple6)] Dave is smart.[(triple7 OR ((((triple4) -> rule4)) -> rule3))] Erin is cold.[(triple8)] Erin is green.[(triple9)] Harry is nice.[(triple10)] Harry is rough.[(triple11)] @1: Dave is red.[(((triple7) -> rule1) OR ((((((triple4) -> rule4)) -> rule3)) -> rule1))] Dave is rough.[(((triple4) -> rule4))] Harry is smart.[(((triple11) -> rule3))] @2: Dave is green.[(((((triple7) -> rule1) triple5) -> rule9) OR ((((triple7) -> rule1) ((triple6 triple4) -> rule6)) -> rule9) OR ((((((((triple4) -> rule4)) -> rule3)) -> rule1) triple5) -> rule9) OR ((((((((triple4) -> rule4)) -> rule3)) -> rule1) ((triple6 triple4) -> rule6)) -> rule9))] Harry is red.[(((((triple11) -> rule3)) -> rule1))] @3: Harry is big.[(((((((triple11) -> rule3)) -> rule1) triple11) -> rule5))] @4: Harry is cold.[(((triple10 ((((((triple11) -> rule3)) -> rule1) triple11) -> rule5)) -> rule6))] @5: Harry is green.[(((((((triple11) -> rule3)) -> rule1) ((triple10 ((((((triple11) -> rule3)) -> rule1) triple11) -> rule5)) -> rule6)) -> rule9))]
Charlie is not nice.
("Charlie" "is" "nice" "-")
triple1
Charlie is red.
("Charlie" "is" "red" "+")
triple2
((triple3) -> (rule1 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
triple3
((triple2) -> (rule2 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
triple4
Dave is cold.
("Dave" "is" "cold" "+")
triple5
((triple6 triple4) -> (rule6 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
triple6
Dave is smart.
("Dave" "is" "smart" "+")
triple7
((((triple4) -> (rule4 % int2))) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
triple8
Erin is green.
("Erin" "is" "green" "+")
triple9
Harry is nice.
("Harry" "is" "nice" "+")
triple10
Harry is rough.
("Harry" "is" "rough" "+")
triple11
Dave is red.
("Dave" "is" "red" "+")
((triple7) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
((((((triple4) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
((triple4) -> (rule4 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
((triple11) -> (rule3 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
((((triple7) -> (rule1 % int2)) triple5) -> (rule9 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
((((triple7) -> (rule1 % int3)) ((triple6 triple4) -> (rule6 % int2))) -> (rule9 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
((((((((triple4) -> (rule4 % int4))) -> (rule3 % int3))) -> (rule1 % int2)) triple5) -> (rule9 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
((((((((triple4) -> (rule4 % int5))) -> (rule3 % int4))) -> (rule1 % int3)) ((triple6 triple4) -> (rule6 % int2))) -> (rule9 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Dave is rough.
("Dave" "is" "rough" "+")
int5
Harry is red.
("Harry" "is" "red" "+")
((((triple11) -> (rule3 % int2))) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
((((((triple11) -> (rule3 % int3))) -> (rule1 % int2)) triple11) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
((triple10 ((((((triple11) -> (rule3 % int4))) -> (rule1 % int3)) triple11) -> (rule5 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
int4
Harry is green.
("Harry" "is" "green" "+")
((((((triple11) -> (rule3 % int5))) -> (rule1 % int4)) ((triple10 ((((((triple11) -> (rule3 % int5))) -> (rule1 % int4)) triple11) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule9 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
int4
Harry is smart.
("Harry" "is" "smart" "+")
int5