a=V0V1qa=aeqV0V1aTrueF
ia<alengthaV2c1alengthV2Aa<=c0alengthV2Aa<=c1alengthV2Aa<=c0c1a<alengthaV2c1alengthV2Aa<=c0alengthV2Aa<=c1alengthV2Aa<=c0c1a=V5aTrueIa=V4V3qa=V5aTrueLaeqV4V3LaV2c0LaspaceINa=alengthV2c0F
VC for remove_spaces
iia=aremove_spacesV2aconsaV2c0aremove_spacesaV2c1a=aremove_spacesV2aremove_spacesaV2c1a=aeqaV2c0aspaceaTruea=aremove_spacesV2V2a=alengthV2c0F
a<=c0anAa<=c0c0
loop invariant init
a<=c0amAa<=c0c0
a=aremove_spacesaaxc0aremove_spacesaayc0qa=aremove_spacesaxaremove_spacesay
a<=c0ai
a<=aian
a<=c0aj
a<=ajam
a=aremove_spacesaaxaiaremove_spacesaayajqa=aremove_spacesaxaremove_spacesay
a<ajamINa<aian
a=aaxaiaspaceqa=iaFalseaeqaaxaiaspacea<aianaTrueONa<aian
a=iaFalseaeqaaxaiaspacea<aianaTrue
a==aremove_spacesaaxaiaremove_spacesaaxa+aic1
assertion
a=ai1a+aic1
a<a-a+a-anai1amaja-a+a-anaiamajAa<=c0a-a+a-anaiamaj
loop variant decrease
a<=ai1anAa<=c0ai1
loop invariant preservation
a<=ajamAa<=c0aj
a=aremove_spacesaaxai1aremove_spacesaayajqa=aremove_spacesaxaremove_spacesay
Na=iaFalseaeqaaxaiaspacea<aianaTrue
a=aayajaspaceqa=iaFalseaeqaayajaspacea<ajamaTrueONa<ajam
a=iaFalseaeqaayajaspacea<ajamaTrue
a==aremove_spacesaayajaremove_spacesaaya+ajc1
a=aj1a+ajc1
a<a-a+a-anaiamaj1a-a+a-anaiamajAa<=c0a-a+a-anaiamaj
a<=aianAa<=c0ai
a<=aj1amAa<=c0aj1
a=aremove_spacesaaxaiaremove_spacesaayaj1qa=aremove_spacesaxaremove_spacesay
Na=iaFalseaeqaayajaspacea<ajamaTrue
a<aian
a==aremove_spacesaaxaiaconsaaxaiaremove_spacesaaxa+aic1
a==aremove_spacesaaxaiaconsaaxaiaremove_spacesaaxa+aic1Ia<aian
a<ajam
a==aremove_spacesaayajaconsaayajaremove_spacesaaya+ajc1
a==aremove_spacesaayajaconsaayajaremove_spacesaaya+ajc1Ia<ajam
a=ajamINa=aian
a=aremove_spacesaxaremove_spacesayqf
postcondition
NNNa=aian
Na=ajam
a=aaxaiaayajqa=aeqaaxaiaayajaTrue
Na=aeqaaxaiaayajaTrue
NNa=aeqaaxaiaayajaTrue
a<a-a+a-anai1amaj1a-a+a-anaiamajAa<=c0a-a+a-anaiamaj
a=aremove_spacesaaxai1aremove_spacesaayaj1qa=aremove_spacesaxaremove_spacesay
NNNa<aian
Na<ajam
a=aremove_spacesaxaremove_spacesayqt
ia=aremove_spacesV3aremove_spacesV4qtiiiia=aremove_spacesaV3V14aremove_spacesaV4V15qa=aremove_spacesV3aremove_spacesV4Aa<=V15V6Aa<=c0V15Aa<=V14V5Aa<=c0V14Aa<a-a+a-V5V14V6V15a-a+a-V5V8V6V7Aa<=c0a-a+a-V5V8V6V7Ia=V15a+V7c1FIa=V14a+V8c1Fa=aremove_spacesV3aremove_spacesV4qfNa=V13aTrueIa=V12V11qa=V13aTrueLaeqV12V11LaV3V8LaV4V7a=aremove_spacesV3aremove_spacesV4qfa=V7V6INa=V8V5Aa==aremove_spacesaV4V7aconsaV4V7aremove_spacesaV4a+V7c1Ia<V7V6Aa==aremove_spacesaV3V8aconsaV3V8aremove_spacesaV3a+V8c1Ia<V8V5a=aremove_spacesaV3V8aremove_spacesaV4V16qa=aremove_spacesV3aremove_spacesV4Aa<=V16V6Aa<=c0V16Aa<=V8V5Aa<=c0V8Aa<a-a+a-V5V8V6V16a-a+a-V5V8V6V7Aa<=c0a-a+a-V5V8V6V7Ia=V16a+V7c1FAa==aremove_spacesaV4V7aremove_spacesaV4a+V7c1a=V10aTrueIa=aV4V7aspaceqa=V10aTrueONa<V7V6LiaFalseaeqaV4V7aspacea<V7V6a=aremove_spacesaV3V17aremove_spacesaV4V7qa=aremove_spacesV3aremove_spacesV4Aa<=V7V6Aa<=c0V7Aa<=V17V5Aa<=c0V17Aa<a-a+a-V5V17V6V7a-a+a-V5V8V6V7Aa<=c0a-a+a-V5V8V6V7Ia=V17a+V8c1FAa==aremove_spacesaV3V8aremove_spacesaV3a+V8c1a=V9aTrueIa=a
VC for compare_up_to_spaces

