Anne is blue. Anne is kind. Charlie is not kind. Dave is kind. Dave is nice. Dave is round. Dave is smart. Fiona is big. Fiona is blue. Fiona is kind. Fiona is nice. Fiona is smart. If someone is big and blue then they are green. Nice people are kind. All big, green people are kind. All round people are kind. If someone is round then they are nice. If someone is kind then they are nice. Kind, big people are round. If someone is kind and not round then they are smart.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Charlie is not kind.
("Charlie" "is" "kind" "-")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
If someone is big and blue then they are green.
((("someone" "is" "big" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "green" "+"))
Nice people are kind.
((("someone" "is" "nice" "+")) -> ("someone" "is" "kind" "+"))
All big, green people are kind.
((("someone" "is" "big" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "kind" "+"))
All round people are kind.
((("someone" "is" "round" "+")) -> ("someone" "is" "kind" "+"))
If someone is round then they are nice.
((("someone" "is" "round" "+")) -> ("someone" "is" "nice" "+"))
If someone is kind then they are nice.
((("someone" "is" "kind" "+")) -> ("someone" "is" "nice" "+"))
Kind, big people are round.
((("someone" "is" "kind" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "round" "+"))
If someone is kind and not round then they are smart.
((("someone" "is" "kind" "+") ("someone" "is" "round" "~")) -> ("someone" "is" "smart" "+"))
Fiona is big.
True
1
proof
[(triple8)]
("Fiona" "is" "big" "+")
triple8
Charlie is kind.
False
1
inv-proof
[(triple3)]
("Charlie" "is" "kind" "+")
triple3
Charlie is not smart.
Unknown
inv-rconc
[@1: Charlie is smart.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Charlie" "is" "smart" "-")
Anne is big.
Unknown
random
[@0: Anne is big.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "big" "+")
@0: Anne is blue.[(triple1)] Anne is kind.[(triple2)] Charlie is not kind.[(triple3)] Dave is kind.[(triple4 OR ((triple5) -> rule2) OR ((triple6) -> rule4) OR ((((triple6) -> rule5)) -> rule2))] Dave is nice.[(triple5 OR ((triple4) -> rule6) OR ((triple6) -> rule5) OR ((((triple6) -> rule4)) -> rule6))] Dave is round.[(triple6)] Dave is smart.[(triple7)] Fiona is big.[(triple8)] Fiona is blue.[(triple9)] Fiona is kind.[(triple10 OR ((triple11) -> rule2) OR ((triple8 ((triple8 triple9) -> rule1)) -> rule3))] Fiona is nice.[(triple11 OR ((triple10) -> rule6) OR ((((triple10 triple8) -> rule7)) -> rule5) OR ((((triple8 ((triple8 triple9) -> rule1)) -> rule3)) -> rule6) OR ((((((triple8 ((triple8 triple9) -> rule1)) -> rule3) triple8) -> rule7)) -> rule5))] Fiona is smart.[(triple12)] @1: Anne is nice.[(((triple2) -> rule6))] Fiona is green.[(((triple8 triple9) -> rule1))] Fiona is round.[(((triple10 triple8) -> rule7) OR ((((triple11) -> rule2) triple8) -> rule7) OR ((((triple8 ((triple8 triple9) -> rule1)) -> rule3) triple8) -> rule7))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is kind.
("Anne" "is" "kind" "+")
triple2
Charlie is not kind.
("Charlie" "is" "kind" "-")
triple3
Dave is kind.
("Dave" "is" "kind" "+")
triple4
((triple5) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
((triple6) -> (rule4 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
((((triple6) -> (rule5 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
triple5
((triple4) -> (rule6 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((triple6) -> (rule5 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((((triple6) -> (rule4 % int2))) -> (rule6 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
triple6
Dave is smart.
("Dave" "is" "smart" "+")
triple7
Fiona is big.
("Fiona" "is" "big" "+")
triple8
Fiona is blue.
("Fiona" "is" "blue" "+")
triple9
Fiona is kind.
("Fiona" "is" "kind" "+")
triple10
((triple11) -> (rule2 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
((triple8 ((triple8 triple9) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
triple11
((triple10) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((((triple10 triple8) -> (rule7 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
((((triple8 ((triple8 triple9) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
((((((triple8 ((triple8 triple9) -> (rule1 % int4))) -> (rule3 % int3)) triple8) -> (rule7 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is green.
("Fiona" "is" "green" "+")
int4
Fiona is smart.
("Fiona" "is" "smart" "+")
triple12
Anne is nice.
("Anne" "is" "nice" "+")
((triple2) -> (rule6 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
((triple8 triple9) -> (rule1 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((triple10 triple8) -> (rule7 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((((triple11) -> (rule2 % int2)) triple8) -> (rule7 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
((((triple8 ((triple8 triple9) -> (rule1 % int3))) -> (rule3 % int2)) triple8) -> (rule7 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3