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