Bob is rough. Charlie is furry. Charlie is quiet. Charlie is round. Dave is blue. Dave is furry. Dave is green. Dave is quiet. Dave is smart. Gary is rough. Gary is round. Gary is smart. If Dave is green then Dave is smart. If someone is rough then they are blue. If Charlie is blue then Charlie is rough. Rough, furry people are round. If someone is rough and green then they are quiet. Smart, green people are furry. All quiet, furry people are round. If someone is rough then they are green. All green, quiet people are smart.
Bob is rough.
("Bob" "is" "rough" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is smart.
("Gary" "is" "smart" "+")
If Dave is green then Dave is smart.
((("Dave" "is" "green" "+")) -> ("Dave" "is" "smart" "+"))
If someone is rough then they are blue.
((("someone" "is" "rough" "+")) -> ("someone" "is" "blue" "+"))
If Charlie is blue then Charlie is rough.
((("Charlie" "is" "blue" "+")) -> ("Charlie" "is" "rough" "+"))
Rough, furry people are round.
((("someone" "is" "rough" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "round" "+"))
If someone is rough and green then they are quiet.
((("someone" "is" "rough" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "quiet" "+"))
Smart, green people are furry.
((("someone" "is" "smart" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "furry" "+"))
All quiet, furry people are round.
((("someone" "is" "quiet" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "round" "+"))
If someone is rough then they are green.
((("someone" "is" "rough" "+")) -> ("someone" "is" "green" "+"))
All green, quiet people are smart.
((("someone" "is" "green" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "smart" "+"))
Dave is furry.
True
1
proof
[(triple6 OR ((triple9 triple7) -> rule6) OR ((((triple7) -> rule1) triple7) -> rule6) OR ((((triple7 triple8) -> rule9) triple7) -> rule6))]
("Dave" "is" "furry" "+")
triple6
((triple9 triple7) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((((triple7) -> (rule1 % int2)) triple7) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
((((triple7 triple8) -> (rule9 % int2)) triple7) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is not quiet.
False
1
inv-proof
[(triple8)]
("Dave" "is" "quiet" "-")
triple8
Gary is green.
True
2
proof
[(((triple10) -> rule8))]
("Gary" "is" "green" "+")
((triple10) -> (rule8 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is not blue.
False
2
inv-proof
[(((triple10) -> rule2))]
("Gary" "is" "blue" "-")
((triple10) -> (rule2 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is quiet.
True
4
proof
[(((triple10 ((triple10) -> rule8)) -> rule5))]
("Gary" "is" "quiet" "+")
((triple10 ((triple10) -> (rule8 % int2))) -> (rule5 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is not quiet.
False
4
inv-proof
[(((triple10 ((triple10) -> rule8)) -> rule5))]
("Gary" "is" "quiet" "-")
((triple10 ((triple10) -> (rule8 % int2))) -> (rule5 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Bob is smart.
True
7
proof
[(((((triple1) -> rule8) ((triple1 ((triple1) -> rule8)) -> rule5)) -> rule9))]
("Bob" "is" "smart" "+")
((((triple1) -> (rule8 % int3)) ((triple1 ((triple1) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule9 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is not smart.
False
7
inv-proof
[(((((triple1) -> rule8) ((triple1 ((triple1) -> rule8)) -> rule5)) -> rule9))]
("Bob" "is" "smart" "-")
((((triple1) -> (rule8 % int3)) ((triple1 ((triple1) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule9 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is furry.
True
10
proof
[(((((((triple1) -> rule8) ((triple1 ((triple1) -> rule8)) -> rule5)) -> rule9) ((triple1) -> rule8)) -> rule6))]
("Bob" "is" "furry" "+")
((((((triple1) -> (rule8 % int4)) ((triple1 ((triple1) -> (rule8 % int4))) -> (rule5 % int3))) -> (rule9 % int2)) ((triple1) -> (rule8 % int4))) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Bob is not furry.
False
10
inv-proof
[(((((((triple1) -> rule8) ((triple1 ((triple1) -> rule8)) -> rule5)) -> rule9) ((triple1) -> rule8)) -> rule6))]
("Bob" "is" "furry" "-")
((((((triple1) -> (rule8 % int4)) ((triple1 ((triple1) -> (rule8 % int4))) -> (rule5 % int3))) -> (rule9 % int2)) ((triple1) -> (rule8 % int4))) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Bob is round.
True
12
proof
[(((triple1 ((((((triple1) -> rule8) ((triple1 ((triple1) -> rule8)) -> rule5)) -> rule9) ((triple1) -> rule8)) -> rule6)) -> rule4) OR ((((triple1 ((triple1) -> rule8)) -> rule5) ((((((triple1) -> rule8) ((triple1 ((triple1) -> rule8)) -> rule5)) -> rule9) ((triple1) -> rule8)) -> rule6)) -> rule7))]
("Bob" "is" "round" "+")
((triple1 ((((((triple1) -> (rule8 % int5)) ((triple1 ((triple1) -> (rule8 % int5))) -> (rule5 % int4))) -> (rule9 % int3)) ((triple1) -> (rule8 % int5))) -> (rule6 % int2))) -> (rule4 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is green.
("Bob" "is" "green" "+")
int5
((((triple1 ((triple1) -> (rule8 % int5))) -> (rule5 % int4)) ((((((triple1) -> (rule8 % int5)) ((triple1 ((triple1) -> (rule8 % int5))) -> (rule5 % int4))) -> (rule9 % int3)) ((triple1) -> (rule8 % int5))) -> (rule6 % int2))) -> (rule7 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is green.
("Bob" "is" "green" "+")
int5
Bob is not round.
False
12
inv-proof
[(((triple1 ((((((triple1) -> rule8) ((triple1 ((triple1) -> rule8)) -> rule5)) -> rule9) ((triple1) -> rule8)) -> rule6)) -> rule4) OR ((((triple1 ((triple1) -> rule8)) -> rule5) ((((((triple1) -> rule8) ((triple1 ((triple1) -> rule8)) -> rule5)) -> rule9) ((triple1) -> rule8)) -> rule6)) -> rule7))]
("Bob" "is" "round" "-")
((triple1 ((((((triple1) -> (rule8 % int5)) ((triple1 ((triple1) -> (rule8 % int5))) -> (rule5 % int4))) -> (rule9 % int3)) ((triple1) -> (rule8 % int5))) -> (rule6 % int2))) -> (rule4 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is green.
("Bob" "is" "green" "+")
int5
((((triple1 ((triple1) -> (rule8 % int5))) -> (rule5 % int4)) ((((((triple1) -> (rule8 % int5)) ((triple1 ((triple1) -> (rule8 % int5))) -> (rule5 % int4))) -> (rule9 % int3)) ((triple1) -> (rule8 % int5))) -> (rule6 % int2))) -> (rule7 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is green.
("Bob" "is" "green" "+")
int5
Charlie is not green.
Unknown
inv-rconc
[@3: Charlie is green.[CWA. Example of deepest failure = (rule8 <- rule3 <- rule2 <- FAIL)]]
("Charlie" "is" "green" "-")
Charlie is rough.
Unknown
rconc
[@2: Charlie is rough.[CWA. Example of deepest failure = (rule3 <- rule2 <- FAIL)]]
("Charlie" "is" "rough" "+")
Charlie is not blue.
Unknown
inv-rconc
[@2: Charlie is blue.[CWA. Example of deepest failure = (rule2 <- rule3 <- FAIL)]]
("Charlie" "is" "blue" "-")
Charlie is smart.
Unknown
rconc
[@4: Charlie is smart.[CWA. Example of deepest failure = (rule9 <- rule8 <- rule3 <- rule2 <- FAIL)]]
("Charlie" "is" "smart" "+")
@0: Bob is rough.[(triple1)] Charlie is furry.[(triple2)] Charlie is quiet.[(triple3)] Charlie is round.[(triple4 OR ((triple3 triple2) -> rule7))] Dave is blue.[(triple5)] Dave is furry.[(triple6 OR ((triple9 triple7) -> rule6) OR ((((triple7) -> rule1) triple7) -> rule6) OR ((((triple7 triple8) -> rule9) triple7) -> rule6))] Dave is green.[(triple7)] Dave is quiet.[(triple8)] Dave is smart.[(triple9 OR ((triple7) -> rule1) OR ((triple7 triple8) -> rule9))] Gary is rough.[(triple10)] Gary is round.[(triple11 OR ((triple10 ((triple12 ((triple10) -> rule8)) -> rule6)) -> rule4) OR ((((triple10 ((triple10) -> rule8)) -> rule5) ((triple12 ((triple10) -> rule8)) -> rule6)) -> rule7) OR ((triple10 ((((((triple10) -> rule8) ((triple10 ((triple10) -> rule8)) -> rule5)) -> rule9) ((triple10) -> rule8)) -> rule6)) -> rule4) OR ((((triple10 ((triple10) -> rule8)) -> rule5) ((((((triple10) -> rule8) ((triple10 ((triple10) -> rule8)) -> rule5)) -> rule9) ((triple10) -> rule8)) -> rule6)) -> rule7))] Gary is smart.[(triple12 OR ((((triple10) -> rule8) ((triple10 ((triple10) -> rule8)) -> rule5)) -> rule9))] @1: Bob is blue.[(((triple1) -> rule2))] Bob is green.[(((triple1) -> rule8))] Dave is round.[(((triple8 triple6) -> rule7) OR ((triple8 ((triple9 triple7) -> rule6)) -> rule7) OR ((triple8 ((((triple7) -> rule1) triple7) -> rule6)) -> rule7) OR ((triple8 ((((triple7 triple8) -> rule9) triple7) -> rule6)) -> rule7))] Gary is blue.[(((triple10) -> rule2))] Gary is green.[(((triple10) -> rule8))] @2: Bob is quiet.[(((triple1 ((triple1) -> rule8)) -> rule5))] Gary is furry.[(((triple12 ((triple10) -> rule8)) -> rule6) OR ((((((triple10) -> rule8) ((triple10 ((triple10) -> rule8)) -> rule5)) -> rule9) ((triple10) -> rule8)) -> rule6))] Gary is quiet.[(((triple10 ((triple10) -> rule8)) -> rule5))] @3: Bob is smart.[(((((triple1) -> rule8) ((triple1 ((triple1) -> rule8)) -> rule5)) -> rule9))] @4: Bob is furry.[(((((((triple1) -> rule8) ((triple1 ((triple1) -> rule8)) -> rule5)) -> rule9) ((triple1) -> rule8)) -> rule6))] @5: Bob is round.[(((triple1 ((((((triple1) -> rule8) ((triple1 ((triple1) -> rule8)) -> rule5)) -> rule9) ((triple1) -> rule8)) -> rule6)) -> rule4) OR ((((triple1 ((triple1) -> rule8)) -> rule5) ((((((triple1) -> rule8) ((triple1 ((triple1) -> rule8)) -> rule5)) -> rule9) ((triple1) -> rule8)) -> rule6)) -> rule7))]
Bob is rough.
("Bob" "is" "rough" "+")
triple1
Charlie is furry.
("Charlie" "is" "furry" "+")
triple2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple3
Charlie is round.
("Charlie" "is" "round" "+")
triple4
((triple3 triple2) -> (rule7 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
triple5
Dave is furry.
("Dave" "is" "furry" "+")
triple6
((triple9 triple7) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((((triple7) -> (rule1 % int2)) triple7) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
((((triple7 triple8) -> (rule9 % int2)) triple7) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
triple7
Dave is quiet.
("Dave" "is" "quiet" "+")
triple8
Dave is smart.
("Dave" "is" "smart" "+")
triple9
((triple7) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
((triple7 triple8) -> (rule9 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
triple10
Gary is round.
("Gary" "is" "round" "+")
triple11
((triple10 ((triple12 ((triple10) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
((((triple10 ((triple10) -> (rule8 % int4))) -> (rule5 % int3)) ((triple12 ((triple10) -> (rule8 % int4))) -> (rule6 % int2))) -> (rule7 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is green.
("Gary" "is" "green" "+")
int4
((triple10 ((((((triple10) -> (rule8 % int5)) ((triple10 ((triple10) -> (rule8 % int5))) -> (rule5 % int4))) -> (rule9 % int3)) ((triple10) -> (rule8 % int5))) -> (rule6 % int2))) -> (rule4 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
int4
Gary is green.
("Gary" "is" "green" "+")
int5
((((triple10 ((triple10) -> (rule8 % int5))) -> (rule5 % int4)) ((((((triple10) -> (rule8 % int5)) ((triple10 ((triple10) -> (rule8 % int5))) -> (rule5 % int4))) -> (rule9 % int3)) ((triple10) -> (rule8 % int5))) -> (rule6 % int2))) -> (rule7 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
int4
Gary is green.
("Gary" "is" "green" "+")
int5
Gary is smart.
("Gary" "is" "smart" "+")
triple12
((((triple10) -> (rule8 % int3)) ((triple10 ((triple10) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule9 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Bob is blue.
("Bob" "is" "blue" "+")
((triple1) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
((triple1) -> (rule8 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
((triple8 triple6) -> (rule7 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((triple8 ((triple9 triple7) -> (rule6 % int2))) -> (rule7 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((triple8 ((((triple7) -> (rule1 % int3)) triple7) -> (rule6 % int2))) -> (rule7 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
((triple8 ((((triple7 triple8) -> (rule9 % int3)) triple7) -> (rule6 % int2))) -> (rule7 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
((triple10) -> (rule2 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
((triple10) -> (rule8 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
((triple1 ((triple1) -> (rule8 % int2))) -> (rule5 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
((triple12 ((triple10) -> (rule8 % int2))) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
((((((triple10) -> (rule8 % int4)) ((triple10 ((triple10) -> (rule8 % int4))) -> (rule5 % int3))) -> (rule9 % int2)) ((triple10) -> (rule8 % int4))) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is green.
("Gary" "is" "green" "+")
int4
Gary is quiet.
("Gary" "is" "quiet" "+")
((triple10 ((triple10) -> (rule8 % int2))) -> (rule5 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
((((triple1) -> (rule8 % int3)) ((triple1 ((triple1) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule9 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
((((((triple1) -> (rule8 % int4)) ((triple1 ((triple1) -> (rule8 % int4))) -> (rule5 % int3))) -> (rule9 % int2)) ((triple1) -> (rule8 % int4))) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Bob is round.
("Bob" "is" "round" "+")
((triple1 ((((((triple1) -> (rule8 % int5)) ((triple1 ((triple1) -> (rule8 % int5))) -> (rule5 % int4))) -> (rule9 % int3)) ((triple1) -> (rule8 % int5))) -> (rule6 % int2))) -> (rule4 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is green.
("Bob" "is" "green" "+")
int5
((((triple1 ((triple1) -> (rule8 % int5))) -> (rule5 % int4)) ((((((triple1) -> (rule8 % int5)) ((triple1 ((triple1) -> (rule8 % int5))) -> (rule5 % int4))) -> (rule9 % int3)) ((triple1) -> (rule8 % int5))) -> (rule6 % int2))) -> (rule7 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is green.
("Bob" "is" "green" "+")
int5