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