Dave is furry. Dave is red. Erin is cold. Erin is red. Erin is white. Erin is young. Fiona is furry. Fiona is kind. Fiona is rough. Harry is furry. Harry is white. Harry is young. If Fiona is cold then Fiona is rough. All kind, furry people are cold. If someone is kind and rough then they are white. If Harry is cold and Harry is white then Harry is red. If Dave is white and Dave is rough then Dave is young. Cold, young people are red. Red people are kind. White, cold people are red.
Dave is furry.
("Dave" "is" "furry" "+")
Dave is red.
("Dave" "is" "red" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is white.
("Erin" "is" "white" "+")
Erin is young.
("Erin" "is" "young" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is white.
("Harry" "is" "white" "+")
Harry is young.
("Harry" "is" "young" "+")
If Fiona is cold then Fiona is rough.
((("Fiona" "is" "cold" "+")) -> ("Fiona" "is" "rough" "+"))
All kind, furry people are cold.
((("someone" "is" "kind" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "cold" "+"))
If someone is kind and rough then they are white.
((("someone" "is" "kind" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "white" "+"))
If Harry is cold and Harry is white then Harry is red.
((("Harry" "is" "cold" "+") ("Harry" "is" "white" "+")) -> ("Harry" "is" "red" "+"))
If Dave is white and Dave is rough then Dave is young.
((("Dave" "is" "white" "+") ("Dave" "is" "rough" "+")) -> ("Dave" "is" "young" "+"))
Cold, young people are red.
((("someone" "is" "cold" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "red" "+"))
Red people are kind.
((("someone" "is" "red" "+")) -> ("someone" "is" "kind" "+"))
White, cold people are red.
((("someone" "is" "white" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "red" "+"))
Fiona is furry.
True
1
proof
[(triple7)]
("Fiona" "is" "furry" "+")
triple7
Dave is not red.
False
1
inv-proof
[(triple2)]
("Dave" "is" "red" "-")
triple2
Erin is kind.
True
2
proof
[(((triple4) -> rule7) OR ((((triple3 triple6) -> rule6)) -> rule7) OR ((((triple5 triple3) -> rule8)) -> rule7))]
("Erin" "is" "kind" "+")
((triple4) -> (rule7 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((((triple3 triple6) -> (rule6 % int2))) -> (rule7 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
((((triple5 triple3) -> (rule8 % int2))) -> (rule7 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Fiona is not white.
False
3
inv-proof
[(((triple8 triple9) -> rule3) OR ((triple8 ((((triple8 triple7) -> rule2)) -> rule1)) -> rule3))]
("Fiona" "is" "white" "-")
((triple8 triple9) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((triple8 ((((triple8 triple7) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is red.
True
7
proof
[(((((triple8 triple9) -> rule3) ((triple8 triple7) -> rule2)) -> rule8) OR ((((triple8 ((((triple8 triple7) -> rule2)) -> rule1)) -> rule3) ((triple8 triple7) -> rule2)) -> rule8))]
("Fiona" "is" "red" "+")
((((triple8 triple9) -> (rule3 % int3)) ((triple8 triple7) -> (rule2 % int2))) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
((((triple8 ((((triple8 triple7) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule3 % int2)) ((triple8 triple7) -> (rule2 % int4))) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
int4
Dave is not cold.
False
4
inv-proof
[(((((triple2) -> rule7) triple1) -> rule2))]
("Dave" "is" "cold" "-")
((((triple2) -> (rule7 % int2)) triple1) -> (rule2 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Harry is not kind.
Unknown
inv-rconc
[@3: Harry is kind.[CWA. Example of deepest failure = (rule7 <- rule4 <- rule2 <- FAIL)]]
("Harry" "is" "kind" "-")
Dave is young.
Unknown
rconc
[@1: Dave is young.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Dave" "is" "young" "+")
Harry is not cold.
Unknown
inv-rconc
[@3: Harry is cold.[CWA. Example of deepest failure = (rule2 <- rule7 <- rule4 <- FAIL)]]
("Harry" "is" "cold" "-")
Harry is rough.
Unknown
random
[@0: Harry is rough.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "rough" "+")
Erin is not furry.
Unknown
inv-random
[@0: Erin is furry.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "furry" "-")
Erin is rough.
Unknown
random
[@0: Erin is rough.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "rough" "+")
@0: Dave is furry.[(triple1)] Dave is red.[(triple2)] Erin is cold.[(triple3)] Erin is red.[(triple4 OR ((triple3 triple6) -> rule6) OR ((triple5 triple3) -> rule8))] Erin is white.[(triple5)] Erin is young.[(triple6)] Fiona is furry.[(triple7)] Fiona is kind.[(triple8)] Fiona is rough.[(triple9 OR ((((triple8 triple7) -> rule2)) -> rule1))] Harry is furry.[(triple10)] Harry is white.[(triple11)] Harry is young.[(triple12)] @1: Dave is kind.[(((triple2) -> rule7))] Erin is kind.[(((triple4) -> rule7) OR ((((triple3 triple6) -> rule6)) -> rule7) OR ((((triple5 triple3) -> rule8)) -> rule7))] Fiona is cold.[(((triple8 triple7) -> rule2))] Fiona is white.[(((triple8 triple9) -> rule3) OR ((triple8 ((((triple8 triple7) -> rule2)) -> rule1)) -> rule3))] @2: Dave is cold.[(((((triple2) -> rule7) triple1) -> rule2))] Fiona is red.[(((((triple8 triple9) -> rule3) ((triple8 triple7) -> rule2)) -> rule8) OR ((((triple8 ((((triple8 triple7) -> rule2)) -> rule1)) -> rule3) ((triple8 triple7) -> rule2)) -> rule8))]
Dave is furry.
("Dave" "is" "furry" "+")
triple1
Dave is red.
("Dave" "is" "red" "+")
triple2
Erin is cold.
("Erin" "is" "cold" "+")
triple3
Erin is red.
("Erin" "is" "red" "+")
triple4
((triple3 triple6) -> (rule6 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((triple5 triple3) -> (rule8 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
triple5
Erin is young.
("Erin" "is" "young" "+")
triple6
Fiona is furry.
("Fiona" "is" "furry" "+")
triple7
Fiona is kind.
("Fiona" "is" "kind" "+")
triple8
Fiona is rough.
("Fiona" "is" "rough" "+")
triple9
((((triple8 triple7) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
triple10
Harry is white.
("Harry" "is" "white" "+")
triple11
Harry is young.
("Harry" "is" "young" "+")
triple12
Dave is kind.
("Dave" "is" "kind" "+")
((triple2) -> (rule7 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
((triple4) -> (rule7 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((((triple3 triple6) -> (rule6 % int2))) -> (rule7 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
((((triple5 triple3) -> (rule8 % int2))) -> (rule7 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
((triple8 triple7) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
((triple8 triple9) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((triple8 ((((triple8 triple7) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
((((triple2) -> (rule7 % int2)) triple1) -> (rule2 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
((((triple8 triple9) -> (rule3 % int3)) ((triple8 triple7) -> (rule2 % int2))) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
((((triple8 ((((triple8 triple7) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule3 % int2)) ((triple8 triple7) -> (rule2 % int4))) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
int4