Charlie is furry. Erin is furry. Erin is quiet. Erin is white. Fiona is green. Fiona is not quiet. Fiona is rough. Fiona is not smart. Fiona is white. Harry is blue. Harry is furry. Harry is green. Harry is rough. Harry is white. All rough, furry people are green. All quiet people are green. If someone is green then they are rough. All furry people are quiet. White people are blue. If Charlie is not green then Charlie is not smart. If someone is furry and not quiet then they are white. Rough people are white.
Charlie is furry.
("Charlie" "is" "furry" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is white.
("Erin" "is" "white" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is not quiet.
("Fiona" "is" "quiet" "-")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is not smart.
("Fiona" "is" "smart" "-")
Fiona is white.
("Fiona" "is" "white" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is white.
("Harry" "is" "white" "+")
All rough, furry people are green.
((("someone" "is" "rough" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "green" "+"))
All quiet people are green.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "green" "+"))
If someone is green then they are rough.
((("someone" "is" "green" "+")) -> ("someone" "is" "rough" "+"))
All furry people are quiet.
((("someone" "is" "furry" "+")) -> ("someone" "is" "quiet" "+"))
White people are blue.
((("someone" "is" "white" "+")) -> ("someone" "is" "blue" "+"))
If Charlie is not green then Charlie is not smart.
((("Charlie" "is" "green" "~")) -> ("Charlie" "is" "smart" "-"))
If someone is furry and not quiet then they are white.
((("someone" "is" "furry" "+") ("someone" "is" "quiet" "~")) -> ("someone" "is" "white" "+"))
Rough people are white.
((("someone" "is" "rough" "+")) -> ("someone" "is" "white" "+"))
Harry is blue.
True
1
proof
[(triple10 OR ((triple14) -> rule5) OR ((((triple13) -> rule8)) -> rule5) OR ((((((triple12) -> rule3)) -> rule8)) -> rule5) OR ((((((((((triple11) -> rule4)) -> rule2)) -> rule3)) -> rule8)) -> rule5))]
("Harry" "is" "blue" "+")
triple10
((triple14) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
((((triple13) -> (rule8 % int2))) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
((((((triple12) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((((((((((triple11) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
Harry is quiet.
("Harry" "is" "quiet" "+")
int5
Charlie is not furry.
False
1
inv-proof
[(triple1)]
("Charlie" "is" "furry" "-")
triple1
Charlie is quiet.
True
2
proof
[(((triple1) -> rule4))]
("Charlie" "is" "quiet" "+")
((triple1) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Harry is not quiet.
False
2
inv-proof
[(((triple11) -> rule4))]
("Harry" "is" "quiet" "-")
((triple11) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Erin is rough.
True
3
proof
[(((((triple3) -> rule2)) -> rule3) OR ((((((triple2) -> rule4)) -> rule2)) -> rule3))]
("Erin" "is" "rough" "+")
((((triple3) -> (rule2 % int2))) -> (rule3 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
((((((triple2) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
int3
Charlie is not green.
False
3
inv-proof
[(((((triple1) -> rule4)) -> rule2))]
("Charlie" "is" "green" "-")
((((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is rough.
True
4
proof
[(((((((triple1) -> rule4)) -> rule2)) -> rule3))]
("Charlie" "is" "rough" "+")
((((((triple1) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is not rough.
False
4
inv-proof
[(((((((triple1) -> rule4)) -> rule2)) -> rule3))]
("Charlie" "is" "rough" "-")
((((((triple1) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is white.
True
5
proof
[(((((((((triple1) -> rule4)) -> rule2)) -> rule3)) -> rule8))]
("Charlie" "is" "white" "+")
((((((((triple1) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
Charlie is not white.
False
5
inv-proof
[(((((((((triple1) -> rule4)) -> rule2)) -> rule3)) -> rule8))]
("Charlie" "is" "white" "-")
((((((((triple1) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
Charlie is blue.
True
6
proof
[(((((((((((triple1) -> rule4)) -> rule2)) -> rule3)) -> rule8)) -> rule5))]
("Charlie" "is" "blue" "+")
((((((((((triple1) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
int4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int5
Charlie is not blue.
False
6
inv-proof
[(((((((((((triple1) -> rule4)) -> rule2)) -> rule3)) -> rule8)) -> rule5))]
("Charlie" "is" "blue" "-")
((((((((((triple1) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
int4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int5
Erin is not smart.
Unknown
inv-random
[@0: Erin is smart.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "smart" "-")
Harry is smart.
Unknown
random
[@0: Harry is smart.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "smart" "+")
Fiona is not furry.
Unknown
inv-random
[@0: Fiona is furry.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "furry" "-")
Charlie is smart.
Unknown
random
[@0: Charlie is smart.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "smart" "+")
@0: Charlie is furry.[(triple1)] Erin is furry.[(triple2)] Erin is quiet.[(triple3 OR ((triple2) -> rule4))] Erin is white.[(triple4 OR ((((((triple3) -> rule2)) -> rule3)) -> rule8) OR ((((((((triple2) -> rule4)) -> rule2)) -> rule3)) -> rule8))] Fiona is green.[(triple5)] Fiona is not quiet.[(triple6)] Fiona is not smart.[(triple8)] Fiona is rough.[(triple7 OR ((triple5) -> rule3))] Fiona is white.[(triple9 OR ((triple7) -> rule8) OR ((((triple5) -> rule3)) -> rule8))] Harry is blue.[(triple10 OR ((triple14) -> rule5) OR ((((triple13) -> rule8)) -> rule5) OR ((((((triple12) -> rule3)) -> rule8)) -> rule5) OR ((((((((((triple11) -> rule4)) -> rule2)) -> rule3)) -> rule8)) -> rule5))] Harry is furry.[(triple11)] Harry is green.[(triple12 OR ((triple13 triple11) -> rule1) OR ((((triple11) -> rule4)) -> rule2))] Harry is rough.[(triple13 OR ((triple12) -> rule3) OR ((((((triple11) -> rule4)) -> rule2)) -> rule3))] Harry is white.[(triple14 OR ((triple13) -> rule8) OR ((((triple12) -> rule3)) -> rule8) OR ((((((((triple11) -> rule4)) -> rule2)) -> rule3)) -> rule8))] @1: Charlie is quiet.[(((triple1) -> rule4))] Erin is blue.[(((triple4) -> rule5) OR ((((((((triple3) -> rule2)) -> rule3)) -> rule8)) -> rule5) OR ((((((((((triple2) -> rule4)) -> rule2)) -> rule3)) -> rule8)) -> rule5))] Erin is green.[(((triple3) -> rule2) OR ((((triple2) -> rule4)) -> rule2))] Fiona is blue.[(((triple9) -> rule5) OR ((((triple7) -> rule8)) -> rule5) OR ((((((triple5) -> rule3)) -> rule8)) -> rule5))] Harry is quiet.[(((triple11) -> rule4))] @2: Charlie is green.[(((((triple1) -> rule4)) -> rule2))] Erin is rough.[(((((triple3) -> rule2)) -> rule3) OR ((((((triple2) -> rule4)) -> rule2)) -> rule3))] @3: Charlie is rough.[(((((((triple1) -> rule4)) -> rule2)) -> rule3))] @4: Charlie is white.[(((((((((triple1) -> rule4)) -> rule2)) -> rule3)) -> rule8))] @5: Charlie is blue.[(((((((((((triple1) -> rule4)) -> rule2)) -> rule3)) -> rule8)) -> rule5))]
Charlie is furry.
("Charlie" "is" "furry" "+")
triple1
Erin is furry.
("Erin" "is" "furry" "+")
triple2
Erin is quiet.
("Erin" "is" "quiet" "+")
triple3
((triple2) -> (rule4 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
triple4
((((((triple3) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
((((((((triple2) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
Erin is quiet.
("Erin" "is" "quiet" "+")
int4
Fiona is green.
("Fiona" "is" "green" "+")
triple5
Fiona is not quiet.
("Fiona" "is" "quiet" "-")
triple6
Fiona is not smart.
("Fiona" "is" "smart" "-")
triple8
Fiona is rough.
("Fiona" "is" "rough" "+")
triple7
((triple5) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
triple9
((triple7) -> (rule8 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((((triple5) -> (rule3 % int2))) -> (rule8 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
triple10
((triple14) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
((((triple13) -> (rule8 % int2))) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
((((((triple12) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((((((((((triple11) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
Harry is quiet.
("Harry" "is" "quiet" "+")
int5
Harry is furry.
("Harry" "is" "furry" "+")
triple11
Harry is green.
("Harry" "is" "green" "+")
triple12
((triple13 triple11) -> (rule1 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
((((triple11) -> (rule4 % int2))) -> (rule2 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
triple13
((triple12) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((((((triple11) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
triple14
((triple13) -> (rule8 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
((((triple12) -> (rule3 % int2))) -> (rule8 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
((((((((triple11) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
int4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((triple1) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
((triple4) -> (rule5 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
((((((((triple3) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Erin is green.
("Erin" "is" "green" "+")
int4
((((((((((triple2) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Erin is green.
("Erin" "is" "green" "+")
int4
Erin is quiet.
("Erin" "is" "quiet" "+")
int5
Erin is green.
("Erin" "is" "green" "+")
((triple3) -> (rule2 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
((((triple2) -> (rule4 % int2))) -> (rule2 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple9) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((((triple7) -> (rule8 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
((((((triple5) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
((triple11) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
((((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
((((triple3) -> (rule2 % int2))) -> (rule3 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
((((((triple2) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
((((((triple1) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
((((((((triple1) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
Charlie is blue.
("Charlie" "is" "blue" "+")
((((((((((triple1) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
int4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int5