Anne is green. Bob is red. Charlie is big. All green things are young. If something is green then it is rough. If Charlie is rough and Charlie is quiet then Charlie is blue. If something is big then it is young. All young, big things are rough. If something is young then it is green.
Anne is green.
("Anne" "is" "green" "+")
Bob is red.
("Bob" "is" "red" "+")
Charlie is big.
("Charlie" "is" "big" "+")
All green things are young.
((("something" "is" "green" "+")) -> ("something" "is" "young" "+"))
If something is green then it is rough.
((("something" "is" "green" "+")) -> ("something" "is" "rough" "+"))
If Charlie is rough and Charlie is quiet then Charlie is blue.
((("Charlie" "is" "rough" "+") ("Charlie" "is" "quiet" "+")) -> ("Charlie" "is" "blue" "+"))
If something is big then it is young.
((("something" "is" "big" "+")) -> ("something" "is" "young" "+"))
All young, big things are rough.
((("something" "is" "young" "+") ("something" "is" "big" "+")) -> ("something" "is" "rough" "+"))
If something is young then it is green.
((("something" "is" "young" "+")) -> ("something" "is" "green" "+"))
Charlie is big.
True
1
proof
[(triple3)]
("Charlie" "is" "big" "+")
triple3
Charlie is not big.
False
1
inv-proof
[(triple3)]
("Charlie" "is" "big" "-")
triple3
Anne is rough.
True
2
proof
[(((triple1) -> rule2))]
("Anne" "is" "rough" "+")
((triple1) -> (rule2 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is not rough.
False
2
inv-proof
[(((triple1) -> rule2))]
("Anne" "is" "rough" "-")
((triple1) -> (rule2 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Charlie is green.
True
3
proof
[(((((triple3) -> rule4)) -> rule6))]
("Charlie" "is" "green" "+")
((((triple3) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is not rough.
False
4
inv-proof
[(((((triple3) -> rule4) triple3) -> rule5) OR ((((((triple3) -> rule4)) -> rule6)) -> rule2))]
("Charlie" "is" "rough" "-")
((((triple3) -> (rule4 % int2)) triple3) -> (rule5 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((((triple3) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is not blue.
Unknown
inv-rconc
[@1: Charlie is blue.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Charlie" "is" "blue" "-")
Bob is green.
Unknown
rconc
[@2: Bob is green.[CWA. Example of deepest failure = (rule6 <- rule1 <- FAIL)]]
("Bob" "is" "green" "+")
Bob is not rough.
Unknown
inv-rconc
[@3: Bob is rough.[CWA. Example of deepest failure = (rule2 <- rule6 <- rule1 <- FAIL)]]
("Bob" "is" "rough" "-")
Anne is big.
Unknown
random
[@0: Anne is big.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "big" "+")
Bob is not quiet.
Unknown
inv-random
[@0: Bob is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "quiet" "-")
Bob is blue.
Unknown
random
[@0: Bob is blue.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "blue" "+")
@0: Anne is green.[(triple1)] Bob is red.[(triple2)] Charlie is big.[(triple3)] @1: Anne is rough.[(((triple1) -> rule2))] Anne is young.[(((triple1) -> rule1))] Charlie is young.[(((triple3) -> rule4))] @2: Charlie is green.[(((((triple3) -> rule4)) -> rule6))] Charlie is rough.[(((((triple3) -> rule4) triple3) -> rule5) OR ((((((triple3) -> rule4)) -> rule6)) -> rule2))]
Anne is green.
("Anne" "is" "green" "+")
triple1
Bob is red.
("Bob" "is" "red" "+")
triple2
Charlie is big.
("Charlie" "is" "big" "+")
triple3
Anne is rough.
("Anne" "is" "rough" "+")
((triple1) -> (rule2 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
((triple1) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
((triple3) -> (rule4 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
((((triple3) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
((((triple3) -> (rule4 % int2)) triple3) -> (rule5 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((((triple3) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3