Charlie is blue. Charlie is furry. Charlie is not kind. Charlie is smart. Dave is not rough. Fiona is not big. Fiona is not furry. Fiona is kind. Fiona is smart. Harry is furry. Harry is not kind. Harry is red. Blue, smart people are red. If someone is furry then they are red. If Harry is blue then Harry is kind. If someone is big then they are furry. All blue people are not kind. If Fiona is furry then Fiona is red.
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is not kind.
("Charlie" "is" "kind" "-")
Charlie is smart.
("Charlie" "is" "smart" "+")
Dave is not rough.
("Dave" "is" "rough" "-")
Fiona is not big.
("Fiona" "is" "big" "-")
Fiona is not furry.
("Fiona" "is" "furry" "-")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is not kind.
("Harry" "is" "kind" "-")
Harry is red.
("Harry" "is" "red" "+")
Blue, smart people are red.
((("someone" "is" "blue" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "red" "+"))
If someone is furry then they are red.
((("someone" "is" "furry" "+")) -> ("someone" "is" "red" "+"))
If Harry is blue then Harry is kind.
((("Harry" "is" "blue" "+")) -> ("Harry" "is" "kind" "+"))
If someone is big then they are furry.
((("someone" "is" "big" "+")) -> ("someone" "is" "furry" "+"))
All blue people are not kind.
((("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "-"))
If Fiona is furry then Fiona is red.
((("Fiona" "is" "furry" "+")) -> ("Fiona" "is" "red" "+"))
Fiona is smart.
True
1
proof
[(triple9)]
("Fiona" "is" "smart" "+")
triple9
Charlie is not smart.
False
1
inv-proof
[(triple4)]
("Charlie" "is" "smart" "-")
triple4
Charlie is red.
True
2
proof
[(((triple2) -> rule2) OR ((triple1 triple4) -> rule1))]
("Charlie" "is" "red" "+")
((triple2) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple1 triple4) -> (rule1 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is not red.
False
2
inv-proof
[(((triple2) -> rule2) OR ((triple1 triple4) -> rule1))]
("Charlie" "is" "red" "-")
((triple2) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple1 triple4) -> (rule1 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Fiona is not red.
Unknown
inv-rconc
[@1: Fiona is red.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "red" "-")
Dave is furry.
Unknown
rconc
[@1: Dave is furry.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Dave" "is" "furry" "+")
Charlie is not big.
Unknown
inv-random
[@0: Charlie is big.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "big" "-")
Harry is big.
Unknown
random
[@0: Harry is big.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "big" "+")
@0: Charlie is blue.[(triple1)] Charlie is furry.[(triple2)] Charlie is not kind.[(triple3 OR ((triple1) -> rule5))] Charlie is smart.[(triple4)] Dave is not rough.[(triple5)] Fiona is kind.[(triple8)] Fiona is not big.[(triple6)] Fiona is not furry.[(triple7)] Fiona is smart.[(triple9)] Harry is furry.[(triple10)] Harry is not kind.[(triple11)] Harry is red.[(triple12 OR ((triple10) -> rule2))] @1: Charlie is red.[(((triple2) -> rule2) OR ((triple1 triple4) -> rule1))]
Charlie is blue.
("Charlie" "is" "blue" "+")
triple1
Charlie is furry.
("Charlie" "is" "furry" "+")
triple2
Charlie is not kind.
("Charlie" "is" "kind" "-")
triple3
((triple1) -> (rule5 % int1))
Charlie is not kind.
("Charlie" "is" "kind" "-")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
triple4
Dave is not rough.
("Dave" "is" "rough" "-")
triple5
Fiona is kind.
("Fiona" "is" "kind" "+")
triple8
Fiona is not big.
("Fiona" "is" "big" "-")
triple6
Fiona is not furry.
("Fiona" "is" "furry" "-")
triple7
Fiona is smart.
("Fiona" "is" "smart" "+")
triple9
Harry is furry.
("Harry" "is" "furry" "+")
triple10
Harry is not kind.
("Harry" "is" "kind" "-")
triple11
Harry is red.
("Harry" "is" "red" "+")
triple12
((triple10) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
((triple2) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple1 triple4) -> (rule1 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1