Anne is big. Anne is cold. Dave is big. Dave is not cold. Dave is rough. Dave is round. Fiona is big. Fiona is not cold. Fiona is rough. Fiona is smart. Gary is blue. Gary is rough. If someone is cold then they are furry. Furry, cold people are not rough. If someone is big and not cold then they are not blue.
Anne is big.
("Anne" "is" "big" "+")
Anne is cold.
("Anne" "is" "cold" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is not cold.
("Dave" "is" "cold" "-")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is round.
("Dave" "is" "round" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is not cold.
("Fiona" "is" "cold" "-")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is rough.
("Gary" "is" "rough" "+")
If someone is cold then they are furry.
((("someone" "is" "cold" "+")) -> ("someone" "is" "furry" "+"))
Furry, cold people are not rough.
((("someone" "is" "furry" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "rough" "-"))
If someone is big and not cold then they are not blue.
((("someone" "is" "big" "+") ("someone" "is" "cold" "~")) -> ("someone" "is" "blue" "-"))
Dave is rough.
True
1
proof
[(triple5)]
("Dave" "is" "rough" "+")
triple5
Gary is not rough.
False
1
inv-proof
[(triple12)]
("Gary" "is" "rough" "-")
triple12
Anne is furry.
True
2
proof
[(((triple2) -> rule1))]
("Anne" "is" "furry" "+")
((triple2) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is not furry.
False
2
inv-proof
[(((triple2) -> rule1))]
("Anne" "is" "furry" "-")
((triple2) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is not rough.
True
4
proof
[(((((triple2) -> rule1) triple2) -> rule2))]
("Anne" "is" "rough" "-")
((((triple2) -> (rule1 % int2)) triple2) -> (rule2 % int1))
Anne is not rough.
("Anne" "is" "rough" "-")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is rough.
False
4
inv-proof
[(((((triple2) -> rule1) triple2) -> rule2))]
("Anne" "is" "rough" "+")
((((triple2) -> (rule1 % int2)) triple2) -> (rule2 % int1))
Anne is not rough.
("Anne" "is" "rough" "-")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Fiona is not furry.
Unknown
inv-rconc
[@1: Fiona is furry.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "furry" "-")
Dave is furry.
Unknown
rconc
[@1: Dave is furry.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Dave" "is" "furry" "+")
Gary is not furry.
Unknown
inv-rconc
[@1: Gary is furry.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Gary" "is" "furry" "-")
Gary is round.
Unknown
random
[@0: Gary is round.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "round" "+")
Anne is not round.
Unknown
inv-random
[@0: Anne is round.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "round" "-")
Gary is smart.
Unknown
random
[@0: Gary is smart.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "smart" "+")
@0: Anne is big.[(triple1)] Anne is cold.[(triple2)] Dave is big.[(triple3)] Dave is not cold.[(triple4)] Dave is rough.[(triple5)] Dave is round.[(triple6)] Fiona is big.[(triple7)] Fiona is not cold.[(triple8)] Fiona is rough.[(triple9)] Fiona is smart.[(triple10)] Gary is blue.[(triple11)] Gary is rough.[(triple12)] @1: Anne is furry.[(((triple2) -> rule1))] Dave is not blue.[(((triple3 triple4) -> rule3))] Fiona is not blue.[(((triple7 triple8) -> rule3))] @2: Anne is not rough.[(((((triple2) -> rule1) triple2) -> rule2))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is cold.
("Anne" "is" "cold" "+")
triple2
Dave is big.
("Dave" "is" "big" "+")
triple3
Dave is not cold.
("Dave" "is" "cold" "-")
triple4
Dave is rough.
("Dave" "is" "rough" "+")
triple5
Dave is round.
("Dave" "is" "round" "+")
triple6
Fiona is big.
("Fiona" "is" "big" "+")
triple7
Fiona is not cold.
("Fiona" "is" "cold" "-")
triple8
Fiona is rough.
("Fiona" "is" "rough" "+")
triple9
Fiona is smart.
("Fiona" "is" "smart" "+")
triple10
Gary is blue.
("Gary" "is" "blue" "+")
triple11
Gary is rough.
("Gary" "is" "rough" "+")
triple12
Anne is furry.
("Anne" "is" "furry" "+")
((triple2) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Dave is not blue.
("Dave" "is" "blue" "-")
((triple3 triple4) -> (rule3 % int1))
Dave is not blue.
("Dave" "is" "blue" "-")
int1
Fiona is not blue.
("Fiona" "is" "blue" "-")
((triple7 triple8) -> (rule3 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1
Anne is not rough.
("Anne" "is" "rough" "-")
((((triple2) -> (rule1 % int2)) triple2) -> (rule2 % int1))
Anne is not rough.
("Anne" "is" "rough" "-")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2