Charlie is not big. Charlie is cold. Charlie is rough. Gary is cold. Gary is round. Gary is smart. Harry is cold. Harry is round. Harry is not smart. Harry is not young. If something is big then it is not blue. All smart things are young. Young things are big. If something is smart and round then it is big. If something is round and not big then it is rough. If something is round and not blue then it is rough.
Charlie is not big.
("Charlie" "is" "big" "-")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is not smart.
("Harry" "is" "smart" "-")
Harry is not young.
("Harry" "is" "young" "-")
If something is big then it is not blue.
((("something" "is" "big" "+")) -> ("something" "is" "blue" "-"))
All smart things are young.
((("something" "is" "smart" "+")) -> ("something" "is" "young" "+"))
Young things are big.
((("something" "is" "young" "+")) -> ("something" "is" "big" "+"))
If something is smart and round then it is big.
((("something" "is" "smart" "+") ("something" "is" "round" "+")) -> ("something" "is" "big" "+"))
If something is round and not big then it is rough.
((("something" "is" "round" "+") ("something" "is" "big" "~")) -> ("something" "is" "rough" "+"))
If something is round and not blue then it is rough.
((("something" "is" "round" "+") ("something" "is" "blue" "~")) -> ("something" "is" "rough" "+"))
Gary is cold.
True
1
proof
[(triple4)]
("Gary" "is" "cold" "+")
triple4
Charlie is big.
False
1
inv-proof
[(triple1)]
("Charlie" "is" "big" "+")
triple1
Gary is big.
True
3
proof
[(((triple6 triple5) -> rule4) OR ((((triple6) -> rule2)) -> rule3))]
("Gary" "is" "big" "+")
((triple6 triple5) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((((triple6) -> (rule2 % int2))) -> (rule3 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is not big.
False
3
inv-proof
[(((triple6 triple5) -> rule4) OR ((((triple6) -> rule2)) -> rule3))]
("Gary" "is" "big" "-")
((triple6 triple5) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((((triple6) -> (rule2 % int2))) -> (rule3 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is not blue.
True
4
proof
[(((((triple6 triple5) -> rule4)) -> rule1) OR ((((((triple6) -> rule2)) -> rule3)) -> rule1))]
("Gary" "is" "blue" "-")
((((triple6 triple5) -> (rule4 % int2))) -> (rule1 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((((triple6) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is blue.
False
4
inv-proof
[(((((triple6 triple5) -> rule4)) -> rule1) OR ((((((triple6) -> rule2)) -> rule3)) -> rule1))]
("Gary" "is" "blue" "+")
((((triple6 triple5) -> (rule4 % int2))) -> (rule1 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((((triple6) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Charlie is not young.
Unknown
inv-rconc
[@1: Charlie is young.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Charlie" "is" "young" "-")
Harry is rough.
Unknown
rconc
[@1: Harry is rough.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Harry" "is" "rough" "+")
Harry is not big.
Unknown
inv-rconc
[@1: Harry is big.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Harry" "is" "big" "-")
Charlie is blue.
Unknown
random
[@0: Charlie is blue.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "blue" "+")
Charlie is not round.
Unknown
inv-random
[@0: Charlie is round.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "round" "-")
Charlie is smart.
Unknown
random
[@0: Charlie is smart.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "smart" "+")
@0: Charlie is cold.[(triple2)] Charlie is not big.[(triple1)] Charlie is rough.[(triple3)] Gary is cold.[(triple4)] Gary is round.[(triple5)] Gary is smart.[(triple6)] Harry is cold.[(triple7)] Harry is not smart.[(triple9)] Harry is not young.[(triple10)] Harry is round.[(triple8)] @1: Gary is big.[(((triple6 triple5) -> rule4) OR ((((triple6) -> rule2)) -> rule3))] Gary is young.[(((triple6) -> rule2))] @2: Gary is not blue.[(((((triple6 triple5) -> rule4)) -> rule1) OR ((((((triple6) -> rule2)) -> rule3)) -> rule1))] @3: Gary is rough.[(((triple5 ((((triple6 triple5) -> rule4)) -> rule1)) -> rule6) OR ((triple5 ((((((triple6) -> rule2)) -> rule3)) -> rule1)) -> rule6))]
Charlie is cold.
("Charlie" "is" "cold" "+")
triple2
Charlie is not big.
("Charlie" "is" "big" "-")
triple1
Charlie is rough.
("Charlie" "is" "rough" "+")
triple3
Gary is cold.
("Gary" "is" "cold" "+")
triple4
Gary is round.
("Gary" "is" "round" "+")
triple5
Gary is smart.
("Gary" "is" "smart" "+")
triple6
Harry is cold.
("Harry" "is" "cold" "+")
triple7
Harry is not smart.
("Harry" "is" "smart" "-")
triple9
Harry is not young.
("Harry" "is" "young" "-")
triple10
Harry is round.
("Harry" "is" "round" "+")
triple8
Gary is big.
("Gary" "is" "big" "+")
((triple6 triple5) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((((triple6) -> (rule2 % int2))) -> (rule3 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
((triple6) -> (rule2 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is not blue.
("Gary" "is" "blue" "-")
((((triple6 triple5) -> (rule4 % int2))) -> (rule1 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((((triple6) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
((triple5 ((((triple6 triple5) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is not blue.
("Gary" "is" "blue" "-")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
((triple5 ((((((triple6) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is not blue.
("Gary" "is" "blue" "-")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4