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