Anne is blue. Charlie is kind. Fiona is round. Blue things are not furry. If something is blue and not furry then it is kind. All kind things are cold. All furry, cold things are red. Furry, blue things are red. If something is red then it is not big. All furry things are round. If something is blue and not kind then it is round.
Anne is blue.
("Anne" "is" "blue" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Blue things are not furry.
((("something" "is" "blue" "+")) -> ("something" "is" "furry" "-"))
If something is blue and not furry then it is kind.
((("something" "is" "blue" "+") ("something" "is" "furry" "~")) -> ("something" "is" "kind" "+"))
All kind things are cold.
((("something" "is" "kind" "+")) -> ("something" "is" "cold" "+"))
All furry, cold things are red.
((("something" "is" "furry" "+") ("something" "is" "cold" "+")) -> ("something" "is" "red" "+"))
Furry, blue things are red.
((("something" "is" "furry" "+") ("something" "is" "blue" "+")) -> ("something" "is" "red" "+"))
If something is red then it is not big.
((("something" "is" "red" "+")) -> ("something" "is" "big" "-"))
All furry things are round.
((("something" "is" "furry" "+")) -> ("something" "is" "round" "+"))
If something is blue and not kind then it is round.
((("something" "is" "blue" "+") ("something" "is" "kind" "~")) -> ("something" "is" "round" "+"))
Fiona is round.
True
1
proof
[(triple3)]
("Fiona" "is" "round" "+")
triple3
Charlie is not kind.
False
1
inv-proof
[(triple2)]
("Charlie" "is" "kind" "-")
triple2
Charlie is cold.
True
2
proof
[(((triple2) -> rule3))]
("Charlie" "is" "cold" "+")
((triple2) -> (rule3 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is not cold.
False
2
inv-proof
[(((triple2) -> rule3))]
("Charlie" "is" "cold" "-")
((triple2) -> (rule3 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Anne is kind.
True
4
proof
[(((triple1 ((triple1) -> rule1)) -> rule2))]
("Anne" "is" "kind" "+")
((triple1 ((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is not furry.
("Anne" "is" "furry" "-")
int2
Anne is not kind.
False
4
inv-proof
[(((triple1 ((triple1) -> rule1)) -> rule2))]
("Anne" "is" "kind" "-")
((triple1 ((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is not furry.
("Anne" "is" "furry" "-")
int2
Anne is cold.
True
5
proof
[(((((triple1 ((triple1) -> rule1)) -> rule2)) -> rule3))]
("Anne" "is" "cold" "+")
((((triple1 ((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is not furry.
("Anne" "is" "furry" "-")
int3
Anne is not cold.
False
5
inv-proof
[(((((triple1 ((triple1) -> rule1)) -> rule2)) -> rule3))]
("Anne" "is" "cold" "-")
((((triple1 ((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is not furry.
("Anne" "is" "furry" "-")
int3
Anne is not round.
Unknown
inv-rconc
[@1: Anne is round.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Anne" "is" "round" "-")
Fiona is red.
Unknown
rconc
[@1: Fiona is red.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fiona" "is" "red" "+")
Charlie is not round.
Unknown
inv-rconc
[@1: Charlie is round.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Charlie" "is" "round" "-")
Charlie is red.
Unknown
rconc
[@1: Charlie is red.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Charlie" "is" "red" "+")
Charlie is not blue.
Unknown
inv-random
[@0: Charlie is blue.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "blue" "-")
Charlie is furry.
Unknown
random
[@0: Charlie is furry.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "furry" "+")
Fiona is not blue.
Unknown
inv-random
[@0: Fiona is blue.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "blue" "-")
Anne is big.
Unknown
random
[@0: Anne is big.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "big" "+")
@0: Anne is blue.[(triple1)] Charlie is kind.[(triple2)] Fiona is round.[(triple3)] @1: Anne is not furry.[(((triple1) -> rule1))] Charlie is cold.[(((triple2) -> rule3))] @2: Anne is kind.[(((triple1 ((triple1) -> rule1)) -> rule2))] @3: Anne is cold.[(((((triple1 ((triple1) -> rule1)) -> rule2)) -> rule3))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Charlie is kind.
("Charlie" "is" "kind" "+")
triple2
Fiona is round.
("Fiona" "is" "round" "+")
triple3
Anne is not furry.
("Anne" "is" "furry" "-")
((triple1) -> (rule1 % int1))
Anne is not furry.
("Anne" "is" "furry" "-")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple2) -> (rule3 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
((triple1 ((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is not furry.
("Anne" "is" "furry" "-")
int2
Anne is cold.
("Anne" "is" "cold" "+")
((((triple1 ((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is not furry.
("Anne" "is" "furry" "-")
int3