Erin is cold. Fiona is cold. Gary is kind. If Erin is round then Erin is young. If something is red and cold then it is furry. Red, young things are white. White things are furry. If something is cold then it is white. If Gary is furry and Gary is kind then Gary is round. Kind things are young. If Erin is kind then Erin is round.
Erin is cold.
("Erin" "is" "cold" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Gary is kind.
("Gary" "is" "kind" "+")
If Erin is round then Erin is young.
((("Erin" "is" "round" "+")) -> ("Erin" "is" "young" "+"))
If something is red and cold then it is furry.
((("something" "is" "red" "+") ("something" "is" "cold" "+")) -> ("something" "is" "furry" "+"))
Red, young things are white.
((("something" "is" "red" "+") ("something" "is" "young" "+")) -> ("something" "is" "white" "+"))
White things are furry.
((("something" "is" "white" "+")) -> ("something" "is" "furry" "+"))
If something is cold then it is white.
((("something" "is" "cold" "+")) -> ("something" "is" "white" "+"))
If Gary is furry and Gary is kind then Gary is round.
((("Gary" "is" "furry" "+") ("Gary" "is" "kind" "+")) -> ("Gary" "is" "round" "+"))
Kind things are young.
((("something" "is" "kind" "+")) -> ("something" "is" "young" "+"))
If Erin is kind then Erin is round.
((("Erin" "is" "kind" "+")) -> ("Erin" "is" "round" "+"))
Erin is cold.
True
1
proof
[(triple1)]
("Erin" "is" "cold" "+")
triple1
Fiona is not cold.
False
1
inv-proof
[(triple2)]
("Fiona" "is" "cold" "-")
triple2
Gary is young.
True
2
proof
[(((triple3) -> rule7))]
("Gary" "is" "young" "+")
((triple3) -> (rule7 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Fiona is not white.
False
2
inv-proof
[(((triple2) -> rule5))]
("Fiona" "is" "white" "-")
((triple2) -> (rule5 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is furry.
True
3
proof
[(((((triple2) -> rule5)) -> rule4))]
("Fiona" "is" "furry" "+")
((((triple2) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is not furry.
False
3
inv-proof
[(((((triple2) -> rule5)) -> rule4))]
("Fiona" "is" "furry" "-")
((((triple2) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Gary is not furry.
Unknown
inv-rconc
[@2: Gary is furry.[CWA. Example of deepest failure = (rule4 <- rule3 <- FAIL)]]
("Gary" "is" "furry" "-")
Gary is round.
Unknown
rconc
[@3: Gary is round.[CWA. Example of deepest failure = (rule6 <- rule4 <- rule3 <- FAIL)]]
("Gary" "is" "round" "+")
Erin is not round.
Unknown
inv-rconc
[@1: Erin is round.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Erin" "is" "round" "-")
Fiona is round.
Unknown
random
[@0: Fiona is round.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "round" "+")
Fiona is not red.
Unknown
inv-random
[@0: Fiona is red.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "red" "-")
Erin is kind.
Unknown
random
[@0: Erin is kind.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "kind" "+")
@0: Erin is cold.[(triple1)] Fiona is cold.[(triple2)] Gary is kind.[(triple3)] @1: Erin is white.[(((triple1) -> rule5))] Fiona is white.[(((triple2) -> rule5))] Gary is young.[(((triple3) -> rule7))] @2: Erin is furry.[(((((triple1) -> rule5)) -> rule4))] Fiona is furry.[(((((triple2) -> rule5)) -> rule4))]
Erin is cold.
("Erin" "is" "cold" "+")
triple1
Fiona is cold.
("Fiona" "is" "cold" "+")
triple2
Gary is kind.
("Gary" "is" "kind" "+")
triple3
Erin is white.
("Erin" "is" "white" "+")
((triple1) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
((triple2) -> (rule5 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
((triple3) -> (rule7 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
((((triple1) -> (rule5 % int2))) -> (rule4 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
((((triple2) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2