Bob is rough. Bob is young. Charlie is red. Gary is big. Gary is blue. Gary is red. Gary is rough. Harry is nice. Harry is red. Harry is rough. Red, big things are nice. Blue, young things are cold. All blue, nice things are rough. All cold, blue things are big. All big, blue things are rough. If Charlie is blue then Charlie is young. If something is red then it is blue. If something is cold then it is big.
Bob is rough.
("Bob" "is" "rough" "+")
Bob is young.
("Bob" "is" "young" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Red, big things are nice.
((("something" "is" "red" "+") ("something" "is" "big" "+")) -> ("something" "is" "nice" "+"))
Blue, young things are cold.
((("something" "is" "blue" "+") ("something" "is" "young" "+")) -> ("something" "is" "cold" "+"))
All blue, nice things are rough.
((("something" "is" "blue" "+") ("something" "is" "nice" "+")) -> ("something" "is" "rough" "+"))
All cold, blue things are big.
((("something" "is" "cold" "+") ("something" "is" "blue" "+")) -> ("something" "is" "big" "+"))
All big, blue things are rough.
((("something" "is" "big" "+") ("something" "is" "blue" "+")) -> ("something" "is" "rough" "+"))
If Charlie is blue then Charlie is young.
((("Charlie" "is" "blue" "+")) -> ("Charlie" "is" "young" "+"))
If something is red then it is blue.
((("something" "is" "red" "+")) -> ("something" "is" "blue" "+"))
If something is cold then it is big.
((("something" "is" "cold" "+")) -> ("something" "is" "big" "+"))
Harry is red.
True
1
proof
[(triple9)]
("Harry" "is" "red" "+")
triple9
Bob is not rough.
False
1
inv-proof
[(triple1)]
("Bob" "is" "rough" "-")
triple1
Gary is nice.
True
3
proof
[(((triple6 triple4) -> rule1))]
("Gary" "is" "nice" "+")
((triple6 triple4) -> (rule1 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Harry is not blue.
False
2
inv-proof
[(((triple9) -> rule7))]
("Harry" "is" "blue" "-")
((triple9) -> (rule7 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Charlie is young.
True
3
proof
[(((((triple3) -> rule7)) -> rule6))]
("Charlie" "is" "young" "+")
((((triple3) -> (rule7 % int2))) -> (rule6 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is not young.
False
3
inv-proof
[(((((triple3) -> rule7)) -> rule6))]
("Charlie" "is" "young" "-")
((((triple3) -> (rule7 % int2))) -> (rule6 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is cold.
True
6
proof
[(((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2))]
("Charlie" "is" "cold" "+")
((((triple3) -> (rule7 % int3)) ((((triple3) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is not cold.
False
6
inv-proof
[(((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2))]
("Charlie" "is" "cold" "-")
((((triple3) -> (rule7 % int3)) ((((triple3) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is big.
True
7
proof
[(((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2)) -> rule8) OR ((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2) ((triple3) -> rule7)) -> rule4))]
("Charlie" "is" "big" "+")
((((((triple3) -> (rule7 % int4)) ((((triple3) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
((((((triple3) -> (rule7 % int4)) ((((triple3) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule2 % int2)) ((triple3) -> (rule7 % int4))) -> (rule4 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
Charlie is not big.
False
7
inv-proof
[(((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2)) -> rule8) OR ((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2) ((triple3) -> rule7)) -> rule4))]
("Charlie" "is" "big" "-")
((((((triple3) -> (rule7 % int4)) ((((triple3) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
((((((triple3) -> (rule7 % int4)) ((((triple3) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule2 % int2)) ((triple3) -> (rule7 % int4))) -> (rule4 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
Charlie is nice.
True
9
proof
[(((triple3 ((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2)) -> rule8)) -> rule1) OR ((triple3 ((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2) ((triple3) -> rule7)) -> rule4)) -> rule1))]
("Charlie" "is" "nice" "+")
((triple3 ((((((triple3) -> (rule7 % int5)) ((((triple3) -> (rule7 % int5))) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4
Charlie is blue.
("Charlie" "is" "blue" "+")
int5
((triple3 ((((((triple3) -> (rule7 % int5)) ((((triple3) -> (rule7 % int5))) -> (rule6 % int4))) -> (rule2 % int3)) ((triple3) -> (rule7 % int5))) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4
Charlie is blue.
("Charlie" "is" "blue" "+")
int5
Charlie is not rough.
False
10
inv-proof
[(((((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2)) -> rule8) ((triple3) -> rule7)) -> rule5) OR ((((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2) ((triple3) -> rule7)) -> rule4) ((triple3) -> rule7)) -> rule5) OR ((((triple3) -> rule7) ((triple3 ((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2)) -> rule8)) -> rule1)) -> rule3) OR ((((triple3) -> rule7) ((triple3 ((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2) ((triple3) -> rule7)) -> rule4)) -> rule1)) -> rule3))]
("Charlie" "is" "rough" "-")
((((((((triple3) -> (rule7 % int5)) ((((triple3) -> (rule7 % int5))) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule8 % int2)) ((triple3) -> (rule7 % int5))) -> (rule5 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4
Charlie is blue.
("Charlie" "is" "blue" "+")
int5
((((((((triple3) -> (rule7 % int5)) ((((triple3) -> (rule7 % int5))) -> (rule6 % int4))) -> (rule2 % int3)) ((triple3) -> (rule7 % int5))) -> (rule4 % int2)) ((triple3) -> (rule7 % int5))) -> (rule5 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4
Charlie is blue.
("Charlie" "is" "blue" "+")
int5
((((triple3) -> (rule7 % int6)) ((triple3 ((((((triple3) -> (rule7 % int6)) ((((triple3) -> (rule7 % int6))) -> (rule6 % int5))) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
Charlie is young.
("Charlie" "is" "young" "+")
int5
Charlie is blue.
("Charlie" "is" "blue" "+")
int6
((((triple3) -> (rule7 % int6)) ((triple3 ((((((triple3) -> (rule7 % int6)) ((((triple3) -> (rule7 % int6))) -> (rule6 % int5))) -> (rule2 % int4)) ((triple3) -> (rule7 % int6))) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
Charlie is young.
("Charlie" "is" "young" "+")
int5
Charlie is blue.
("Charlie" "is" "blue" "+")
int6
Bob is not nice.
Unknown
inv-rconc
[@1: Bob is nice.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "nice" "-")
Bob is big.
Unknown
rconc
[@3: Bob is big.[CWA. Example of deepest failure = (rule8 <- rule2 <- rule7 <- FAIL)]]
("Bob" "is" "big" "+")
Harry is not big.
Unknown
inv-rconc
[@2: Harry is big.[CWA. Example of deepest failure = (rule4 <- rule2 <- FAIL)]]
("Harry" "is" "big" "-")
Gary is cold.
Unknown
rconc
[@1: Gary is cold.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Gary" "is" "cold" "+")
Harry is not cold.
Unknown
inv-rconc
[@1: Harry is cold.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Harry" "is" "cold" "-")
Bob is blue.
Unknown
rconc
[@1: Bob is blue.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Bob" "is" "blue" "+")
Gary is not young.
Unknown
inv-random
[@0: Gary is young.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "young" "-")
Harry is young.
Unknown
random
[@0: Harry is young.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "young" "+")
@0: Bob is rough.[(triple1)] Bob is young.[(triple2)] Charlie is red.[(triple3)] Gary is big.[(triple4)] Gary is blue.[(triple5 OR ((triple6) -> rule7))] Gary is red.[(triple6)] Gary is rough.[(triple7 OR ((triple4 triple5) -> rule5) OR ((triple4 ((triple6) -> rule7)) -> rule5) OR ((triple5 ((triple6 triple4) -> rule1)) -> rule3) OR ((((triple6) -> rule7) ((triple6 triple4) -> rule1)) -> rule3))] Harry is nice.[(triple8)] Harry is red.[(triple9)] Harry is rough.[(triple10 OR ((((triple9) -> rule7) triple8) -> rule3))] @1: Charlie is blue.[(((triple3) -> rule7))] Gary is nice.[(((triple6 triple4) -> rule1))] Harry is blue.[(((triple9) -> rule7))] @2: Charlie is young.[(((((triple3) -> rule7)) -> rule6))] @3: Charlie is cold.[(((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2))] @4: Charlie is big.[(((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2)) -> rule8) OR ((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2) ((triple3) -> rule7)) -> rule4))] @5: Charlie is nice.[(((triple3 ((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2)) -> rule8)) -> rule1) OR ((triple3 ((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2) ((triple3) -> rule7)) -> rule4)) -> rule1))] Charlie is rough.[(((((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2)) -> rule8) ((triple3) -> rule7)) -> rule5) OR ((((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2) ((triple3) -> rule7)) -> rule4) ((triple3) -> rule7)) -> rule5) OR ((((triple3) -> rule7) ((triple3 ((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2)) -> rule8)) -> rule1)) -> rule3) OR ((((triple3) -> rule7) ((triple3 ((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule6)) -> rule2) ((triple3) -> rule7)) -> rule4)) -> rule1)) -> rule3))]
Bob is rough.
("Bob" "is" "rough" "+")
triple1
Bob is young.
("Bob" "is" "young" "+")
triple2
Charlie is red.
("Charlie" "is" "red" "+")
triple3
Gary is big.
("Gary" "is" "big" "+")
triple4
Gary is blue.
("Gary" "is" "blue" "+")
triple5
((triple6) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
triple6
Gary is rough.
("Gary" "is" "rough" "+")
triple7
((triple4 triple5) -> (rule5 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((triple4 ((triple6) -> (rule7 % int2))) -> (rule5 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
((triple5 ((triple6 triple4) -> (rule1 % int2))) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
((((triple6) -> (rule7 % int3)) ((triple6 triple4) -> (rule1 % int2))) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
triple8
Harry is red.
("Harry" "is" "red" "+")
triple9
Harry is rough.
("Harry" "is" "rough" "+")
triple10
((((triple9) -> (rule7 % int2)) triple8) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple3) -> (rule7 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
((triple6 triple4) -> (rule1 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
((triple9) -> (rule7 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
((((triple3) -> (rule7 % int2))) -> (rule6 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
((((triple3) -> (rule7 % int3)) ((((triple3) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
((((((triple3) -> (rule7 % int4)) ((((triple3) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
((((((triple3) -> (rule7 % int4)) ((((triple3) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule2 % int2)) ((triple3) -> (rule7 % int4))) -> (rule4 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple3 ((((((triple3) -> (rule7 % int5)) ((((triple3) -> (rule7 % int5))) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4
Charlie is blue.
("Charlie" "is" "blue" "+")
int5
((triple3 ((((((triple3) -> (rule7 % int5)) ((((triple3) -> (rule7 % int5))) -> (rule6 % int4))) -> (rule2 % int3)) ((triple3) -> (rule7 % int5))) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4
Charlie is blue.
("Charlie" "is" "blue" "+")
int5
Charlie is rough.
("Charlie" "is" "rough" "+")
((((((((triple3) -> (rule7 % int5)) ((((triple3) -> (rule7 % int5))) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule8 % int2)) ((triple3) -> (rule7 % int5))) -> (rule5 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4
Charlie is blue.
("Charlie" "is" "blue" "+")
int5
((((((((triple3) -> (rule7 % int5)) ((((triple3) -> (rule7 % int5))) -> (rule6 % int4))) -> (rule2 % int3)) ((triple3) -> (rule7 % int5))) -> (rule4 % int2)) ((triple3) -> (rule7 % int5))) -> (rule5 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4
Charlie is blue.
("Charlie" "is" "blue" "+")
int5
((((triple3) -> (rule7 % int6)) ((triple3 ((((((triple3) -> (rule7 % int6)) ((((triple3) -> (rule7 % int6))) -> (rule6 % int5))) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
Charlie is young.
("Charlie" "is" "young" "+")
int5
Charlie is blue.
("Charlie" "is" "blue" "+")
int6
((((triple3) -> (rule7 % int6)) ((triple3 ((((((triple3) -> (rule7 % int6)) ((((triple3) -> (rule7 % int6))) -> (rule6 % int5))) -> (rule2 % int4)) ((triple3) -> (rule7 % int6))) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
Charlie is young.
("Charlie" "is" "young" "+")
int5
Charlie is blue.
("Charlie" "is" "blue" "+")
int6