Dave is blue. Dave is furry. Dave is nice. Dave is red. Erin is big. Erin is furry. Fiona is round. Gary is not blue. Gary is furry. Gary is nice. If Fiona is red then Fiona is furry. If Dave is red then Dave is blue. If Dave is not furry then Dave is not blue. If someone is furry and nice then they are red. If someone is blue and not red then they are young. Round people are big. All furry, blue people are big. If Fiona is not young and Fiona is not furry then Fiona is not round.
Dave is blue.
("Dave" "is" "blue" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is red.
("Dave" "is" "red" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Gary is not blue.
("Gary" "is" "blue" "-")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is nice.
("Gary" "is" "nice" "+")
If Fiona is red then Fiona is furry.
((("Fiona" "is" "red" "+")) -> ("Fiona" "is" "furry" "+"))
If Dave is red then Dave is blue.
((("Dave" "is" "red" "+")) -> ("Dave" "is" "blue" "+"))
If Dave is not furry then Dave is not blue.
((("Dave" "is" "furry" "~")) -> ("Dave" "is" "blue" "-"))
If someone is furry and nice then they are red.
((("someone" "is" "furry" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "red" "+"))
If someone is blue and not red then they are young.
((("someone" "is" "blue" "+") ("someone" "is" "red" "~")) -> ("someone" "is" "young" "+"))
Round people are big.
((("someone" "is" "round" "+")) -> ("someone" "is" "big" "+"))
All furry, blue people are big.
((("someone" "is" "furry" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "big" "+"))
If Fiona is not young and Fiona is not furry then Fiona is not round.
((("Fiona" "is" "young" "~") ("Fiona" "is" "furry" "~")) -> ("Fiona" "is" "round" "-"))
Dave is furry.
True
1
proof
[(triple2)]
("Dave" "is" "furry" "+")
triple2
Dave is not blue.
False
1
inv-proof
[(triple1 OR ((triple4) -> rule2) OR ((((triple2 triple3) -> rule4)) -> rule2))]
("Dave" "is" "blue" "-")
triple1
((triple4) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((((triple2 triple3) -> (rule4 % int2))) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Fiona is not young.
Unknown
inv-rconc
[@1: Fiona is young.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Fiona" "is" "young" "-")
Fiona is nice.
Unknown
random
[@0: Fiona is nice.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "nice" "+")
@0: Dave is blue.[(triple1 OR ((triple4) -> rule2) OR ((((triple2 triple3) -> rule4)) -> rule2))] Dave is furry.[(triple2)] Dave is nice.[(triple3)] Dave is red.[(triple4 OR ((triple2 triple3) -> rule4))] Erin is big.[(triple5)] Erin is furry.[(triple6)] Fiona is round.[(triple7)] Gary is furry.[(triple9)] Gary is nice.[(triple10)] Gary is not blue.[(triple8)] @1: Dave is big.[(((triple2 triple1) -> rule7) OR ((triple2 ((triple4) -> rule2)) -> rule7) OR ((triple2 ((((triple2 triple3) -> rule4)) -> rule2)) -> rule7))] Fiona is big.[(((triple7) -> rule6))] Gary is red.[(((triple9 triple10) -> rule4))]
Dave is blue.
("Dave" "is" "blue" "+")
triple1
((triple4) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((((triple2 triple3) -> (rule4 % int2))) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
triple2
Dave is nice.
("Dave" "is" "nice" "+")
triple3
Dave is red.
("Dave" "is" "red" "+")
triple4
((triple2 triple3) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
triple5
Erin is furry.
("Erin" "is" "furry" "+")
triple6
Fiona is round.
("Fiona" "is" "round" "+")
triple7
Gary is furry.
("Gary" "is" "furry" "+")
triple9
Gary is nice.
("Gary" "is" "nice" "+")
triple10
Gary is not blue.
("Gary" "is" "blue" "-")
triple8
Dave is big.
("Dave" "is" "big" "+")
((triple2 triple1) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
((triple2 ((triple4) -> (rule2 % int2))) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((triple2 ((((triple2 triple3) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Fiona is big.
("Fiona" "is" "big" "+")
((triple7) -> (rule6 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
((triple9 triple10) -> (rule4 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1