Anne is blue. Dave is big. Dave is blue. Fiona is big. Fiona is cold. Fiona is smart. Fiona is young. Harry is big. Harry is blue. Harry is smart. All smart, big things are cold. All smart, furry things are rough. Furry, young things are smart. If something is big and cold then it is furry. All young, furry things are blue. Rough things are furry.
Anne is blue.
("Anne" "is" "blue" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is smart.
("Harry" "is" "smart" "+")
All smart, big things are cold.
((("something" "is" "smart" "+") ("something" "is" "big" "+")) -> ("something" "is" "cold" "+"))
All smart, furry things are rough.
((("something" "is" "smart" "+") ("something" "is" "furry" "+")) -> ("something" "is" "rough" "+"))
Furry, young things are smart.
((("something" "is" "furry" "+") ("something" "is" "young" "+")) -> ("something" "is" "smart" "+"))
If something is big and cold then it is furry.
((("something" "is" "big" "+") ("something" "is" "cold" "+")) -> ("something" "is" "furry" "+"))
All young, furry things are blue.
((("something" "is" "young" "+") ("something" "is" "furry" "+")) -> ("something" "is" "blue" "+"))
Rough things are furry.
((("something" "is" "rough" "+")) -> ("something" "is" "furry" "+"))
Dave is blue.
True
1
proof
[(triple3)]
("Dave" "is" "blue" "+")
triple3
Harry is not smart.
False
1
inv-proof
[(triple10)]
("Harry" "is" "smart" "-")
triple10
Fiona is furry.
True
3
proof
[(((triple4 triple5) -> rule4) OR ((triple4 ((triple6 triple4) -> rule1)) -> rule4))]
("Fiona" "is" "furry" "+")
((triple4 triple5) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple4 ((triple6 triple4) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Harry is not cold.
False
3
inv-proof
[(((triple10 triple8) -> rule1))]
("Harry" "is" "cold" "-")
((triple10 triple8) -> (rule1 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Dave is not furry.
Unknown
inv-rconc
[@3: Dave is furry.[CWA. Example of deepest failure = (rule4 <- rule1 <- rule3 <- FAIL)]]
("Dave" "is" "furry" "-")
Anne is furry.
Unknown
rconc
[@3: Anne is furry.[CWA. Example of deepest failure = (rule6 <- rule2 <- rule3 <- FAIL)]]
("Anne" "is" "furry" "+")
Dave is not young.
Unknown
inv-random
[@0: Dave is young.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "young" "-")
Anne is big.
Unknown
random
[@0: Anne is big.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "big" "+")
@0: Anne is blue.[(triple1)] Dave is big.[(triple2)] Dave is blue.[(triple3)] Fiona is big.[(triple4)] Fiona is cold.[(triple5 OR ((triple6 triple4) -> rule1))] Fiona is smart.[(triple6 OR ((((triple4 triple5) -> rule4) triple7) -> rule3))] Fiona is young.[(triple7)] Harry is big.[(triple8)] Harry is blue.[(triple9)] Harry is smart.[(triple10)] @1: Fiona is furry.[(((triple4 triple5) -> rule4) OR ((triple4 ((triple6 triple4) -> rule1)) -> rule4))] Harry is cold.[(((triple10 triple8) -> rule1))] @2: Fiona is blue.[(((triple7 ((triple4 triple5) -> rule4)) -> rule5) OR ((triple7 ((triple4 ((triple6 triple4) -> rule1)) -> rule4)) -> rule5))] Fiona is rough.[(((triple6 ((triple4 triple5) -> rule4)) -> rule2) OR ((triple6 ((triple4 ((triple6 triple4) -> rule1)) -> rule4)) -> rule2) OR ((((((triple4 triple5) -> rule4) triple7) -> rule3) ((triple4 triple5) -> rule4)) -> rule2) OR ((((((triple4 triple5) -> rule4) triple7) -> rule3) ((triple4 ((triple6 triple4) -> rule1)) -> rule4)) -> rule2))] Harry is furry.[(((triple8 ((triple10 triple8) -> rule1)) -> rule4))] @3: Harry is rough.[(((triple10 ((triple8 ((triple10 triple8) -> rule1)) -> rule4)) -> rule2))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Dave is big.
("Dave" "is" "big" "+")
triple2
Dave is blue.
("Dave" "is" "blue" "+")
triple3
Fiona is big.
("Fiona" "is" "big" "+")
triple4
Fiona is cold.
("Fiona" "is" "cold" "+")
triple5
((triple6 triple4) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
triple6
((((triple4 triple5) -> (rule4 % int2)) triple7) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
triple7
Harry is big.
("Harry" "is" "big" "+")
triple8
Harry is blue.
("Harry" "is" "blue" "+")
triple9
Harry is smart.
("Harry" "is" "smart" "+")
triple10
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple4 triple5) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple4 ((triple6 triple4) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
((triple10 triple8) -> (rule1 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple7 ((triple4 triple5) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((triple7 ((triple4 ((triple6 triple4) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple6 ((triple4 triple5) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((triple6 ((triple4 ((triple6 triple4) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((((triple4 triple5) -> (rule4 % int3)) triple7) -> (rule3 % int2)) ((triple4 triple5) -> (rule4 % int3))) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
((((((triple4 triple5) -> (rule4 % int4)) triple7) -> (rule3 % int3)) ((triple4 ((triple6 triple4) -> (rule1 % int2))) -> (rule4 % int4))) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
int4
Harry is furry.
("Harry" "is" "furry" "+")
((triple8 ((triple10 triple8) -> (rule1 % int2))) -> (rule4 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
((triple10 ((triple8 ((triple10 triple8) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3