Anne is blue. Anne is not rough. Anne is young. Bob is cold. Bob is furry. Bob is round. Charlie is blue. Charlie is cold. Charlie is young. Fiona is not blue. Fiona is cold. Fiona is furry. Fiona is red. Fiona is rough. Fiona is round. Fiona is young. Furry things are red. If Anne is blue then Anne is young. Cold things are round. Furry, cold things are round. All round, blue things are rough. If Charlie is rough then Charlie is blue. If Charlie is not furry and Charlie is not round then Charlie is blue. If something is furry and not blue then it is young.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is not rough.
("Anne" "is" "rough" "-")
Anne is young.
("Anne" "is" "young" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is round.
("Bob" "is" "round" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Fiona is not blue.
("Fiona" "is" "blue" "-")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Furry things are red.
((("something" "is" "furry" "+")) -> ("something" "is" "red" "+"))
If Anne is blue then Anne is young.
((("Anne" "is" "blue" "+")) -> ("Anne" "is" "young" "+"))
Cold things are round.
((("something" "is" "cold" "+")) -> ("something" "is" "round" "+"))
Furry, cold things are round.
((("something" "is" "furry" "+") ("something" "is" "cold" "+")) -> ("something" "is" "round" "+"))
All round, blue things are rough.
((("something" "is" "round" "+") ("something" "is" "blue" "+")) -> ("something" "is" "rough" "+"))
If Charlie is rough then Charlie is blue.
((("Charlie" "is" "rough" "+")) -> ("Charlie" "is" "blue" "+"))
If Charlie is not furry and Charlie is not round then Charlie is blue.
((("Charlie" "is" "furry" "~") ("Charlie" "is" "round" "~")) -> ("Charlie" "is" "blue" "+"))
If something is furry and not blue then it is young.
((("something" "is" "furry" "+") ("something" "is" "blue" "~")) -> ("something" "is" "young" "+"))
Fiona is round.
True
1
proof
[(triple15 OR ((triple11) -> rule3) OR ((triple12 triple11) -> rule4))]
("Fiona" "is" "round" "+")
triple15
((triple11) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple12 triple11) -> (rule4 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Bob is not furry.
False
1
inv-proof
[(triple5)]
("Bob" "is" "furry" "-")
triple5
Charlie is round.
True
2
proof
[(((triple8) -> rule3))]
("Charlie" "is" "round" "+")
((triple8) -> (rule3 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Bob is not red.
False
2
inv-proof
[(((triple5) -> rule1))]
("Bob" "is" "red" "-")
((triple5) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Charlie is rough.
True
4
proof
[(((((triple8) -> rule3) triple7) -> rule5))]
("Charlie" "is" "rough" "+")
((((triple8) -> (rule3 % int2)) triple7) -> (rule5 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is not rough.
False
4
inv-proof
[(((((triple8) -> rule3) triple7) -> rule5))]
("Charlie" "is" "rough" "-")
((((triple8) -> (rule3 % int2)) triple7) -> (rule5 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Bob is not young.
Unknown
inv-rconc
[@1: Bob is young.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Bob" "is" "young" "-")
Anne is red.
Unknown
rconc
[@1: Anne is red.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Anne" "is" "red" "+")
Anne is not round.
Unknown
inv-rconc
[@1: Anne is round.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Anne" "is" "round" "-")
Charlie is furry.
Unknown
random
[@0: Charlie is furry.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "furry" "+")
Anne is not cold.
Unknown
inv-random
[@0: Anne is cold.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "cold" "-")
Bob is blue.
Unknown
random
[@0: Bob is blue.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "blue" "+")
@0: Anne is blue.[(triple1)] Anne is not rough.[(triple2)] Anne is young.[(triple3 OR ((triple1) -> rule2))] Bob is cold.[(triple4)] Bob is furry.[(triple5)] Bob is round.[(triple6 OR ((triple4) -> rule3) OR ((triple5 triple4) -> rule4))] Charlie is blue.[(triple7)] Charlie is cold.[(triple8)] Charlie is young.[(triple9)] Fiona is cold.[(triple11)] Fiona is furry.[(triple12)] Fiona is not blue.[(triple10)] Fiona is red.[(triple13 OR ((triple12) -> rule1))] Fiona is rough.[(triple14)] Fiona is round.[(triple15 OR ((triple11) -> rule3) OR ((triple12 triple11) -> rule4))] Fiona is young.[(triple16 OR ((triple12 triple10) -> rule8))] @1: Bob is red.[(((triple5) -> rule1))] Charlie is round.[(((triple8) -> rule3))] @2: Charlie is rough.[(((((triple8) -> rule3) triple7) -> rule5))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is not rough.
("Anne" "is" "rough" "-")
triple2
Anne is young.
("Anne" "is" "young" "+")
triple3
((triple1) -> (rule2 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
triple4
Bob is furry.
("Bob" "is" "furry" "+")
triple5
Bob is round.
("Bob" "is" "round" "+")
triple6
((triple4) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple5 triple4) -> (rule4 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple7
Charlie is cold.
("Charlie" "is" "cold" "+")
triple8
Charlie is young.
("Charlie" "is" "young" "+")
triple9
Fiona is cold.
("Fiona" "is" "cold" "+")
triple11
Fiona is furry.
("Fiona" "is" "furry" "+")
triple12
Fiona is not blue.
("Fiona" "is" "blue" "-")
triple10
Fiona is red.
("Fiona" "is" "red" "+")
triple13
((triple12) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
triple14
Fiona is round.
("Fiona" "is" "round" "+")
triple15
((triple11) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple12 triple11) -> (rule4 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
triple16
((triple12 triple10) -> (rule8 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
((triple5) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
((triple8) -> (rule3 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
((((triple8) -> (rule3 % int2)) triple7) -> (rule5 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2