Anne is big. Anne is blue. Anne is furry. Anne is round. Anne is white. Anne is young. Charlie is blue. Charlie is furry. Charlie is green. Charlie is round. Dave is big. Dave is round. Dave is white. Dave is young. Fiona is big. Fiona is round. If something is big and blue then it is green. All big, white things are furry. Green things are round. All blue things are green. Round, furry things are white. Blue, white things are round.
Anne is big.
("Anne" "is" "big" "+")
Anne is blue.
("Anne" "is" "blue" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is white.
("Anne" "is" "white" "+")
Anne is young.
("Anne" "is" "young" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is white.
("Dave" "is" "white" "+")
Dave is young.
("Dave" "is" "young" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is round.
("Fiona" "is" "round" "+")
If something is big and blue then it is green.
((("something" "is" "big" "+") ("something" "is" "blue" "+")) -> ("something" "is" "green" "+"))
All big, white things are furry.
((("something" "is" "big" "+") ("something" "is" "white" "+")) -> ("something" "is" "furry" "+"))
Green things are round.
((("something" "is" "green" "+")) -> ("something" "is" "round" "+"))
All blue things are green.
((("something" "is" "blue" "+")) -> ("something" "is" "green" "+"))
Round, furry things are white.
((("something" "is" "round" "+") ("something" "is" "furry" "+")) -> ("something" "is" "white" "+"))
Blue, white things are round.
((("something" "is" "blue" "+") ("something" "is" "white" "+")) -> ("something" "is" "round" "+"))
Dave is round.
True
1
proof
[(triple12)]
("Dave" "is" "round" "+")
triple12
Fiona is not big.
False
1
inv-proof
[(triple15)]
("Fiona" "is" "big" "-")
triple15
Dave is not green.
Unknown
inv-rconc
[@1: Dave is green.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Dave" "is" "green" "-")
Dave is blue.
Unknown
random
[@0: Dave is blue.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "blue" "+")
@0: Anne is big.[(triple1)] Anne is blue.[(triple2)] Anne is furry.[(triple3 OR ((triple1 triple5) -> rule2))] Anne is round.[(triple4 OR ((triple2 triple5) -> rule6) OR ((((triple2) -> rule4)) -> rule3) OR ((((triple1 triple2) -> rule1)) -> rule3))] Anne is white.[(triple5 OR ((triple4 triple3) -> rule5) OR ((((((triple2) -> rule4)) -> rule3) triple3) -> rule5) OR ((((((triple1 triple2) -> rule1)) -> rule3) triple3) -> rule5))] Anne is young.[(triple6)] Charlie is blue.[(triple7)] Charlie is furry.[(triple8)] Charlie is green.[(triple9 OR ((triple7) -> rule4))] Charlie is round.[(triple10 OR ((triple9) -> rule3) OR ((((triple7) -> rule4)) -> rule3))] Dave is big.[(triple11)] Dave is round.[(triple12)] Dave is white.[(triple13)] Dave is young.[(triple14)] Fiona is big.[(triple15)] Fiona is round.[(triple16)] @1: Anne is green.[(((triple2) -> rule4) OR ((triple1 triple2) -> rule1))] Charlie is white.[(((triple10 triple8) -> rule5) OR ((((triple9) -> rule3) triple8) -> rule5) OR ((((((triple7) -> rule4)) -> rule3) triple8) -> rule5))] Dave is furry.[(((triple11 triple13) -> rule2))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is blue.
("Anne" "is" "blue" "+")
triple2
Anne is furry.
("Anne" "is" "furry" "+")
triple3
((triple1 triple5) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
triple4
((triple2 triple5) -> (rule6 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
((((triple2) -> (rule4 % int2))) -> (rule3 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
((((triple1 triple2) -> (rule1 % int2))) -> (rule3 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
triple5
((triple4 triple3) -> (rule5 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
((((((triple2) -> (rule4 % int3))) -> (rule3 % int2)) triple3) -> (rule5 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
((((((triple1 triple2) -> (rule1 % int3))) -> (rule3 % int2)) triple3) -> (rule5 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is young.
("Anne" "is" "young" "+")
triple6
Charlie is blue.
("Charlie" "is" "blue" "+")
triple7
Charlie is furry.
("Charlie" "is" "furry" "+")
triple8
Charlie is green.
("Charlie" "is" "green" "+")
triple9
((triple7) -> (rule4 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
triple10
((triple9) -> (rule3 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
((((triple7) -> (rule4 % int2))) -> (rule3 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
triple11
Dave is round.
("Dave" "is" "round" "+")
triple12
Dave is white.
("Dave" "is" "white" "+")
triple13
Dave is young.
("Dave" "is" "young" "+")
triple14
Fiona is big.
("Fiona" "is" "big" "+")
triple15
Fiona is round.
("Fiona" "is" "round" "+")
triple16
Anne is green.
("Anne" "is" "green" "+")
((triple2) -> (rule4 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((triple1 triple2) -> (rule1 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
((triple10 triple8) -> (rule5 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
((((triple9) -> (rule3 % int2)) triple8) -> (rule5 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((((((triple7) -> (rule4 % int3))) -> (rule3 % int2)) triple8) -> (rule5 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
((triple11 triple13) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1