Charlie is big. Charlie is cold. Charlie is furry. Erin is blue. Erin is green. Erin is red. Harry is furry. Red things are smart. Cold, big things are furry. If something is big and cold then it is blue. Cold, furry things are red. If Harry is furry and Harry is big then Harry is cold. All cold things are big. If something is blue and green then it is cold. All green, cold things are blue.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is red.
("Erin" "is" "red" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Red things are smart.
((("something" "is" "red" "+")) -> ("something" "is" "smart" "+"))
Cold, big things are furry.
((("something" "is" "cold" "+") ("something" "is" "big" "+")) -> ("something" "is" "furry" "+"))
If something is big and cold then it is blue.
((("something" "is" "big" "+") ("something" "is" "cold" "+")) -> ("something" "is" "blue" "+"))
Cold, furry things are red.
((("something" "is" "cold" "+") ("something" "is" "furry" "+")) -> ("something" "is" "red" "+"))
If Harry is furry and Harry is big then Harry is cold.
((("Harry" "is" "furry" "+") ("Harry" "is" "big" "+")) -> ("Harry" "is" "cold" "+"))
All cold things are big.
((("something" "is" "cold" "+")) -> ("something" "is" "big" "+"))
If something is blue and green then it is cold.
((("something" "is" "blue" "+") ("something" "is" "green" "+")) -> ("something" "is" "cold" "+"))
All green, cold things are blue.
((("something" "is" "green" "+") ("something" "is" "cold" "+")) -> ("something" "is" "blue" "+"))
Erin is red.
True
1
proof
[(triple6 OR ((((triple4 triple5) -> rule7) ((((triple4 triple5) -> rule7) ((((triple4 triple5) -> rule7)) -> rule6)) -> rule2)) -> rule4))]
("Erin" "is" "red" "+")
triple6
((((triple4 triple5) -> (rule7 % int4)) ((((triple4 triple5) -> (rule7 % int4)) ((((triple4 triple5) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Erin is not red.
False
1
inv-proof
[(triple6 OR ((((triple4 triple5) -> rule7) ((((triple4 triple5) -> rule7) ((((triple4 triple5) -> rule7)) -> rule6)) -> rule2)) -> rule4))]
("Erin" "is" "red" "-")
triple6
((((triple4 triple5) -> (rule7 % int4)) ((((triple4 triple5) -> (rule7 % int4)) ((((triple4 triple5) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Charlie is red.
True
3
proof
[(((triple2 triple3) -> rule4) OR ((triple2 ((triple2 triple1) -> rule2)) -> rule4) OR ((triple2 ((triple2 ((triple2) -> rule6)) -> rule2)) -> rule4))]
("Charlie" "is" "red" "+")
((triple2 triple3) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple2 ((triple2 triple1) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((triple2 ((triple2 ((triple2) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is not red.
False
3
inv-proof
[(((triple2 triple3) -> rule4) OR ((triple2 ((triple2 triple1) -> rule2)) -> rule4) OR ((triple2 ((triple2 ((triple2) -> rule6)) -> rule2)) -> rule4))]
("Charlie" "is" "red" "-")
((triple2 triple3) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple2 ((triple2 triple1) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((triple2 ((triple2 ((triple2) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Erin is big.
True
4
proof
[(((((triple4 triple5) -> rule7)) -> rule6))]
("Erin" "is" "big" "+")
((((triple4 triple5) -> (rule7 % int2))) -> (rule6 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is not big.
False
4
inv-proof
[(((((triple4 triple5) -> rule7)) -> rule6))]
("Erin" "is" "big" "-")
((((triple4 triple5) -> (rule7 % int2))) -> (rule6 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is furry.
True
8
proof
[(((((triple4 triple5) -> rule7) ((((triple4 triple5) -> rule7)) -> rule6)) -> rule2))]
("Erin" "is" "furry" "+")
((((triple4 triple5) -> (rule7 % int3)) ((((triple4 triple5) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Erin is not furry.
False
8
inv-proof
[(((((triple4 triple5) -> rule7) ((((triple4 triple5) -> rule7)) -> rule6)) -> rule2))]
("Erin" "is" "furry" "-")
((((triple4 triple5) -> (rule7 % int3)) ((((triple4 triple5) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Harry is not cold.
Unknown
inv-rconc
[@3: Harry is cold.[CWA. Example of deepest failure = (rule5 <- rule6 <- rule7 <- FAIL)]]
("Harry" "is" "cold" "-")
Harry is big.
Unknown
rconc
[@2: Harry is big.[CWA. Example of deepest failure = (rule6 <- rule5 <- FAIL)]]
("Harry" "is" "big" "+")
Harry is not smart.
Unknown
inv-rconc
[@5: Harry is smart.[CWA. Example of deepest failure = (rule1 <- rule4 <- rule5 <- rule6 <- rule7 <- FAIL)]]
("Harry" "is" "smart" "-")
Harry is blue.
Unknown
rconc
[@3: Harry is blue.[CWA. Example of deepest failure = (rule3 <- rule6 <- rule5 <- FAIL)]]
("Harry" "is" "blue" "+")
Charlie is not green.
Unknown
inv-random
[@0: Charlie is green.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "green" "-")
Harry is green.
Unknown
random
[@0: Harry is green.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "green" "+")
@0: Charlie is big.[(triple1 OR ((triple2) -> rule6))] Charlie is cold.[(triple2)] Charlie is furry.[(triple3 OR ((triple2 triple1) -> rule2) OR ((triple2 ((triple2) -> rule6)) -> rule2))] Erin is blue.[(triple4)] Erin is green.[(triple5)] Erin is red.[(triple6 OR ((((triple4 triple5) -> rule7) ((((triple4 triple5) -> rule7) ((((triple4 triple5) -> rule7)) -> rule6)) -> rule2)) -> rule4))] Harry is furry.[(triple7)] @1: Charlie is blue.[(((triple1 triple2) -> rule3) OR ((((triple2) -> rule6) triple2) -> rule3))] Charlie is red.[(((triple2 triple3) -> rule4) OR ((triple2 ((triple2 triple1) -> rule2)) -> rule4) OR ((triple2 ((triple2 ((triple2) -> rule6)) -> rule2)) -> rule4))] Erin is cold.[(((triple4 triple5) -> rule7))] Erin is smart.[(((triple6) -> rule1) OR ((((((triple4 triple5) -> rule7) ((((triple4 triple5) -> rule7) ((((triple4 triple5) -> rule7)) -> rule6)) -> rule2)) -> rule4)) -> rule1))] @2: Charlie is smart.[(((((triple2 triple3) -> rule4)) -> rule1) OR ((((triple2 ((triple2 triple1) -> rule2)) -> rule4)) -> rule1) OR ((((triple2 ((triple2 ((triple2) -> rule6)) -> rule2)) -> rule4)) -> rule1))] Erin is big.[(((((triple4 triple5) -> rule7)) -> rule6))] @3: Erin is furry.[(((((triple4 triple5) -> rule7) ((((triple4 triple5) -> rule7)) -> rule6)) -> rule2))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
((triple2) -> (rule6 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
triple2
Charlie is furry.
("Charlie" "is" "furry" "+")
triple3
((triple2 triple1) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple2 ((triple2) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
triple4
Erin is green.
("Erin" "is" "green" "+")
triple5
Erin is red.
("Erin" "is" "red" "+")
triple6
((((triple4 triple5) -> (rule7 % int4)) ((((triple4 triple5) -> (rule7 % int4)) ((((triple4 triple5) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Harry is furry.
("Harry" "is" "furry" "+")
triple7
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple1 triple2) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((((triple2) -> (rule6 % int2)) triple2) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
((triple2 triple3) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple2 ((triple2 triple1) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((triple2 ((triple2 ((triple2) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
((triple4 triple5) -> (rule7 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
((triple6) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
((((((triple4 triple5) -> (rule7 % int5)) ((((triple4 triple5) -> (rule7 % int5)) ((((triple4 triple5) -> (rule7 % int5))) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
int4
Erin is cold.
("Erin" "is" "cold" "+")
int5
Charlie is smart.
("Charlie" "is" "smart" "+")
((((triple2 triple3) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
((((triple2 ((triple2 triple1) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
((((triple2 ((triple2 ((triple2) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
Erin is big.
("Erin" "is" "big" "+")
((((triple4 triple5) -> (rule7 % int2))) -> (rule6 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
((((triple4 triple5) -> (rule7 % int3)) ((((triple4 triple5) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3