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