Bob is red. Fiona is green. If Fiona is furry then Fiona is blue. If someone is green then they are rough. If Fiona is green and Fiona is furry then Fiona is blue. If someone is red and young then they are cold. All cold people are young. Red people are green. If Bob is furry then Bob is cold. Cold, furry people are rough.
Bob is red.
("Bob" "is" "red" "+")
Fiona is green.
("Fiona" "is" "green" "+")
If Fiona is furry then Fiona is blue.
((("Fiona" "is" "furry" "+")) -> ("Fiona" "is" "blue" "+"))
If someone is green then they are rough.
((("someone" "is" "green" "+")) -> ("someone" "is" "rough" "+"))
If Fiona is green and Fiona is furry then Fiona is blue.
((("Fiona" "is" "green" "+") ("Fiona" "is" "furry" "+")) -> ("Fiona" "is" "blue" "+"))
If someone is red and young then they are cold.
((("someone" "is" "red" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "cold" "+"))
All cold people are young.
((("someone" "is" "cold" "+")) -> ("someone" "is" "young" "+"))
Red people are green.
((("someone" "is" "red" "+")) -> ("someone" "is" "green" "+"))
If Bob is furry then Bob is cold.
((("Bob" "is" "furry" "+")) -> ("Bob" "is" "cold" "+"))
Cold, furry people are rough.
((("someone" "is" "cold" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "rough" "+"))
Fiona is green.
True
1
proof
[(triple2)]
("Fiona" "is" "green" "+")
triple2
Fiona is not green.
False
1
inv-proof
[(triple2)]
("Fiona" "is" "green" "-")
triple2
Bob is green.
True
2
proof
[(((triple1) -> rule6))]
("Bob" "is" "green" "+")
((triple1) -> (rule6 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Fiona is not rough.
False
2
inv-proof
[(((triple2) -> rule2))]
("Fiona" "is" "rough" "-")
((triple2) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Bob is rough.
True
3
proof
[(((((triple1) -> rule6)) -> rule2))]
("Bob" "is" "rough" "+")
((((triple1) -> (rule6 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is not rough.
False
3
inv-proof
[(((((triple1) -> rule6)) -> rule2))]
("Bob" "is" "rough" "-")
((((triple1) -> (rule6 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Fiona is not young.
Unknown
inv-rconc
[@2: Fiona is young.[CWA. Example of deepest failure = (rule5 <- rule4 <- FAIL)]]
("Fiona" "is" "young" "-")
Bob is cold.
Unknown
rconc
[@3: Bob is cold.[CWA. Example of deepest failure = (rule4 <- rule5 <- rule7 <- FAIL)]]
("Bob" "is" "cold" "+")
Fiona is not cold.
Unknown
inv-rconc
[@1: Fiona is cold.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fiona" "is" "cold" "-")
Bob is furry.
Unknown
random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "+")
Fiona is not furry.
Unknown
inv-random
[@0: Fiona is furry.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "furry" "-")
Fiona is red.
Unknown
random
[@0: Fiona is red.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "red" "+")
@0: Bob is red.[(triple1)] Fiona is green.[(triple2)] @1: Bob is green.[(((triple1) -> rule6))] Fiona is rough.[(((triple2) -> rule2))] @2: Bob is rough.[(((((triple1) -> rule6)) -> rule2))]
Bob is red.
("Bob" "is" "red" "+")
triple1
Fiona is green.
("Fiona" "is" "green" "+")
triple2
Bob is green.
("Bob" "is" "green" "+")
((triple1) -> (rule6 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple2) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
((((triple1) -> (rule6 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2