Obfuscation of Abstract Data-Types - Rowan
Obfuscation of Abstract Data-Types - Rowan
Obfuscation of Abstract Data-Types - Rowan
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