Anne is big. Anne is white. Bob is smart. Bob is white. Fiona is round. Gary is rough. Gary is smart. Smart things are round. Smart, green things are blue. Rough things are white. If something is green and rough then it is white. Big things are blue. All round things are rough. All rough things are white. All white, blue things are smart.
Anne is big.
("Anne" "is" "big" "+")
Anne is white.
("Anne" "is" "white" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is white.
("Bob" "is" "white" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Smart things are round.
((("something" "is" "smart" "+")) -> ("something" "is" "round" "+"))
Smart, green things are blue.
((("something" "is" "smart" "+") ("something" "is" "green" "+")) -> ("something" "is" "blue" "+"))
Rough things are white.
((("something" "is" "rough" "+")) -> ("something" "is" "white" "+"))
If something is green and rough then it is white.
((("something" "is" "green" "+") ("something" "is" "rough" "+")) -> ("something" "is" "white" "+"))
Big things are blue.
((("something" "is" "big" "+")) -> ("something" "is" "blue" "+"))
All round things are rough.
((("something" "is" "round" "+")) -> ("something" "is" "rough" "+"))
All rough things are white.
((("something" "is" "rough" "+")) -> ("something" "is" "white" "+"))
All white, blue things are smart.
((("something" "is" "white" "+") ("something" "is" "blue" "+")) -> ("something" "is" "smart" "+"))
Anne is white.
True
1
proof
[(triple2)]
("Anne" "is" "white" "+")
triple2
Anne is not white.
False
1
inv-proof
[(triple2)]
("Anne" "is" "white" "-")
triple2
Fiona is rough.
True
2
proof
[(((triple5) -> rule6))]
("Fiona" "is" "rough" "+")
((triple5) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is not rough.
False
2
inv-proof
[(((triple5) -> rule6))]
("Fiona" "is" "rough" "-")
((triple5) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Bob is rough.
True
3
proof
[(((((triple3) -> rule1)) -> rule6))]
("Bob" "is" "rough" "+")
((((triple3) -> (rule1 % int2))) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Anne is not smart.
False
4
inv-proof
[(((triple2 ((triple1) -> rule5)) -> rule8))]
("Anne" "is" "smart" "-")
((triple2 ((triple1) -> (rule5 % int2))) -> (rule8 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is round.
True
5
proof
[(((((triple2 ((triple1) -> rule5)) -> rule8)) -> rule1))]
("Anne" "is" "round" "+")
((((triple2 ((triple1) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule1 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is not round.
False
5
inv-proof
[(((((triple2 ((triple1) -> rule5)) -> rule8)) -> rule1))]
("Anne" "is" "round" "-")
((((triple2 ((triple1) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule1 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Bob is not blue.
Unknown
inv-rconc
[@1: Bob is blue.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "blue" "-")
Gary is blue.
Unknown
rconc
[@1: Gary is blue.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Gary" "is" "blue" "+")
Fiona is not smart.
Unknown
inv-rconc
[@2: Fiona is smart.[CWA. Example of deepest failure = (rule8 <- rule2 <- FAIL)]]
("Fiona" "is" "smart" "-")
Fiona is blue.
Unknown
rconc
[@1: Fiona is blue.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Fiona" "is" "blue" "+")
Bob is not big.
Unknown
inv-random
[@0: Bob is big.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "big" "-")
Fiona is green.
Unknown
random
[@0: Fiona is green.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "green" "+")
Gary is not green.
Unknown
inv-random
[@0: Gary is green.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "green" "-")
Bob is green.
Unknown
random
[@0: Bob is green.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "green" "+")
@0: Anne is big.[(triple1)] Anne is white.[(triple2)] Bob is smart.[(triple3)] Bob is white.[(triple4 OR ((((((triple3) -> rule1)) -> rule6)) -> rule3) OR ((((((triple3) -> rule1)) -> rule6)) -> rule7))] Fiona is round.[(triple5)] Gary is rough.[(triple6 OR ((((triple7) -> rule1)) -> rule6))] Gary is smart.[(triple7)] @1: Anne is blue.[(((triple1) -> rule5))] Bob is round.[(((triple3) -> rule1))] Fiona is rough.[(((triple5) -> rule6))] Gary is round.[(((triple7) -> rule1))] Gary is white.[(((triple6) -> rule3) OR ((triple6) -> rule7) OR ((((((triple7) -> rule1)) -> rule6)) -> rule3) OR ((((((triple7) -> rule1)) -> rule6)) -> rule7))] @2: Anne is smart.[(((triple2 ((triple1) -> rule5)) -> rule8))] Bob is rough.[(((((triple3) -> rule1)) -> rule6))] Fiona is white.[(((((triple5) -> rule6)) -> rule3) OR ((((triple5) -> rule6)) -> rule7))] @3: Anne is round.[(((((triple2 ((triple1) -> rule5)) -> rule8)) -> rule1))] @4: Anne is rough.[(((((((triple2 ((triple1) -> rule5)) -> rule8)) -> rule1)) -> rule6))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is white.
("Anne" "is" "white" "+")
triple2
Bob is smart.
("Bob" "is" "smart" "+")
triple3
Bob is white.
("Bob" "is" "white" "+")
triple4
((((((triple3) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
((((((triple3) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
triple5
Gary is rough.
("Gary" "is" "rough" "+")
triple6
((((triple7) -> (rule1 % int2))) -> (rule6 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
triple7
Anne is blue.
("Anne" "is" "blue" "+")
((triple1) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
((triple3) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple5) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
((triple7) -> (rule1 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
((triple6) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
((triple6) -> (rule7 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
((((((triple7) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
((((((triple7) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Anne is smart.
("Anne" "is" "smart" "+")
((triple2 ((triple1) -> (rule5 % int2))) -> (rule8 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
((((triple3) -> (rule1 % int2))) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
((((triple5) -> (rule6 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple5) -> (rule6 % int2))) -> (rule7 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
((((triple2 ((triple1) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule1 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is rough.
("Anne" "is" "rough" "+")
((((((triple2 ((triple1) -> (rule5 % int4))) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4