Bob is blue. Fiona is kind. Gary is young. Harry is smart. If someone is blue then they are smart. If someone is rough and kind then they are red. If someone is furry and blue then they are young. All blue, kind people are young. If Bob is kind and Bob is rough then Bob is blue. Furry people are blue. If Harry is young then Harry is kind. Blue, smart people are kind.
Bob is blue.
("Bob" "is" "blue" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Gary is young.
("Gary" "is" "young" "+")
Harry is smart.
("Harry" "is" "smart" "+")
If someone is blue then they are smart.
((("someone" "is" "blue" "+")) -> ("someone" "is" "smart" "+"))
If someone is rough and kind then they are red.
((("someone" "is" "rough" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "red" "+"))
If someone is furry and blue then they are young.
((("someone" "is" "furry" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "young" "+"))
All blue, kind people are young.
((("someone" "is" "blue" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "young" "+"))
If Bob is kind and Bob is rough then Bob is blue.
((("Bob" "is" "kind" "+") ("Bob" "is" "rough" "+")) -> ("Bob" "is" "blue" "+"))
Furry people are blue.
((("someone" "is" "furry" "+")) -> ("someone" "is" "blue" "+"))
If Harry is young then Harry is kind.
((("Harry" "is" "young" "+")) -> ("Harry" "is" "kind" "+"))
Blue, smart people are kind.
((("someone" "is" "blue" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "kind" "+"))
Harry is smart.
True
1
proof
[(triple4)]
("Harry" "is" "smart" "+")
triple4
Harry is not smart.
False
1
inv-proof
[(triple4)]
("Harry" "is" "smart" "-")
triple4
Bob is not red.
Unknown
inv-rconc
[@1: Bob is red.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "red" "-")
Harry is furry.
Unknown
random
[@0: Harry is furry.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "furry" "+")
@0: Bob is blue.[(triple1)] Fiona is kind.[(triple2)] Gary is young.[(triple3)] Harry is smart.[(triple4)] @1: Bob is smart.[(((triple1) -> rule1))] @2: Bob is kind.[(((triple1 ((triple1) -> rule1)) -> rule8))] @3: Bob is young.[(((triple1 ((triple1 ((triple1) -> rule1)) -> rule8)) -> rule4))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Fiona is kind.
("Fiona" "is" "kind" "+")
triple2
Gary is young.
("Gary" "is" "young" "+")
triple3
Harry is smart.
("Harry" "is" "smart" "+")
triple4
Bob is smart.
("Bob" "is" "smart" "+")
((triple1) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
((triple1 ((triple1) -> (rule1 % int2))) -> (rule8 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
((triple1 ((triple1 ((triple1) -> (rule1 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3