Fiona is red. Gary is blue. Harry is not big. If someone is furry and not blue then they are round. If someone is blue then they are big. If someone is big then they are furry. If Gary is round and Gary is furry then Gary is white. If someone is furry and not blue then they are white. If someone is round then they are white. All furry people are red. White people are red.
Fiona is red.
("Fiona" "is" "red" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Harry is not big.
("Harry" "is" "big" "-")
If someone is furry and not blue then they are round.
((("someone" "is" "furry" "+") ("someone" "is" "blue" "~")) -> ("someone" "is" "round" "+"))
If someone is blue then they are big.
((("someone" "is" "blue" "+")) -> ("someone" "is" "big" "+"))
If someone is big then they are furry.
((("someone" "is" "big" "+")) -> ("someone" "is" "furry" "+"))
If Gary is round and Gary is furry then Gary is white.
((("Gary" "is" "round" "+") ("Gary" "is" "furry" "+")) -> ("Gary" "is" "white" "+"))
If someone is furry and not blue then they are white.
((("someone" "is" "furry" "+") ("someone" "is" "blue" "~")) -> ("someone" "is" "white" "+"))
If someone is round then they are white.
((("someone" "is" "round" "+")) -> ("someone" "is" "white" "+"))
All furry people are red.
((("someone" "is" "furry" "+")) -> ("someone" "is" "red" "+"))
White people are red.
((("someone" "is" "white" "+")) -> ("someone" "is" "red" "+"))
Gary is blue.
True
1
proof
[(triple2)]
("Gary" "is" "blue" "+")
triple2
Gary is not blue.
False
1
inv-proof
[(triple2)]
("Gary" "is" "blue" "-")
triple2
Gary is big.
True
2
proof
[(((triple2) -> rule2))]
("Gary" "is" "big" "+")
((triple2) -> (rule2 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is not big.
False
2
inv-proof
[(((triple2) -> rule2))]
("Gary" "is" "big" "-")
((triple2) -> (rule2 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is furry.
True
3
proof
[(((((triple2) -> rule2)) -> rule3))]
("Gary" "is" "furry" "+")
((((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is not furry.
False
3
inv-proof
[(((((triple2) -> rule2)) -> rule3))]
("Gary" "is" "furry" "-")
((((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is red.
True
4
proof
[(((((((triple2) -> rule2)) -> rule3)) -> rule7))]
("Gary" "is" "red" "+")
((((((triple2) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is not red.
False
4
inv-proof
[(((((((triple2) -> rule2)) -> rule3)) -> rule7))]
("Gary" "is" "red" "-")
((((((triple2) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Harry is not round.
Unknown
inv-rconc
[@1: Harry is round.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Harry" "is" "round" "-")
Harry is red.
Unknown
rconc
[@3: Harry is red.[CWA. Example of deepest failure = (rule8 <- rule6 <- rule1 <- FAIL)]]
("Harry" "is" "red" "+")
Fiona is not big.
Unknown
inv-rconc
[@1: Fiona is big.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Fiona" "is" "big" "-")
Harry is furry.
Unknown
rconc
[@1: Harry is furry.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Harry" "is" "furry" "+")
Fiona is not blue.
Unknown
inv-random
[@0: Fiona is blue.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "blue" "-")
Harry is rough.
Unknown
random
[@0: Harry is rough.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "rough" "+")
Gary is not rough.
Unknown
inv-random
[@0: Gary is rough.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "rough" "-")
Harry is blue.
Unknown
random
[@0: Harry is blue.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "blue" "+")
@0: Fiona is red.[(triple1)] Gary is blue.[(triple2)] Harry is not big.[(triple3)] @1: Gary is big.[(((triple2) -> rule2))] @2: Gary is furry.[(((((triple2) -> rule2)) -> rule3))] @3: Gary is red.[(((((((triple2) -> rule2)) -> rule3)) -> rule7))]
Fiona is red.
("Fiona" "is" "red" "+")
triple1
Gary is blue.
("Gary" "is" "blue" "+")
triple2
Harry is not big.
("Harry" "is" "big" "-")
triple3
Gary is big.
("Gary" "is" "big" "+")
((triple2) -> (rule2 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
((((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
((((((triple2) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3