Bob is blue. Fiona is rough. Harry is young. Rough people are kind. If Bob is red then Bob is rough. If someone is red and young then they are rough. All smart people are rough. If Fiona is cold then Fiona is blue. If someone is cold then they are kind.
Bob is blue.
("Bob" "is" "blue" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Harry is young.
("Harry" "is" "young" "+")
Rough people are kind.
((("someone" "is" "rough" "+")) -> ("someone" "is" "kind" "+"))
If Bob is red then Bob is rough.
((("Bob" "is" "red" "+")) -> ("Bob" "is" "rough" "+"))
If someone is red and young then they are rough.
((("someone" "is" "red" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "rough" "+"))
All smart people are rough.
((("someone" "is" "smart" "+")) -> ("someone" "is" "rough" "+"))
If Fiona is cold then Fiona is blue.
((("Fiona" "is" "cold" "+")) -> ("Fiona" "is" "blue" "+"))
If someone is cold then they are kind.
((("someone" "is" "cold" "+")) -> ("someone" "is" "kind" "+"))
Bob is blue.
True
1
proof
[(triple1)]
("Bob" "is" "blue" "+")
triple1
Harry is not young.
False
1
inv-proof
[(triple3)]
("Harry" "is" "young" "-")
triple3
Fiona is kind.
True
2
proof
[(((triple2) -> rule1))]
("Fiona" "is" "kind" "+")
((triple2) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is not kind.
False
2
inv-proof
[(((triple2) -> rule1))]
("Fiona" "is" "kind" "-")
((triple2) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Harry is not kind.
Unknown
inv-rconc
[@2: Harry is kind.[CWA. Example of deepest failure = (rule1 <- rule3 <- FAIL)]]
("Harry" "is" "kind" "-")
Fiona is blue.
Unknown
rconc
[@1: Fiona is blue.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Fiona" "is" "blue" "+")
Bob is not red.
Unknown
inv-random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "-")
Fiona is smart.
Unknown
random
[@0: Fiona is smart.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "smart" "+")
@0: Bob is blue.[(triple1)] Fiona is rough.[(triple2)] Harry is young.[(triple3)] @1: Fiona is kind.[(((triple2) -> rule1))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Fiona is rough.
("Fiona" "is" "rough" "+")
triple2
Harry is young.
("Harry" "is" "young" "+")
triple3
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple2) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1