Anne is rough. Dave is smart. Fiona is furry. Fiona is rough. Fiona is smart. Harry is furry. Harry is rough. Harry is round. Harry is smart. Harry is young. Smart things are rough. If something is smart and rough then it is furry.
Anne is rough.
("Anne" "is" "rough" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is smart.
("Harry" "is" "smart" "+")
Harry is young.
("Harry" "is" "young" "+")
Smart things are rough.
((("something" "is" "smart" "+")) -> ("something" "is" "rough" "+"))
If something is smart and rough then it is furry.
((("something" "is" "smart" "+") ("something" "is" "rough" "+")) -> ("something" "is" "furry" "+"))
Fiona is rough.
True
1
proof
[(triple4 OR ((triple5) -> rule1))]
("Fiona" "is" "rough" "+")
triple4
((triple5) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is not furry.
False
1
inv-proof
[(triple3 OR ((triple5 triple4) -> rule2) OR ((triple5 ((triple5) -> rule1)) -> rule2))]
("Fiona" "is" "furry" "-")
triple3
((triple5 triple4) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple5 ((triple5) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Dave is rough.
True
2
proof
[(((triple2) -> rule1))]
("Dave" "is" "rough" "+")
((triple2) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is not rough.
False
2
inv-proof
[(((triple2) -> rule1))]
("Dave" "is" "rough" "-")
((triple2) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Anne is not furry.
Unknown
inv-rconc
[@1: Anne is furry.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Anne" "is" "furry" "-")
Fiona is round.
Unknown
random
[@0: Fiona is round.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "round" "+")
Anne is not smart.
Unknown
inv-random
[@0: Anne is smart.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "smart" "-")
Fiona is young.
Unknown
random
[@0: Fiona is young.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "young" "+")
@0: Anne is rough.[(triple1)] Dave is smart.[(triple2)] Fiona is furry.[(triple3 OR ((triple5 triple4) -> rule2) OR ((triple5 ((triple5) -> rule1)) -> rule2))] Fiona is rough.[(triple4 OR ((triple5) -> rule1))] Fiona is smart.[(triple5)] Harry is furry.[(triple6 OR ((triple9 triple7) -> rule2) OR ((triple9 ((triple9) -> rule1)) -> rule2))] Harry is rough.[(triple7 OR ((triple9) -> rule1))] Harry is round.[(triple8)] Harry is smart.[(triple9)] Harry is young.[(triple10)] @1: Dave is rough.[(((triple2) -> rule1))] @2: Dave is furry.[(((triple2 ((triple2) -> rule1)) -> rule2))]
Anne is rough.
("Anne" "is" "rough" "+")
triple1
Dave is smart.
("Dave" "is" "smart" "+")
triple2
Fiona is furry.
("Fiona" "is" "furry" "+")
triple3
((triple5 triple4) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple5 ((triple5) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
triple4
((triple5) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
triple5
Harry is furry.
("Harry" "is" "furry" "+")
triple6
((triple9 triple7) -> (rule2 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
((triple9 ((triple9) -> (rule1 % int2))) -> (rule2 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
triple7
((triple9) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
triple8
Harry is smart.
("Harry" "is" "smart" "+")
triple9
Harry is young.
("Harry" "is" "young" "+")
triple10
Dave is rough.
("Dave" "is" "rough" "+")
((triple2) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
((triple2 ((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2