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