Dave is red. Erin is smart. Fiona is blue. If someone is smart and furry then they are round. All round people are rough. Blue people are smart. If someone is big then they are furry. All rough, round people are big. All red, furry people are rough.
Dave is red.
("Dave" "is" "red" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
If someone is smart and furry then they are round.
((("someone" "is" "smart" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "round" "+"))
All round people are rough.
((("someone" "is" "round" "+")) -> ("someone" "is" "rough" "+"))
Blue people are smart.
((("someone" "is" "blue" "+")) -> ("someone" "is" "smart" "+"))
If someone is big then they are furry.
((("someone" "is" "big" "+")) -> ("someone" "is" "furry" "+"))
All rough, round people are big.
((("someone" "is" "rough" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "big" "+"))
All red, furry people are rough.
((("someone" "is" "red" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "rough" "+"))
Fiona is blue.
True
1
proof
[(triple3)]
("Fiona" "is" "blue" "+")
triple3
Dave is not red.
False
1
inv-proof
[(triple1)]
("Dave" "is" "red" "-")
triple1
Fiona is smart.
True
2
proof
[(((triple3) -> rule3))]
("Fiona" "is" "smart" "+")
((triple3) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is not smart.
False
2
inv-proof
[(((triple3) -> rule3))]
("Fiona" "is" "smart" "-")
((triple3) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Erin is not rough.
Unknown
inv-rconc
[@4: Erin is rough.[CWA. Example of deepest failure = (rule2 <- rule1 <- rule4 <- rule5 <- FAIL)]]
("Erin" "is" "rough" "-")
Fiona is rough.
Unknown
rconc
[@4: Fiona is rough.[CWA. Example of deepest failure = (rule2 <- rule1 <- rule4 <- rule5 <- FAIL)]]
("Fiona" "is" "rough" "+")
Fiona is not red.
Unknown
inv-random
[@0: Fiona is red.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "red" "-")
Erin is blue.
Unknown
random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "+")
@0: Dave is red.[(triple1)] Erin is smart.[(triple2)] Fiona is blue.[(triple3)] @1: Fiona is smart.[(((triple3) -> rule3))]
Dave is red.
("Dave" "is" "red" "+")
triple1
Erin is smart.
("Erin" "is" "smart" "+")
triple2
Fiona is blue.
("Fiona" "is" "blue" "+")
triple3
Fiona is smart.
("Fiona" "is" "smart" "+")
((triple3) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1