Charlie is red. Fiona is blue. Fiona is nice. Gary is furry. Gary is quiet. Gary is red. Gary is smart. If someone is furry and not young then they are smart. If someone is blue then they are furry. Nice, furry people are red.
Charlie is red.
("Charlie" "is" "red" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is smart.
("Gary" "is" "smart" "+")
If someone is furry and not young then they are smart.
((("someone" "is" "furry" "+") ("someone" "is" "young" "~")) -> ("someone" "is" "smart" "+"))
If someone is blue then they are furry.
((("someone" "is" "blue" "+")) -> ("someone" "is" "furry" "+"))
Nice, furry people are red.
((("someone" "is" "nice" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "red" "+"))
Gary is furry.
True
1
proof
[(triple4)]
("Gary" "is" "furry" "+")
triple4
Fiona is not nice.
False
1
inv-proof
[(triple3)]
("Fiona" "is" "nice" "-")
triple3
Fiona is furry.
True
2
proof
[(((triple2) -> rule2))]
("Fiona" "is" "furry" "+")
((triple2) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is not furry.
False
2
inv-proof
[(((triple2) -> rule2))]
("Fiona" "is" "furry" "-")
((triple2) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is red.
True
4
proof
[(((triple3 ((triple2) -> rule2)) -> rule3))]
("Fiona" "is" "red" "+")
((triple3 ((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is not red.
False
4
inv-proof
[(((triple3 ((triple2) -> rule2)) -> rule3))]
("Fiona" "is" "red" "-")
((triple3 ((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is not smart.
Unknown
inv-rconc
[@1: Fiona is smart.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "smart" "-")
Charlie is smart.
Unknown
rconc
[@1: Charlie is smart.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Charlie" "is" "smart" "+")
Charlie is not furry.
Unknown
inv-rconc
[@1: Charlie is furry.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Charlie" "is" "furry" "-")
Gary is blue.
Unknown
random
[@0: Gary is blue.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "blue" "+")
Charlie is not quiet.
Unknown
inv-random
[@0: Charlie is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "quiet" "-")
Fiona is quiet.
Unknown
random
[@0: Fiona is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "quiet" "+")
@0: Charlie is red.[(triple1)] Fiona is blue.[(triple2)] Fiona is nice.[(triple3)] Gary is furry.[(triple4)] Gary is quiet.[(triple5)] Gary is red.[(triple6)] Gary is smart.[(triple7)] @1: Fiona is furry.[(((triple2) -> rule2))] @2: Fiona is red.[(((triple3 ((triple2) -> rule2)) -> rule3))]
Charlie is red.
("Charlie" "is" "red" "+")
triple1
Fiona is blue.
("Fiona" "is" "blue" "+")
triple2
Fiona is nice.
("Fiona" "is" "nice" "+")
triple3
Gary is furry.
("Gary" "is" "furry" "+")
triple4
Gary is quiet.
("Gary" "is" "quiet" "+")
triple5
Gary is red.
("Gary" "is" "red" "+")
triple6
Gary is smart.
("Gary" "is" "smart" "+")
triple7
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple2) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((triple3 ((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2