001138720cb1a0ba077799e5e1d73bbb 2H1H0
d688354ab09b4055df0380fc078a26a7 55H54H3H0
bd046ddb9f0dad2bde489ce080c7555b 5H4H3H0
0bb92ad3fcee3f9f0af5df6b14a595bc 5H6H4H3H0
26249a538eec01a5d985a3b21522b0c5 5H7H6H4H3H0
16b63c8398b5d13ce097a6b06a6a3d60 17H16H15H14H13H12H11H10H9H8H3H0
f739a2afd4df27e1066002ca9e9f20f0 20H19H18H16H15H14H13H12H11H10H9H8H3H0
e41c3decc45737ef3576ae97c9a505ae 22H21H18H16H15H14H13H12H11H10H9H8H3H0
97722f83500da10db5a5604ba3314d83 22H23H21H18H16H15H14H13H12H11H10H9H8H3H0
7e10aeccd8f3a2c657aab8ca2d5fc90f 22H24H23H21H18H16H15H14H13H12H11H10H9H8H3H0
ee7b7e428c6a2b44085a3a59311e4e90 17H28H27H26H25H14H13H12H11H10H9H8H3H0
fd420be2517d616a6cd010cf51ad7cd8 20H30H29H28H27H26H25H14H13H12H11H10H9H8H3H0
d148c28f750d906bda572c5f3de3018d 22H31H29H28H27H26H25H14H13H12H11H10H9H8H3H0
a9b7efd927a1d62c2885c51ab4a4409f 22H32H31H29H28H27H26H25H14H13H12H11H10H9H8H3H0
909bebf633c0a9f8e827d0c67b5a4058 22H33H32H31H29H28H27H26H25H14H13H12H11H10H9H8H3H0
3e0cb85440d6faabd94951176806ac79 17H36H35H34H26H25H14H13H12H11H10H9H8H3H0
ab4c6d5a9ee913a5791ee6ad9e630a87 17H39H38H37H34H26H25H14H13H12H11H10H9H8H3H0
f3a54621a22d314979b79252fb3eb8c7 43H42H41H40H37H34H26H25H14H13H12H11H10H9H8H3H0
0c16d8ffbdd0503e1a9588ee1af8fec6 43H42H47H46H45H44H40H37H34H26H25H14H13H12H11H10H9H8H3H0
2344d43489b5139864bb8996660cba3b 20H49H29H18H48H46H45H44H40H37H34H26H25H14H13H12H11H10H9H8H3H0
46d5dd7de4c0d0a3949d93c217475772 22H21H29H18H48H46H45H44H40H37H34H26H25H14H13H12H11H10H9H8H3H0
54c276e50fafd3d09cb526f16f48b2f8 22H32H21H29H18H48H46H45H44H40H37H34H26H25H14H13H12H11H10H9H8H3H0
d83abe911fb4c69ad8da388beba05dc9 22H50H32H21H29H18H48H46H45H44H40H37H34H26H25H14H13H12H11H10H9H8H3H0
a35f04a24eea9cd48aa35d19ece99c07 43H53H52H51H12H11H10H9H8H3H0
