a<=c0ai
a<=aialengthav
a<=c0aj
a<=ajalengthau
asubsequenceaavc0aiaauc0ajaf
a>=a@V0aiajIa<aialengthavIasubsequenceavauV0F
Na=aialengthav
a<ajalengthau
a=aavaiaauaj
a<a-alengthaua+ajc1a-alengthauajAa<=c0a-alengthauaj
variant decrease
a<=a+aic1alengthavAa<=c0a+aic1
precondition
a<=a+ajc1alengthauAa<=c0a+ajc1
asubsequenceaavc0a+aic1aauc0a+ajc1asetafaiaj
asubsequenceavauaf1
a<a+aic1alengthav
a>=a@af1a+aic1a+ajc1
Na=aavaiaauaj
a<=aialengthavAa<=c0ai
asubsequenceaavc0aiaauc0a+ajc1af
a<aialengthav
a>=a@af1aia+ajc1
a=aialengthav
a=aresultaTrue
asubsequenceavauaf
empty_shape
asubsequenceavauV1E
postcondition
a=aresultiaFalseaTrueasubsequenceavauV1E
asubsequenceavauV2E
Na<ajalengthau
a=aresultaFalse
iia=aresultaFalsea=aresultiaFalseaTrueasubsequenceavauV1Ea<ajalengthaua=aresultaTruea=aialengthav
asubsequenceavauV2Eqa=aresultaTrue
a<=c0alengthavAa<=c0c0
a<=c0alengthauAa<=c0c0
asubsequenceaavc0c0aauc0c0ea=a@V0V1V1F
a<c0alengthav
a>=a@afc0c0
asubsequenceavauV0EqasubsequenceavauV1E
asubsequenceV0V1V2EqasubsequenceV0V1V3EAa>=a@V4c0c0Ia<c0alengthV0IasubsequenceV0V1V4FAasubsequenceaV0c0c0aV1c0c0ea=a@V5V6V6FAa<=c0alengthV1Aa<=c0c0Aa<=c0alengthV0Aa<=c0c0AasubsequenceV0V1V11Eqa=V10aTrueIiia=V10aFalsea=V10iaFalseaTrueasubsequenceV0V1V12Ea<V8alengthV1a=V10aTruea=V7alengthV0FAia>=a@V14V7V13Ia<V7alengthV0IasubsequenceV0V1V14FAasubsequenceaV0c0V7aV1c0V13V9Aa<=V13alengthV1Aa<=c0V13Aa<=V7alengthV0Aa<=c0V7Aa<a-alengthV1V13a-alengthV1V8Aa<=c0a-alengthV1V8La+V8c1a>=a@V17V16V15Ia<V16alengthV0IasubsequenceV0V1V17FAasubsequenceaV0c0V16aV1c0V15asetV9V7V8Aa<=V15alengthV1Aa<=c0V15Aa<=V16alengthV0Aa<=c0V16Aa<a-alengthV1V15a-alengthV1V8Aa<=c0a-alengthV1V8La+V7c1La+V8c1a=aV0V7aV1V8Ia<V8alengthV1INa=V7alengthV0Ia>=a@V18V7V8Ia<V7alengthV0IasubsequenceV0V1V18FAasubsequenceaV0c0V7aV1c0V8V9Aa<=V8alengthV1Aa<=c0V8Aa<=V7alengthV0Aa<=c0V7FF
VC for is_subsequence

2f5dd9eea7542c01b01ea6d12bff2ac6 42H41
e799e1152160104db501270e6a59455f 10H9H8H7H6H5H4H3H2H1H0
61d0486af45d8af9f8a5b9ea333298f8 12H11H8H7H6H5H4H3H2H1H0
09b7604b49d04cab98e4f9be762821f7 12H13H11H8H7H6H5H4H3H2H1H0
d8442974e13eef3f35281b1a772ca3b9 12H14H13H11H8H7H6H5H4H3H2H1H0
04c64a7afc64766f874b1c2106e2804f 12H17H16H15H14H13H11H8H7H6H5H4H3H2H1H0
93830acc027f5349c685046d60d81fe2 10H9H18H7H6H5H4H3H2H1H0
6da6d06686b43008db8d0e67d6cffd46 12H19H18H7H6H5H4H3H2H1H0
897cb0cf1e753b96735f7bec0041b1a7 12H13H19H18H7H6H5H4H3H2H1H0
c52f119dc243e5cdc4f893a28be60f21 12H20H13H19H18H7H6H5H4H3H2H1H0
f0f8f3901f4e7404c147f38fa96f3bda 12H22H21H15H20H13H19H18H7H6H5H4H3H2H1H0
bfca8378d5c80afb98004ceb5fb2b604 28H34H33H5H4H3H2H1H0
b010e0cb29abf009f29b45d64e2f1669 28H30H24H33H5H4H3H2H1H0
73f86e477f897455347f123dfba343ed 28H27H24H24H23H5H4H3H2H1H0
674de7f3019f4ff33a6ac9d8faf0779f 26H25H24H24H23H5H4H3H2H1H0
86f582bf31423809d80fac76f088a7d9 28H30H24H29H7H6H5H4H3H2H1H0
33f7175e632bb6e33ddce3e0304a35d8 28H27H24H32H31H6H5H4H3H2H1H0
be196d2b160ec01e35b2d31c26168899 28H24H15H33H5H4H3H2H1H0
8e309e1fb4172cf889413b7384bbe442 12H35
5d33fb3fd22d57ddeedb94fc2af04a65 12H36H35
72d77660ad37f3186496f55a5011b959 12H37H36H35
305b76b18cb1f226035182a0a78e5680 12H39H38H25H37H36H35
a804c7c3c6c7e4310c6e1db760fbe6e7 28H40
