Anne is big. Anne is kind. Anne is nice. Anne is red. Anne is round. Erin is round. Fiona is kind. Fiona is nice. Fiona is smart. Gary is kind. Gary is nice. Gary is smart. If something is nice then it is red. All smart, red things are rough. Rough things are big.
Anne is big.
("Anne" "is" "big" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is round.
("Anne" "is" "round" "+")
Erin is round.
("Erin" "is" "round" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is smart.
("Gary" "is" "smart" "+")
If something is nice then it is red.
((("something" "is" "nice" "+")) -> ("something" "is" "red" "+"))
All smart, red things are rough.
((("something" "is" "smart" "+") ("something" "is" "red" "+")) -> ("something" "is" "rough" "+"))
Rough things are big.
((("something" "is" "rough" "+")) -> ("something" "is" "big" "+"))
Anne is red.
True
1
proof
[(triple4 OR ((triple3) -> rule1))]
("Anne" "is" "red" "+")
triple4
((triple3) -> (rule1 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is not round.
False
1
inv-proof
[(triple5)]
("Anne" "is" "round" "-")
triple5
Fiona is red.
True
2
proof
[(((triple8) -> rule1))]
("Fiona" "is" "red" "+")
((triple8) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Gary is not red.
False
2
inv-proof
[(((triple11) -> rule1))]
("Gary" "is" "red" "-")
((triple11) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is rough.
True
4
proof
[(((triple12 ((triple11) -> rule1)) -> rule2))]
("Gary" "is" "rough" "+")
((triple12 ((triple11) -> (rule1 % int2))) -> (rule2 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Fiona is not rough.
False
4
inv-proof
[(((triple9 ((triple8) -> rule1)) -> rule2))]
("Fiona" "is" "rough" "-")
((triple9 ((triple8) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is big.
True
5
proof
[(((((triple9 ((triple8) -> rule1)) -> rule2)) -> rule3))]
("Fiona" "is" "big" "+")
((((triple9 ((triple8) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Gary is not big.
False
5
inv-proof
[(((((triple12 ((triple11) -> rule1)) -> rule2)) -> rule3))]
("Gary" "is" "big" "-")
((((triple12 ((triple11) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Anne is not rough.
Unknown
inv-rconc
[@1: Anne is rough.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Anne" "is" "rough" "-")
Erin is big.
Unknown
rconc
[@2: Erin is big.[CWA. Example of deepest failure = (rule3 <- rule2 <- FAIL)]]
("Erin" "is" "big" "+")
Erin is not red.
Unknown
inv-rconc
[@1: Erin is red.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Erin" "is" "red" "-")
Erin is rough.
Unknown
rconc
[@1: Erin is rough.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "rough" "+")
Erin is not smart.
Unknown
inv-random
[@0: Erin is smart.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "smart" "-")
Erin is kind.
Unknown
random
[@0: Erin is kind.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "kind" "+")
Erin is not nice.
Unknown
inv-random
[@0: Erin is nice.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "nice" "-")
Fiona is round.
Unknown
random
[@0: Fiona is round.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "round" "+")
@0: Anne is big.[(triple1)] Anne is kind.[(triple2)] Anne is nice.[(triple3)] Anne is red.[(triple4 OR ((triple3) -> rule1))] Anne is round.[(triple5)] Erin is round.[(triple6)] Fiona is kind.[(triple7)] Fiona is nice.[(triple8)] Fiona is smart.[(triple9)] Gary is kind.[(triple10)] Gary is nice.[(triple11)] Gary is smart.[(triple12)] @1: Fiona is red.[(((triple8) -> rule1))] Gary is red.[(((triple11) -> rule1))] @2: Fiona is rough.[(((triple9 ((triple8) -> rule1)) -> rule2))] Gary is rough.[(((triple12 ((triple11) -> rule1)) -> rule2))] @3: Fiona is big.[(((((triple9 ((triple8) -> rule1)) -> rule2)) -> rule3))] Gary is big.[(((((triple12 ((triple11) -> rule1)) -> rule2)) -> rule3))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is kind.
("Anne" "is" "kind" "+")
triple2
Anne is nice.
("Anne" "is" "nice" "+")
triple3
Anne is red.
("Anne" "is" "red" "+")
triple4
((triple3) -> (rule1 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
triple5
Erin is round.
("Erin" "is" "round" "+")
triple6
Fiona is kind.
("Fiona" "is" "kind" "+")
triple7
Fiona is nice.
("Fiona" "is" "nice" "+")
triple8
Fiona is smart.
("Fiona" "is" "smart" "+")
triple9
Gary is kind.
("Gary" "is" "kind" "+")
triple10
Gary is nice.
("Gary" "is" "nice" "+")
triple11
Gary is smart.
("Gary" "is" "smart" "+")
triple12
Fiona is red.
("Fiona" "is" "red" "+")
((triple8) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
((triple11) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple9 ((triple8) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
((triple12 ((triple11) -> (rule1 % int2))) -> (rule2 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
((((triple9 ((triple8) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
((((triple12 ((triple11) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3