Anne is cold. Charlie is furry. Fiona is furry. If something is furry then it is big. All white things are big. Rough things are not white. If something is rough and cold then it is red. If something is furry then it is not red. All big things are cold. If something is big and white then it is round. If something is rough and not cold then it is not round.
Anne is cold.
("Anne" "is" "cold" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
If something is furry then it is big.
((("something" "is" "furry" "+")) -> ("something" "is" "big" "+"))
All white things are big.
((("something" "is" "white" "+")) -> ("something" "is" "big" "+"))
Rough things are not white.
((("something" "is" "rough" "+")) -> ("something" "is" "white" "-"))
If something is rough and cold then it is red.
((("something" "is" "rough" "+") ("something" "is" "cold" "+")) -> ("something" "is" "red" "+"))
If something is furry then it is not red.
((("something" "is" "furry" "+")) -> ("something" "is" "red" "-"))
All big things are cold.
((("something" "is" "big" "+")) -> ("something" "is" "cold" "+"))
If something is big and white then it is round.
((("something" "is" "big" "+") ("something" "is" "white" "+")) -> ("something" "is" "round" "+"))
If something is rough and not cold then it is not round.
((("something" "is" "rough" "+") ("something" "is" "cold" "~")) -> ("something" "is" "round" "-"))
Charlie is furry.
True
1
proof
[(triple2)]
("Charlie" "is" "furry" "+")
triple2
Charlie is not furry.
False
1
inv-proof
[(triple2)]
("Charlie" "is" "furry" "-")
triple2
Charlie is big.
True
2
proof
[(((triple2) -> rule1))]
("Charlie" "is" "big" "+")
((triple2) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Fiona is red.
False
2
inv-proof
[(((triple3) -> rule5))]
("Fiona" "is" "red" "+")
((triple3) -> (rule5 % int1))
Fiona is not red.
("Fiona" "is" "red" "-")
int1
Charlie is cold.
True
3
proof
[(((((triple2) -> rule1)) -> rule6))]
("Charlie" "is" "cold" "+")
((((triple2) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Fiona is not cold.
False
3
inv-proof
[(((((triple3) -> rule1)) -> rule6))]
("Fiona" "is" "cold" "-")
((((triple3) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Anne is not red.
Unknown
inv-rconc
[@1: Anne is red.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Anne" "is" "red" "-")
Anne is round.
Unknown
rconc
[@1: Anne is round.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Anne" "is" "round" "+")
Charlie is not round.
Unknown
inv-rconc
[@1: Charlie is round.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Charlie" "is" "round" "-")
Charlie is white.
Unknown
random
[@0: Charlie is white.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "white" "+")
Anne is not white.
Unknown
inv-random
[@0: Anne is white.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "white" "-")
Fiona is white.
Unknown
random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "+")
@0: Anne is cold.[(triple1)] Charlie is furry.[(triple2)] Fiona is furry.[(triple3)] @1: Charlie is big.[(((triple2) -> rule1))] Charlie is not red.[(((triple2) -> rule5))] Fiona is big.[(((triple3) -> rule1))] Fiona is not red.[(((triple3) -> rule5))] @2: Charlie is cold.[(((((triple2) -> rule1)) -> rule6))] Fiona is cold.[(((((triple3) -> rule1)) -> rule6))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
Charlie is furry.
("Charlie" "is" "furry" "+")
triple2
Fiona is furry.
("Fiona" "is" "furry" "+")
triple3
Charlie is big.
("Charlie" "is" "big" "+")
((triple2) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is not red.
("Charlie" "is" "red" "-")
((triple2) -> (rule5 % int1))
Charlie is not red.
("Charlie" "is" "red" "-")
int1
Fiona is big.
("Fiona" "is" "big" "+")
((triple3) -> (rule1 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is not red.
("Fiona" "is" "red" "-")
((triple3) -> (rule5 % int1))
Fiona is not red.
("Fiona" "is" "red" "-")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
((((triple2) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
((((triple3) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2