Bob is cold. Bob is furry. Bob is round. Bob is smart. Fiona is green. Fiona is kind. Fiona is smart. If Bob is quiet then Bob is kind. All furry people are quiet. If someone is kind and cold then they are round. If someone is smart and green then they are kind. If someone is green and round then they are furry. Furry, green people are quiet.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
If Bob is quiet then Bob is kind.
((("Bob" "is" "quiet" "+")) -> ("Bob" "is" "kind" "+"))
All furry people are quiet.
((("someone" "is" "furry" "+")) -> ("someone" "is" "quiet" "+"))
If someone is kind and cold then they are round.
((("someone" "is" "kind" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "round" "+"))
If someone is smart and green then they are kind.
((("someone" "is" "smart" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "kind" "+"))
If someone is green and round then they are furry.
((("someone" "is" "green" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "furry" "+"))
Furry, green people are quiet.
((("someone" "is" "furry" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "quiet" "+"))
Bob is round.
True
1
proof
[(triple3 OR ((((((triple2) -> rule2)) -> rule1) triple1) -> rule3))]
("Bob" "is" "round" "+")
triple3
((((((triple2) -> (rule2 % int3))) -> (rule1 % int2)) triple1) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Fiona is not kind.
False
1
inv-proof
[(triple6 OR ((triple7 triple5) -> rule4))]
("Fiona" "is" "kind" "-")
triple6
((triple7 triple5) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Bob is quiet.
True
2
proof
[(((triple2) -> rule2))]
("Bob" "is" "quiet" "+")
((triple2) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is not quiet.
False
2
inv-proof
[(((triple2) -> rule2))]
("Bob" "is" "quiet" "-")
((triple2) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Fiona is not quiet.
Unknown
inv-rconc
[@3: Fiona is quiet.[CWA. Example of deepest failure = (rule2 <- rule5 <- rule3 <- FAIL)]]
("Fiona" "is" "quiet" "-")
Fiona is round.
Unknown
rconc
[@1: Fiona is round.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Fiona" "is" "round" "+")
Fiona is not cold.
Unknown
inv-random
[@0: Fiona is cold.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "cold" "-")
Bob is green.
Unknown
random
[@0: Bob is green.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "green" "+")
@0: Bob is cold.[(triple1)] Bob is furry.[(triple2)] Bob is round.[(triple3 OR ((((((triple2) -> rule2)) -> rule1) triple1) -> rule3))] Bob is smart.[(triple4)] Fiona is green.[(triple5)] Fiona is kind.[(triple6 OR ((triple7 triple5) -> rule4))] Fiona is smart.[(triple7)] @1: Bob is quiet.[(((triple2) -> rule2))] @2: Bob is kind.[(((((triple2) -> rule2)) -> rule1))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
Bob is round.
("Bob" "is" "round" "+")
triple3
((((((triple2) -> (rule2 % int3))) -> (rule1 % int2)) triple1) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
triple4
Fiona is green.
("Fiona" "is" "green" "+")
triple5
Fiona is kind.
("Fiona" "is" "kind" "+")
triple6
((triple7 triple5) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
triple7
Bob is quiet.
("Bob" "is" "quiet" "+")
((triple2) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
((((triple2) -> (rule2 % int2))) -> (rule1 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2