23.11.2013 Views

Obfuscation of Abstract Data-Types - Rowan

Obfuscation of Abstract Data-Types - Rowan

Obfuscation of Abstract Data-Types - Rowan

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

APPENDIX A. LIST ASSERTION 148<br />

For this pro<strong>of</strong>, C (A.4) = 4 and H (A.4) = 4. We are now ready to prove<br />

Equation (A.3) by induction on xsp.<br />

Base Case Suppose that xsp = 〈[ ], [ ]〉 asp and so |xsp| asp<br />

= 0. Then<br />

|cat asp xsp ysp| asp<br />

= {definition <strong>of</strong> xsp}<br />

|cat asp 〈[ ], [ ]〉 asp ysp| asp<br />

= {definition <strong>of</strong> cat asp }<br />

|ysp| asp<br />

= {arithmetic}<br />

0 + |ysp| asp<br />

= {definition <strong>of</strong> | | asp<br />

}<br />

|xsp| asp<br />

+ |ysp| asp<br />

= {definition <strong>of</strong> xsp}<br />

|xsp| asp<br />

+ |ysp| asp<br />

Step Case Suppose that xsp = cons asp x 〈l 0 ,r 0 〉 asp , (and then xsp = 〈x :<br />

r 0 ,l 0 〉 asp ) and 〈l 0 ,r 0 〉 asp satisfies (A.2). Then<br />

|cat asp xsp ysp | asp<br />

= {definition <strong>of</strong> xsp}<br />

|cat asp 〈x : r 0 ,l 0 〉 asp ysp| asp<br />

= {definition <strong>of</strong> cat asp }<br />

|cons asp x (cat asp 〈l 0 ,r 0 〉 asp ysp)| asp<br />

= {Equation (A.4)}<br />

1 + |cat asp 〈l 0 ,r 0 〉 asp ysp | asp<br />

= {induction hypothesis}<br />

1 + |〈l 0 ,r 0 〉 asp | asp<br />

+ |ysp| asp<br />

= {Equation (A.4)}<br />

|cons x 〈l 0 ,r 0 〉 asp | asp<br />

+ |ysp| asp<br />

= {definition <strong>of</strong> xsp}<br />

|xsp| asp<br />

+ |ysp| asp

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!