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