Anne is green. Anne is nice. Anne is rough. Fiona is big. Fiona is nice. Fiona is round. Fiona is white. All round, green things are nice. All round things are white. Big, furry things are rough. Green things are rough. All round things are green. White things are green.
Anne is green.
("Anne" "is" "green" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is white.
("Fiona" "is" "white" "+")
All round, green things are nice.
((("something" "is" "round" "+") ("something" "is" "green" "+")) -> ("something" "is" "nice" "+"))
All round things are white.
((("something" "is" "round" "+")) -> ("something" "is" "white" "+"))
Big, furry things are rough.
((("something" "is" "big" "+") ("something" "is" "furry" "+")) -> ("something" "is" "rough" "+"))
Green things are rough.
((("something" "is" "green" "+")) -> ("something" "is" "rough" "+"))
All round things are green.
((("something" "is" "round" "+")) -> ("something" "is" "green" "+"))
White things are green.
((("something" "is" "white" "+")) -> ("something" "is" "green" "+"))
Fiona is nice.
True
1
proof
[(triple5 OR ((triple6 ((triple6) -> rule5)) -> rule1) OR ((triple6 ((triple7) -> rule6)) -> rule1) OR ((triple6 ((((triple6) -> rule2)) -> rule6)) -> rule1))]
("Fiona" "is" "nice" "+")
triple5
((triple6 ((triple6) -> (rule5 % int2))) -> (rule1 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
((triple6 ((triple7) -> (rule6 % int2))) -> (rule1 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
((triple6 ((((triple6) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is not white.
False
1
inv-proof
[(triple7 OR ((triple6) -> rule2))]
("Fiona" "is" "white" "-")
triple7
((triple6) -> (rule2 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Anne is not white.
Unknown
inv-rconc
[@1: Anne is white.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Anne" "is" "white" "-")
Fiona is furry.
Unknown
random
[@0: Fiona is furry.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "furry" "+")
@0: Anne is green.[(triple1)] Anne is nice.[(triple2)] Anne is rough.[(triple3 OR ((triple1) -> rule4))] Fiona is big.[(triple4)] Fiona is nice.[(triple5 OR ((triple6 ((triple6) -> rule5)) -> rule1) OR ((triple6 ((triple7) -> rule6)) -> rule1) OR ((triple6 ((((triple6) -> rule2)) -> rule6)) -> rule1))] Fiona is round.[(triple6)] Fiona is white.[(triple7 OR ((triple6) -> rule2))] @1: Fiona is green.[(((triple6) -> rule5) OR ((triple7) -> rule6) OR ((((triple6) -> rule2)) -> rule6))] @2: Fiona is rough.[(((((triple6) -> rule5)) -> rule4) OR ((((triple7) -> rule6)) -> rule4) OR ((((((triple6) -> rule2)) -> rule6)) -> rule4))]
Anne is green.
("Anne" "is" "green" "+")
triple1
Anne is nice.
("Anne" "is" "nice" "+")
triple2
Anne is rough.
("Anne" "is" "rough" "+")
triple3
((triple1) -> (rule4 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
triple4
Fiona is nice.
("Fiona" "is" "nice" "+")
triple5
((triple6 ((triple6) -> (rule5 % int2))) -> (rule1 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
((triple6 ((triple7) -> (rule6 % int2))) -> (rule1 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
((triple6 ((((triple6) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
triple6
Fiona is white.
("Fiona" "is" "white" "+")
triple7
((triple6) -> (rule2 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
((triple6) -> (rule5 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
((triple7) -> (rule6 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
((((triple6) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
((((triple6) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
((((triple7) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
((((((triple6) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3