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