Bob is cold. Bob is green. Bob is kind. Bob is nice. Bob is rough. Bob is smart. Harry is green. Harry is kind. Harry is rough. Harry is smart. All nice people are young. If Bob is rough and Bob is kind then Bob is cold. If someone is nice then they are cold.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is smart.
("Harry" "is" "smart" "+")
All nice people are young.
((("someone" "is" "nice" "+")) -> ("someone" "is" "young" "+"))
If Bob is rough and Bob is kind then Bob is cold.
((("Bob" "is" "rough" "+") ("Bob" "is" "kind" "+")) -> ("Bob" "is" "cold" "+"))
If someone is nice then they are cold.
((("someone" "is" "nice" "+")) -> ("someone" "is" "cold" "+"))
Bob is cold.
True
1
proof
[(triple1 OR ((triple4) -> rule3) OR ((triple5 triple3) -> rule2))]
("Bob" "is" "cold" "+")
triple1
((triple4) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((triple5 triple3) -> (rule2 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is not cold.
False
1
inv-proof
[(triple1 OR ((triple4) -> rule3) OR ((triple5 triple3) -> rule2))]
("Bob" "is" "cold" "-")
triple1
((triple4) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((triple5 triple3) -> (rule2 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is young.
True
2
proof
[(((triple4) -> rule1))]
("Bob" "is" "young" "+")
((triple4) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is not young.
False
2
inv-proof
[(((triple4) -> rule1))]
("Bob" "is" "young" "-")
((triple4) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Harry is not cold.
Unknown
inv-rconc
[@1: Harry is cold.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Harry" "is" "cold" "-")
Harry is young.
Unknown
rconc
[@1: Harry is young.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Harry" "is" "young" "+")
@0: Bob is cold.[(triple1 OR ((triple4) -> rule3) OR ((triple5 triple3) -> rule2))] Bob is green.[(triple2)] Bob is kind.[(triple3)] Bob is nice.[(triple4)] Bob is rough.[(triple5)] Bob is smart.[(triple6)] Harry is green.[(triple7)] Harry is kind.[(triple8)] Harry is rough.[(triple9)] Harry is smart.[(triple10)] @1: Bob is young.[(((triple4) -> rule1))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
((triple4) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((triple5 triple3) -> (rule2 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
triple2
Bob is kind.
("Bob" "is" "kind" "+")
triple3
Bob is nice.
("Bob" "is" "nice" "+")
triple4
Bob is rough.
("Bob" "is" "rough" "+")
triple5
Bob is smart.
("Bob" "is" "smart" "+")
triple6
Harry is green.
("Harry" "is" "green" "+")
triple7
Harry is kind.
("Harry" "is" "kind" "+")
triple8
Harry is rough.
("Harry" "is" "rough" "+")
triple9
Harry is smart.
("Harry" "is" "smart" "+")
triple10
Bob is young.
("Bob" "is" "young" "+")
((triple4) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1