Anne is furry. Anne is round. Anne is smart. Anne is white. Erin is furry. Erin is kind. Erin is round. Gary is cold. Harry is cold. Harry is kind. Harry is rough. Harry is white. Round, cold things are white. If Gary is cold then Gary is kind. If something is kind and cold then it is white. Rough things are smart. If something is kind and white then it is rough. If Gary is rough and Gary is white then Gary is round. Kind, smart things are furry. Rough things are kind.
Anne is furry.
("Anne" "is" "furry" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Anne is white.
("Anne" "is" "white" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is round.
("Erin" "is" "round" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is white.
("Harry" "is" "white" "+")
Round, cold things are white.
((("something" "is" "round" "+") ("something" "is" "cold" "+")) -> ("something" "is" "white" "+"))
If Gary is cold then Gary is kind.
((("Gary" "is" "cold" "+")) -> ("Gary" "is" "kind" "+"))
If something is kind and cold then it is white.
((("something" "is" "kind" "+") ("something" "is" "cold" "+")) -> ("something" "is" "white" "+"))
Rough things are smart.
((("something" "is" "rough" "+")) -> ("something" "is" "smart" "+"))
If something is kind and white then it is rough.
((("something" "is" "kind" "+") ("something" "is" "white" "+")) -> ("something" "is" "rough" "+"))
If Gary is rough and Gary is white then Gary is round.
((("Gary" "is" "rough" "+") ("Gary" "is" "white" "+")) -> ("Gary" "is" "round" "+"))
Kind, smart things are furry.
((("something" "is" "kind" "+") ("something" "is" "smart" "+")) -> ("something" "is" "furry" "+"))
Rough things are kind.
((("something" "is" "rough" "+")) -> ("something" "is" "kind" "+"))
Gary is cold.
True
1
proof
[(triple8)]
("Gary" "is" "cold" "+")
triple8
Harry is not rough.
False
1
inv-proof
[(triple11 OR ((triple10 triple12) -> rule5) OR ((triple10 ((triple10 triple9) -> rule3)) -> rule5))]
("Harry" "is" "rough" "-")
triple11
((triple10 triple12) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((triple10 ((triple10 triple9) -> (rule3 % int2))) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Gary is kind.
True
2
proof
[(((triple8) -> rule2))]
("Gary" "is" "kind" "+")
((triple8) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is not kind.
False
2
inv-proof
[(((triple8) -> rule2))]
("Gary" "is" "kind" "-")
((triple8) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Harry is furry.
True
4
proof
[(((triple10 ((triple11) -> rule4)) -> rule7) OR ((((triple11) -> rule8) ((triple11) -> rule4)) -> rule7) OR ((triple10 ((((triple10 triple12) -> rule5)) -> rule4)) -> rule7) OR ((((triple11) -> rule8) ((((triple10 triple12) -> rule5)) -> rule4)) -> rule7) OR ((triple10 ((((triple10 ((triple10 triple9) -> rule3)) -> rule5)) -> rule4)) -> rule7) OR ((((triple11) -> rule8) ((((triple10 ((triple10 triple9) -> rule3)) -> rule5)) -> rule4)) -> rule7))]
("Harry" "is" "furry" "+")
((triple10 ((triple11) -> (rule4 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
((((triple11) -> (rule8 % int3)) ((triple11) -> (rule4 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
((triple10 ((((triple10 triple12) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((((triple11) -> (rule8 % int4)) ((((triple10 triple12) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
((triple10 ((((triple10 ((triple10 triple9) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
int4
((((triple11) -> (rule8 % int5)) ((((triple10 ((triple10 triple9) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
int4
Harry is kind.
("Harry" "is" "kind" "+")
int5
Harry is not furry.
False
4
inv-proof
[(((triple10 ((triple11) -> rule4)) -> rule7) OR ((((triple11) -> rule8) ((triple11) -> rule4)) -> rule7) OR ((triple10 ((((triple10 triple12) -> rule5)) -> rule4)) -> rule7) OR ((((triple11) -> rule8) ((((triple10 triple12) -> rule5)) -> rule4)) -> rule7) OR ((triple10 ((((triple10 ((triple10 triple9) -> rule3)) -> rule5)) -> rule4)) -> rule7) OR ((((triple11) -> rule8) ((((triple10 ((triple10 triple9) -> rule3)) -> rule5)) -> rule4)) -> rule7))]
("Harry" "is" "furry" "-")
((triple10 ((triple11) -> (rule4 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
((((triple11) -> (rule8 % int3)) ((triple11) -> (rule4 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
((triple10 ((((triple10 triple12) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((((triple11) -> (rule8 % int4)) ((((triple10 triple12) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
((triple10 ((((triple10 ((triple10 triple9) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
int4
((((triple11) -> (rule8 % int5)) ((((triple10 ((triple10 triple9) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
int4
Harry is kind.
("Harry" "is" "kind" "+")
int5
Gary is rough.
True
7
proof
[(((((triple8) -> rule2) ((((triple8) -> rule2) triple8) -> rule3)) -> rule5))]
("Gary" "is" "rough" "+")
((((triple8) -> (rule2 % int3)) ((((triple8) -> (rule2 % int3)) triple8) -> (rule3 % int2))) -> (rule5 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is not rough.
False
7
inv-proof
[(((((triple8) -> rule2) ((((triple8) -> rule2) triple8) -> rule3)) -> rule5))]
("Gary" "is" "rough" "-")
((((triple8) -> (rule2 % int3)) ((((triple8) -> (rule2 % int3)) triple8) -> (rule3 % int2))) -> (rule5 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is round.
True
12
proof
[(((((((triple8) -> rule2) ((((triple8) -> rule2) triple8) -> rule3)) -> rule5) ((((triple8) -> rule2) triple8) -> rule3)) -> rule6))]
("Gary" "is" "round" "+")
((((((triple8) -> (rule2 % int4)) ((((triple8) -> (rule2 % int4)) triple8) -> (rule3 % int3))) -> (rule5 % int2)) ((((triple8) -> (rule2 % int4)) triple8) -> (rule3 % int3))) -> (rule6 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
int4
Gary is not round.
False
12
inv-proof
[(((((((triple8) -> rule2) ((((triple8) -> rule2) triple8) -> rule3)) -> rule5) ((((triple8) -> rule2) triple8) -> rule3)) -> rule6))]
("Gary" "is" "round" "-")
((((((triple8) -> (rule2 % int4)) ((((triple8) -> (rule2 % int4)) triple8) -> (rule3 % int3))) -> (rule5 % int2)) ((((triple8) -> (rule2 % int4)) triple8) -> (rule3 % int3))) -> (rule6 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
int4
Gary is furry.
True
11
proof
[(((((triple8) -> rule2) ((((((triple8) -> rule2) ((((triple8) -> rule2) triple8) -> rule3)) -> rule5)) -> rule4)) -> rule7))]
("Gary" "is" "furry" "+")
((((triple8) -> (rule2 % int5)) ((((((triple8) -> (rule2 % int5)) ((((triple8) -> (rule2 % int5)) triple8) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
Gary is kind.
("Gary" "is" "kind" "+")
int5
Gary is not furry.
False
11
inv-proof
[(((((triple8) -> rule2) ((((((triple8) -> rule2) ((((triple8) -> rule2) triple8) -> rule3)) -> rule5)) -> rule4)) -> rule7))]
("Gary" "is" "furry" "-")
((((triple8) -> (rule2 % int5)) ((((((triple8) -> (rule2 % int5)) ((((triple8) -> (rule2 % int5)) triple8) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
Gary is kind.
("Gary" "is" "kind" "+")
int5
Anne is not kind.
Unknown
inv-rconc
[@2: Anne is kind.[CWA. Example of deepest failure = (rule8 <- rule5 <- FAIL)]]
("Anne" "is" "kind" "-")
Erin is white.
Unknown
rconc
[@1: Erin is white.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Erin" "is" "white" "+")
Erin is not rough.
Unknown
inv-rconc
[@2: Erin is rough.[CWA. Example of deepest failure = (rule5 <- rule1 <- FAIL)]]
("Erin" "is" "rough" "-")
Erin is smart.
Unknown
rconc
[@3: Erin is smart.[CWA. Example of deepest failure = (rule4 <- rule5 <- rule1 <- FAIL)]]
("Erin" "is" "smart" "+")
Anne is not rough.
Unknown
inv-rconc
[@2: Anne is rough.[CWA. Example of deepest failure = (rule5 <- rule8 <- FAIL)]]
("Anne" "is" "rough" "-")
Erin is cold.
Unknown
random
[@0: Erin is cold.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "cold" "+")
Anne is not cold.
Unknown
inv-random
[@0: Anne is cold.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "cold" "-")
Harry is round.
Unknown
random
[@0: Harry is round.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "round" "+")
@0: Anne is furry.[(triple1)] Anne is round.[(triple2)] Anne is smart.[(triple3)] Anne is white.[(triple4)] Erin is furry.[(triple5)] Erin is kind.[(triple6)] Erin is round.[(triple7)] Gary is cold.[(triple8)] Harry is cold.[(triple9)] Harry is kind.[(triple10 OR ((triple11) -> rule8))] Harry is rough.[(triple11 OR ((triple10 triple12) -> rule5) OR ((triple10 ((triple10 triple9) -> rule3)) -> rule5))] Harry is white.[(triple12 OR ((triple10 triple9) -> rule3) OR ((((triple11) -> rule8) triple9) -> rule3))] @1: Gary is kind.[(((triple8) -> rule2))] Harry is smart.[(((triple11) -> rule4) OR ((((triple10 triple12) -> rule5)) -> rule4) OR ((((triple10 ((triple10 triple9) -> rule3)) -> rule5)) -> rule4))] @2: Gary is white.[(((((triple8) -> rule2) triple8) -> rule3))] Harry is furry.[(((triple10 ((triple11) -> rule4)) -> rule7) OR ((((triple11) -> rule8) ((triple11) -> rule4)) -> rule7) OR ((triple10 ((((triple10 triple12) -> rule5)) -> rule4)) -> rule7) OR ((((triple11) -> rule8) ((((triple10 triple12) -> rule5)) -> rule4)) -> rule7) OR ((triple10 ((((triple10 ((triple10 triple9) -> rule3)) -> rule5)) -> rule4)) -> rule7) OR ((((triple11) -> rule8) ((((triple10 ((triple10 triple9) -> rule3)) -> rule5)) -> rule4)) -> rule7))] @3: Gary is rough.[(((((triple8) -> rule2) ((((triple8) -> rule2) triple8) -> rule3)) -> rule5))] @4: Gary is round.[(((((((triple8) -> rule2) ((((triple8) -> rule2) triple8) -> rule3)) -> rule5) ((((triple8) -> rule2) triple8) -> rule3)) -> rule6))] Gary is smart.[(((((((triple8) -> rule2) ((((triple8) -> rule2) triple8) -> rule3)) -> rule5)) -> rule4))] @5: Gary is furry.[(((((triple8) -> rule2) ((((((triple8) -> rule2) ((((triple8) -> rule2) triple8) -> rule3)) -> rule5)) -> rule4)) -> rule7))]
Anne is furry.
("Anne" "is" "furry" "+")
triple1
Anne is round.
("Anne" "is" "round" "+")
triple2
Anne is smart.
("Anne" "is" "smart" "+")
triple3
Anne is white.
("Anne" "is" "white" "+")
triple4
Erin is furry.
("Erin" "is" "furry" "+")
triple5
Erin is kind.
("Erin" "is" "kind" "+")
triple6
Erin is round.
("Erin" "is" "round" "+")
triple7
Gary is cold.
("Gary" "is" "cold" "+")
triple8
Harry is cold.
("Harry" "is" "cold" "+")
triple9
Harry is kind.
("Harry" "is" "kind" "+")
triple10
((triple11) -> (rule8 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
triple11
((triple10 triple12) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((triple10 ((triple10 triple9) -> (rule3 % int2))) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
triple12
((triple10 triple9) -> (rule3 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
((((triple11) -> (rule8 % int2)) triple9) -> (rule3 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
((triple8) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
((triple11) -> (rule4 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
((((triple10 triple12) -> (rule5 % int2))) -> (rule4 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
((((triple10 ((triple10 triple9) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
((((triple8) -> (rule2 % int2)) triple8) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
((triple10 ((triple11) -> (rule4 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
((((triple11) -> (rule8 % int3)) ((triple11) -> (rule4 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
((triple10 ((((triple10 triple12) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((((triple11) -> (rule8 % int4)) ((((triple10 triple12) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
((triple10 ((((triple10 ((triple10 triple9) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
int4
((((triple11) -> (rule8 % int5)) ((((triple10 ((triple10 triple9) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
int4
Harry is kind.
("Harry" "is" "kind" "+")
int5
Gary is rough.
("Gary" "is" "rough" "+")
((((triple8) -> (rule2 % int3)) ((((triple8) -> (rule2 % int3)) triple8) -> (rule3 % int2))) -> (rule5 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is round.
("Gary" "is" "round" "+")
((((((triple8) -> (rule2 % int4)) ((((triple8) -> (rule2 % int4)) triple8) -> (rule3 % int3))) -> (rule5 % int2)) ((((triple8) -> (rule2 % int4)) triple8) -> (rule3 % int3))) -> (rule6 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
int4
Gary is smart.
("Gary" "is" "smart" "+")
((((((triple8) -> (rule2 % int4)) ((((triple8) -> (rule2 % int4)) triple8) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
int4
Gary is furry.
("Gary" "is" "furry" "+")
((((triple8) -> (rule2 % int5)) ((((((triple8) -> (rule2 % int5)) ((((triple8) -> (rule2 % int5)) triple8) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
Gary is kind.
("Gary" "is" "kind" "+")
int5