a=V0V1qaeqV0V1F
a>=V5c0Ia=V2V3Ia=V4V3Ia=V5c0FFF
empty_shape
a>=V8c0Ia=V2V3Ia=V7V5Ia=V8a+V6c1FIamemV5asuccV4Ia>=V10c0Ia=V2V3Ia=V9V4Ia=V10V6FAapathV3V4V6FF
a>=V4c0IapathV2V3V4F
amemV7asuccV9AapathV5V9V8EIa>=V8c0Ia=V5V6Ia=V7V6Ia=a+V8c1c0FFF
amemV10asuccV12AapathV5V12V11EIa>=V11c0Ia=V5V6Ia=V10V8Ia=a+V11c1a+V9c1FIamemV8asuccV7IapathV6V7V9FF
amemV6asuccV8AapathV5V8V7EIapathV5V6a+V7c1Ia>=V7c0F
amemV12V9IamemV10V9Ia=V10V11Ia=V12V11Ia=V13c0FFFIamemV15V9IamemV15asuccV14FIamemV14V9FF
amemV15V9IamemV10V9Ia=V10V11Ia=V15V13Ia=V16a+V14c1FIamemV13asuccV12IamemV17V9IamemV10V9Ia=V10V11Ia=V17V12Ia=V18V14FAapathV11V12V14FFIamemV20V9IamemV20asuccV19FIamemV19V9FF
amemV11V9IamemV10V9IapathV10V11V12FIamemV14V9IamemV14asuccV13FIamemV13V9FF
a=V0V1qaeqV0V1Ia=V0V1qaeqV0V1F
VC for eq
amemachooseV0ato_fsetV0INais_emptyato_fsetV0F
aclosurea!!V4a!!V5a!!V6V9INa=V9V3FAasubsetadiffasuccV3a!!V8a!!V4Aasubseta!!V8asuccV3AainvV1V2a!!V4a!!V5a!!V6V7Ia=a!!V8asuccV3FIaclosurea!!V4a!!V5a!!V6V10INa=V10V3FAashortest_pathV1V3V7AainvV1V2a!!V4a!!V5a!!V6V7F
loop invariant init
Nais_emptyato_fsetV9INais_emptyato_fsetV9Iaclosurea!!V11a!!V5a!!V10V12INa=V12V3FAasubsetadiffasuccV3a!!V9a!!V11Aasubseta!!V9asuccV3AainvV1V2a!!V11a!!V5a!!V10V7FIa=a!!V8asuccV3FIaclosurea!!V4a!!V5a!!V6V13INa=V13V3FAashortest_pathV1V3V7AainvV1V2a!!V4a!!V5a!!V6V7F
precondition
a<acardinala!!V12acardinala!!V9Aa<=c0acardinala!!V9Iia=acardinalato_fsetV15a+acardinalato_fsetV10c1a=acardinalato_fsetV15acardinalato_fsetV10amemV13ato_fsetV10Aa=ato_fsetV15aaddV13ato_fsetV10FIia=acardinalato_fsetV14a+acardinalato_fsetV11c1a=acardinalato_fsetV14acardinalato_fsetV11amemV13ato_fsetV11Aa=ato_fsetV14aaddV13ato_fsetV11FINamemV13ato_fsetV11Ia=ato_fsetV12aremoveV13ato_fsetV9AamemV13ato_fsetV9LachooseV9FINais_emptyato_fsetV9Iaclosurea!!V11a!!V5a!!V10V16INa=V16V3FAasubsetadiffasuccV3a!!V9a!!V11Aasubseta!!V9asuccV3AainvV1V2a!!V11a!!V5a!!V10V7FIa=a!!V8asuccV3FIaclosurea!!V4a!!V5a!!V6V17INa=V17V3FAashortest_pathV1V3V7AainvV1V2a!!V4a!!V5a!!V6V7F
loop variant decrease
ainvasata!!avisiteda!!acurrenta!!anextad
ashortest_pathasavad
aclosurea!!avisiteda!!acurrenta!!anextV1INa=V1avF
a=a!!aaccasuccav
ainvasata!!avisited1a!!acurrenta!!anext1ad
asubseta!!aacc1asuccav
asubsetadiffasuccava!!aacc1a!!avisited1
aclosurea!!avisited1a!!acurrenta!!anext1V2INa=V2avF
Nais_emptyato_fsetaacc1
amemawato_fsetaacc1
a=ato_fsetaacc2aremoveawato_fsetaacc1
Namemawato_fsetavisited1
a=ato_fsetavisited2aaddawato_fsetavisited1
ia=acardinalato_fsetavisited2a+acardinalato_fsetavisited1c1a=acardinalato_fsetavisited2acardinalato_fsetavisited1amemawato_fsetavisited1
a=ato_fsetanext2aaddawato_fsetanext1
ia=acardinalato_fsetanext2a+acardinalato_fsetanext1c1a=acardinalato_fsetanext2acardinalato_fsetanext1amemawato_fsetanext1
asubseta!!acurrenta!!avisited2
VC for fill_next
ashortest_pathasV3adIamemV3a!!acurrentF
asubseta!!anext2a!!avisited2
ashortest_pathasV3a+adc1IamemV3a!!anext2F
amemV3a!!avisited2Ia<=V4adIapathasV3V4F
a<=V4a+adc1AapathasV3V4EIamemV3a!!avisited2F
NamemV3a!!avisited2OamemV3a!!anext2Iashortest_pathasV3a+adc1F
amemata!!anext2Oamemata!!acurrentIamemata!!avisited2
amemV3asuccavIamemV3a!!aacc2F
amemV3a!!avisited2IamemV3adiffasuccava!!aacc2F
amemV4a!!avisited2IamemV4asuccV3FINamemV3a!!anext2INamemV3a!!acurrentIamemV3a!!avisited2INa=V3avF
amemV4a!!avisited2IamemV4asuccV3FINamemV3a!!anext2INamemV3a!!acurrentIamemV3a!!avisited2INa=V3avFAamemV5a!!avisited2IamemV5adiffasuccava!!aacc2FAamemV6asuccavIamemV6a!!aacc2FAamemata!!anext2Oamemata!!acurrentIamemata!!avisited2ANamemV7a!!avisited2OamemV7a!!anext2Iashortest_pathasV7a+adc1FAa<=V9a+adc1AapathasV8V9EIamemV8a!!avisited2FAamemV10a!!avisited2Ia<=V11adIapathasV10V11FAashortest_pathasV12a+adc1IamemV12a!!anext2FAasubseta!!anext2a!!avisited2Aashortest_pathasV13adIamemV13a!!acurrentFAasubseta!!acurrenta!!avisited2
loop invariant preservation
aclosurea!!avisited2a!!acurrenta!!anext2V3INa=V3avFAasubsetadiffasuccava!!aacc2a!!avisited2Aasubseta!!aacc2asuccavAainvasata!!avisited2a!!acurrenta!!anext2ad
aclosurea!!V14a!!V5a!!V15V16INa=V16V3FAasubsetadiffasuccV3a!!V12a!!V14Aasubseta!!V12asuccV3AainvV1V2a!!V14a!!V5a!!V15V7Iia=acardinalato_fsetV15a+acardinalato_fsetV10c1a=acardinalato_fsetV15acardinalato_fsetV10amemV13ato_fsetV10Aa=ato_fsetV15aaddV13ato_fsetV10FIia=acardinalato_fsetV14a+acardinalato_fsetV11c1a=acardinalato_fsetV14acardinalato_fsetV11amemV13ato_fsetV11Aa=ato_fsetV14aaddV13ato_fsetV11FINamemV13ato_fsetV11Ia=ato_fsetV12aremoveV13ato_fsetV9AamemV13ato_fsetV9LachooseV9FINais_emptyato_fsetV9Iaclosurea!!V11a!!V5a!!V10V17INa=V17V3FAasubsetadiffasuccV3a!!V9a!!V11Aasubseta!!V9asuccV3AainvV1V2a!!V11a!!V5a!!V10V7FIa=a!!V8asuccV3FIaclosurea!!V4a!!V5a!!V6V18INa=V18V3FAashortest_pathV1V3V7AainvV1V2a!!V4a!!V5a!!V6V7F
a<acardinala!!V12acardinala!!V9Aa<=c0acardinala!!V9INNamemV13ato_fsetV11Ia=ato_fsetV12aremoveV13ato_fsetV9AamemV13ato_fsetV9LachooseV9FINais_emptyato_fsetV9Iaclosurea!!V11a!!V5a!!V10V14INa=V14V3FAasubsetadiffasuccV3a!!V9a!!V11Aasubseta!!V9asuccV3AainvV1V2a!!V11a!!V5a!!V10V7FIa=a!!V8asuccV3FIaclosurea!!V4a!!V5a!!V6V15INa=V15V3FAashortest_pathV1V3V7AainvV1V2a!!V4a!!V5a!!V6V7F
aclosurea!!V11a!!V5a!!V10V14INa=V14V3FAasubsetadiffasuccV3a!!V12a!!V11Aasubseta!!V12asuccV3AainvV1V2a!!V11a!!V5a!!V10V7INNamemV13ato_fsetV11Ia=ato_fsetV12aremoveV13ato_fsetV9AamemV13ato_fsetV9LachooseV9FINais_emptyato_fsetV9Iaclosurea!!V11a!!V5a!!V10V15INa=V15V3FAasubsetadiffasuccV3a!!V9a!!V11Aasubseta!!V9asuccV3AainvV1V2a!!V11a!!V5a!!V10V7FIa=a!!V8asuccV3FIaclosurea!!V4a!!V5a!!V6V16INa=V16V3FAashortest_pathV1V3V7AainvV1V2a!!V4a!!V5a!!V6V7F
aclosurea!!V11a!!V5a!!V10V12FAasubsetasuccV3a!!V11AainvV1V2a!!V11a!!V5a!!V10V7INNais_emptyato_fsetV9Iaclosurea!!V11a!!V5a!!V10V13INa=V13V3FAasubsetadiffasuccV3a!!V9a!!V11Aasubseta!!V9asuccV3AainvV1V2a!!V11a!!V5a!!V10V7FIa=a!!V8asuccV3FIaclosurea!!V4a!!V5a!!V6V14INa=V14V3FAashortest_pathV1V3V7AainvV1V2a!!V4a!!V5a!!V6V7F
postcondition
iaclosurea!!V11a!!V5a!!V10V12FAasubsetasuccV3a!!V11AainvV1V2a!!V11a!!V5a!!V10V7iaclosurea!!V11a!!V5a!!V10V15INa=V15V3FAasubsetadiffasuccV3a!!V13a!!V11Aasubseta!!V13asuccV3AainvV1V2a!!V11a!!V5a!!V10V7Aa<acardinala!!V13acardinala!!V9Aa<=c0acardinala!!V9aclosurea!!V16a!!V5a!!V17V18INa=V18V3FAasubsetadiffasuccV3a!!V13a!!V16Aasubseta!!V13asuccV3AainvV1V2a!!V16a!!V5a!!V17V7Aa<acardinala!!V13acardinala!!V9Aa<=c0acardinala!!V9Iia=acardinalato_fsetV17a+acardinalato_fsetV10c1a=acardinalato_fsetV17acardinalato_fsetV10amemV14ato_fsetV10Aa=ato_fsetV17aaddV14ato_fsetV10FIia=acardinalato_fsetV16a+acardinalato_fsetV11c1a=acardinalato_fsetV16acardinalato_fsetV11amemV14ato_fsetV11Aa=ato_fsetV16aaddV14ato_fsetV11FNamemV14ato_fsetV11Ia=ato_fsetV13aremoveV14ato_fsetV9AamemV14ato_fsetV9LachooseV9FANais_emptyato_fsetV9Nais_emptyato_fsetV9Iaclosurea!!V11a!!V5a!!V10V19INa=V19V3FAasubsetadiffasuccV3a!!V9a!!V11Aasubseta!!V9asuccV3AainvV1V2a!!V11a!!V5a!!V10V7FAaclosurea!!V4a!!V5a!!V6V20INa=V20V3FAasubsetadiffasuccV3a!!V8a!!V4Aasubseta!!
a<=c0c0Aaclosurea!!V6a!!V7a!!V5V8FAais_emptya!!V5Iais_emptya!!V7AainvV1V2a!!V6a!!V7a!!V5c0Iia=acardinalato_fsetV7a+acardinalato_fsetV4c1a=acardinalato_fsetV7acardinalato_fsetV4amemV1ato_fsetV4Aa=ato_fsetV7aaddV1ato_fsetV4FIia=acardinalato_fsetV6a+acardinalato_fsetV3c1a=acardinalato_fsetV6acardinalato_fsetV3amemV1ato_fsetV3Aa=ato_fsetV6aaddV1ato_fsetV3FIa=acardinalato_fsetV5c0Aa=ato_fsetV5aemptyFIa=acardinalato_fsetV4c0Aa=ato_fsetV4aemptyFIa=acardinalato_fsetV3c0Aa=ato_fsetV3aemptyFF
Nais_emptyato_fsetV10INais_emptyato_fsetV10Ia<=c0V8Aaclosurea!!V11a!!V10a!!V9V12FAais_emptya!!V9Iais_emptya!!V10AainvV1V2a!!V11a!!V10a!!V9V8FIia=acardinalato_fsetV7a+acardinalato_fsetV4c1a=acardinalato_fsetV7acardinalato_fsetV4amemV1ato_fsetV4Aa=ato_fsetV7aaddV1ato_fsetV4FIia=acardinalato_fsetV6a+acardinalato_fsetV3c1a=acardinalato_fsetV6acardinalato_fsetV3amemV1ato_fsetV3Aa=ato_fsetV6aaddV1ato_fsetV3FIa=acardinalato_fsetV5c0Aa=ato_fsetV5aemptyFIa=acardinalato_fsetV4c0Aa=ato_fsetV4aemptyFIa=acardinalato_fsetV3c0Aa=ato_fsetV3aemptyFF
ashortest_pathV1V2V8IaeqV13V2Ia=V13V2qaeqV13V2Ia=ato_fsetV12aremoveV13ato_fsetV10AamemV13ato_fsetV10LachooseV10FINais_emptyato_fsetV10Ia<=c0V8Aaclosurea!!V11a!!V10a!!V9V14FAais_emptya!!V9Iais_emptya!!V10AainvV1V2a!!V11a!!V10a!!V9V8FIia=acardinalato_fsetV7a+acardinalato_fsetV4c1a=acardinalato_fsetV7acardinalato_fsetV4amemV1ato_fsetV4Aa=ato_fsetV7aaddV1ato_fsetV4FIia=acardinalato_fsetV6a+acardinalato_fsetV3c1a=acardinalato_fsetV6acardinalato_fsetV3amemV1ato_fsetV3Aa=ato_fsetV6aaddV1ato_fsetV3FIa=acardinalato_fsetV5c0Aa=ato_fsetV5aemptyFIa=acardinalato_fsetV4c0Aa=ato_fsetV4aemptyFIa=acardinalato_fsetV3c0Aa=ato_fsetV3aemptyFF
exceptional postcondition
ainvV1V2a!!V11a!!V12a!!V9V8INaeqV13V2Ia=V13V2qaeqV13V2Ia=ato_fsetV12aremoveV13ato_fsetV10AamemV13ato_fsetV10LachooseV10FINais_emptyato_fsetV10Ia<=c0V8Aaclosurea!!V11a!!V10a!!V9V14FAais_emptya!!V9Iais_emptya!!V10AainvV1V2a!!V11a!!V10a!!V9V8FIia=acardinalato_fsetV7a+acardinalato_fsetV4c1a=acardinalato_fsetV7acardinalato_fsetV4amemV1ato_fsetV4Aa=ato_fsetV7aaddV1ato_fsetV4FIia=acardinalato_fsetV6a+acardinalato_fsetV3c1a=acardinalato_fsetV6acardinalato_fsetV3amemV1ato_fsetV3Aa=ato_fsetV6aaddV1ato_fsetV3FIa=acardinalato_fsetV5c0Aa=ato_fsetV5aemptyFIa=acardinalato_fsetV4c0Aa=ato_fsetV4aemptyFIa=acardinalato_fsetV3c0Aa=ato_fsetV3aemptyFF
VC for bfs
ashortest_pathV1V13V8INaeqV13V2Ia=V13V2qaeqV13V2Ia=ato_fsetV12aremoveV13ato_fsetV10AamemV13ato_fsetV10LachooseV10FINais_emptyato_fsetV10Ia<=c0V8Aaclosurea!!V11a!!V10a!!V9V14FAais_emptya!!V9Iais_emptya!!V10AainvV1V2a!!V11a!!V10a!!V9V8FIia=acardinalato_fsetV7a+acardinalato_fsetV4c1a=acardinalato_fsetV7acardinalato_fsetV4amemV1ato_fsetV4Aa=ato_fsetV7aaddV1ato_fsetV4FIia=acardinalato_fsetV6a+acardinalato_fsetV3c1a=acardinalato_fsetV6acardinalato_fsetV3amemV1ato_fsetV3Aa=ato_fsetV6aaddV1ato_fsetV3FIa=acardinalato_fsetV5c0Aa=ato_fsetV5aemptyFIa=acardinalato_fsetV4c0Aa=ato_fsetV4aemptyFIa=acardinalato_fsetV3c0Aa=ato_fsetV3aemptyFF
a=ato_fsetavisitedaempty
a=acardinalato_fsetavisitedc0
a=ato_fsetaoaempty
a=acardinalato_fsetaoc0
a=ato_fsetao1aempty
a=acardinalato_fsetao1c0
a=ato_fsetavisited1aaddasato_fsetavisited
ia=acardinalato_fsetavisited1a+acardinalato_fsetavisitedc1a=acardinalato_fsetavisited1acardinalato_fsetavisitedamemasato_fsetavisited
a=ato_fsetacurrentaaddasato_fsetao
ia=acardinalato_fsetacurrenta+acardinalato_fsetaoc1a=acardinalato_fsetacurrentacardinalato_fsetaoamemasato_fsetao
ainvasata!!avisited2a!!acurrent1a!!anextad
ais_emptya!!anextIais_emptya!!acurrent1
aclosurea!!avisited2a!!acurrent1a!!anextV1F
a<=c0ad
Nais_emptyato_fsetacurrent1
amemavato_fsetacurrent1
a=ato_fsetacurrent2aremoveavato_fsetacurrent1
a=avatqaeqavat
Naeqavat
Na=axav
amemV2a!!avisited2IamemV2asuccaxFINamemaxa!!anextINamemaxa!!acurrent2Iamemaxa!!avisited2
aclosurea!!avisited2a!!acurrent2a!!anextax
aclosurea!!V11a!!V12a!!V9V14INa=V14V13FINaeqV13V2Ia=V13V2qaeqV13V2Ia=ato_fsetV12aremoveV13ato_fsetV10AamemV13ato_fsetV10LachooseV10FINais_emptyato_fsetV10Ia<=c0V8Aaclosurea!!V11a!!V10a!!V9V15FAais_emptya!!V9Iais_emptya!!V10AainvV1V2a!!V11a!!V10a!!V9V8FIia=acardinalato_fsetV7a+acardinalato_fsetV4c1a=acardinalato_fsetV7acardinalato_fsetV4amemV1ato_fsetV4Aa=ato_fsetV7aaddV1ato_fsetV4FIia=acardinalato_fsetV6a+acardinalato_fsetV3c1a=acardinalato_fsetV6acardinalato_fsetV3amemV1ato_fsetV3Aa=ato_fsetV6aaddV1ato_fsetV3FIa=acardinalato_fsetV5c0Aa=ato_fsetV5aemptyFIa=acardinalato_fsetV4c0Aa=ato_fsetV4aemptyFIa=acardinalato_fsetV3c0Aa=ato_fsetV3aemptyFF
aclosurea!!V11a!!V12a!!V9V14INa=V14V13FAashortest_pathV1V13V8AainvV1V2a!!V11a!!V12a!!V9V8INaeqV13V2Ia=V13V2qaeqV13V2Ia=ato_fsetV12aremoveV13ato_fsetV10AamemV13ato_fsetV10LachooseV10FINais_emptyato_fsetV10Ia<=c0V8Aaclosurea!!V11a!!V10a!!V9V15FAais_emptya!!V9Iais_emptya!!V10AainvV1V2a!!V11a!!V10a!!V9V8FIia=acardinalato_fsetV7a+acardinalato_fsetV4c1a=acardinalato_fsetV7acardinalato_fsetV4amemV1ato_fsetV4Aa=ato_fsetV7aaddV1ato_fsetV4FIia=acardinalato_fsetV6a+acardinalato_fsetV3c1a=acardinalato_fsetV6acardinalato_fsetV3amemV1ato_fsetV3Aa=ato_fsetV6aaddV1ato_fsetV3FIa=acardinalato_fsetV5c0Aa=ato_fsetV5aemptyFIa=acardinalato_fsetV4c0Aa=ato_fsetV4aemptyFIa=acardinalato_fsetV3c0Aa=ato_fsetV3aemptyFF
ainvasata!!avisited3a!!acurrent2a!!anext1ad
asubsetasuccava!!avisited3
aclosurea!!avisited3a!!acurrent2a!!anext1V2F
ais_emptyato_fsetacurrent2
a=ato_fsetao2aempty
a=acardinalato_fsetao2c0
a=anext2ao2
a=acurrent3anext1
a=ad1a+adc1
asubseta!!acurrent3a!!avisited3
ashortest_pathasV3ad1IamemV3a!!acurrent3F
asubseta!!anext2a!!avisited3
ashortest_pathasV3a+ad1c1IamemV3a!!anext2F
amemachooseV0ato_fsetV0INNamemV1ato_fsetV0FF
amematato_fsetanextOamematato_fsetacurrent1Iamematato_fsetavisited2ANamemV2ato_fsetavisited2OamemV2ato_fsetanextINapathasV2V3Ia<V3a+adc1FAapathasV2a+adc1FAa=V5a+adc1Oa<V5a+adc1AapathasV4V5EIamemV4ato_fsetavisited2FAamemV6ato_fsetavisited2Ia=V7adOa<V7adIapathasV6V7FANapathasV8V9Ia<V9a+adc1FAapathasV8a+adc1IamemV8ato_fsetanextFAamemV10ato_fsetavisited2IamemV10ato_fsetanextFANapathasV11V12Ia<V12adFAapathasV11adIamemV11ato_fsetacurrent1FAamemV13ato_fsetavisited2IamemV13ato_fsetacurrent1F
NamemV14ato_fsetanextFINamemV15ato_fsetacurrent1F
amemV17ato_fsetavisited2IamemV17asuccV16FINamemV16ato_fsetanextINamemV16ato_fsetacurrent1IamemV16ato_fsetavisited2F
a=c0adOa<c0ad
NNamemV18ato_fsetacurrent1F
amemachooseacurrent1ato_fsetacurrent1
a=ato_fsetacurrent2aremoveachooseacurrent1ato_fsetacurrent1
a=achooseacurrent1atqaeqachooseacurrent1at
Naeqachooseacurrent1at
amematato_fsetanext1Oamematato_fsetacurrent2Iamematato_fsetavisited3ANamemV19ato_fsetavisited3OamemV19ato_fsetanext1INapathasV19V20Ia<V20a+adc1FAapathasV19a+adc1FAa=V22a+adc1Oa<V22a+adc1AapathasV21V22EIamemV21ato_fsetavisited3FAamemV23ato_fsetavisited3Ia=V24adOa<V24adIapathasV23V24FANapathasV25V26Ia<V26a+adc1FAapathasV25a+adc1IamemV25ato_fsetanext1FAamemV27ato_fsetavisited3IamemV27ato_fsetanext1FANapathasV28V29Ia<V29adFAapathasV28adIamemV28ato_fsetacurrent2FAamemV30ato_fsetavisited3IamemV30ato_fsetacurrent2F
amemV31ato_fsetavisited3IamemV31asuccachooseacurrent1F
amemV33ato_fsetavisited3IamemV33asuccV32FINamemV32ato_fsetanext1INamemV32ato_fsetacurrent2IamemV32ato_fsetavisited3F
NamemV34ato_fsetacurrent2F
amemV35ato_fsetavisited3Ia=V36ad1Oa<V36ad1IapathasV35V36F
amemV3a!!avisited3Ia<=V4ad1IapathasV3V4F
a<=V4a+ad1c1AapathasV3V4EIamemV3a!!avisited3F
NamemV3a!!avisited3OamemV3a!!anext2Iashortest_pathasV3a+ad1c1F
amemata!!anext2Oamemata!!acurrent3Iamemata!!avisited3
amemata!!anext2Oamemata!!acurrent3Iamemata!!avisited3ANamemV3a!!avisited3OamemV3a!!anext2Iashortest_pathasV3a+ad1c1FAa<=V5a+ad1c1AapathasV4V5EIamemV4a!!avisited3FAamemV6a!!avisited3Ia<=V7ad1IapathasV6V7FAashortest_pathasV8a+ad1c1IamemV8a!!anext2FAasubseta!!anext2a!!avisited3Aashortest_pathasV9ad1IamemV9a!!acurrent3FAasubseta!!acurrent3a!!avisited3
ainvasata!!avisited3a!!acurrent3a!!anext2ad1
ainvV1V2a!!V15a!!V18a!!V17V19Ia=V19a+V8c1FIa=V18V14Ia=V17V16FIa=acardinalato_fsetV16c0Aa=ato_fsetV16aemptyFIais_emptyato_fsetV12Iaclosurea!!V15a!!V12a!!V14V20FAasubsetasuccV13a!!V15AainvV1V2a!!V15a!!V12a!!V14V8FINaeqV13V2Ia=V13V2qaeqV13V2Ia=ato_fsetV12aremoveV13ato_fsetV10AamemV13ato_fsetV10LachooseV10FINais_emptyato_fsetV10Ia<=c0V8Aaclosurea!!V11a!!V10a!!V9V21FAais_emptya!!V9Iais_emptya!!V10AainvV1V2a!!V11a!!V10a!!V9V8FIia=acardinalato_fsetV7a+acardinalato_fsetV4c1a=acardinalato_fsetV7acardinalato_fsetV4amemV1ato_fsetV4Aa=ato_fsetV7aaddV1ato_fsetV4FIia=acardinalato_fsetV6a+acardinalato_fsetV3c1a=acardinalato_fsetV6acardinalato_fsetV3amemV1ato_fsetV3Aa=ato_fsetV6aaddV1ato_fsetV3FIa=acardinalato_fsetV5c0Aa=ato_fsetV5aemptyFIa=acardinalato_fsetV4c0Aa=ato_fsetV4aemptyFIa=acardinalato_fsetV3c0Aa=ato_fsetV3aemptyFF
ais_emptya!!V17Iais_emptya!!V18Ia=V19a+V8c1FIa=V18V14Ia=V17V16FIa=acardinalato_fsetV16c0Aa=ato_fsetV16aemptyFIais_emptyato_fsetV12Iaclosurea!!V15a!!V12a!!V14V20FAasubsetasuccV13a!!V15AainvV1V2a!!V15a!!V12a!!V14V8FINaeqV13V2Ia=V13V2qaeqV13V2Ia=ato_fsetV12aremoveV13ato_fsetV10AamemV13ato_fsetV10LachooseV10FINais_emptyato_fsetV10Ia<=c0V8Aaclosurea!!V11a!!V10a!!V9V21FAais_emptya!!V9Iais_emptya!!V10AainvV1V2a!!V11a!!V10a!!V9V8FIia=acardinalato_fsetV7a+acardinalato_fsetV4c1a=acardinalato_fsetV7acardinalato_fsetV4amemV1ato_fsetV4Aa=ato_fsetV7aaddV1ato_fsetV4FIia=acardinalato_fsetV6a+acardinalato_fsetV3c1a=acardinalato_fsetV6acardinalato_fsetV3amemV1ato_fsetV3Aa=ato_fsetV6aaddV1ato_fsetV3FIa=acardinalato_fsetV5c0Aa=ato_fsetV5aemptyFIa=acardinalato_fsetV4c0Aa=ato_fsetV4aemptyFIa=acardinalato_fsetV3c0Aa=ato_fsetV3aemptyFF
amemV3a!!avisited3IamemV3asuccaxFINamemaxa!!anext2INamemaxa!!acurrent3Iamemaxa!!avisited3
aclosurea!!avisited3a!!acurrent3a!!anext2ax
aclosurea!!V15a!!V18a!!V17V20FIa=V19a+V8c1FIa=V18V14Ia=V17V16FIa=acardinalato_fsetV16c0Aa=ato_fsetV16aemptyFIais_emptyato_fsetV12Iaclosurea!!V15a!!V12a!!V14V21FAasubsetasuccV13a!!V15AainvV1V2a!!V15a!!V12a!!V14V8FINaeqV13V2Ia=V13V2qaeqV13V2Ia=ato_fsetV12aremoveV13ato_fsetV10AamemV13ato_fsetV10LachooseV10FINais_emptyato_fsetV10Ia<=c0V8Aaclosurea!!V11a!!V10a!!V9V22FAais_emptya!!V9Iais_emptya!!V10AainvV1V2a!!V11a!!V10a!!V9V8FIia=acardinalato_fsetV7a+acardinalato_fsetV4c1a=acardinalato_fsetV7acardinalato_fsetV4amemV1ato_fsetV4Aa=ato_fsetV7aaddV1ato_fsetV4FIia=acardinalato_fsetV6a+acardinalato_fsetV3c1a=acardinalato_fsetV6acardinalato_fsetV3amemV1ato_fsetV3Aa=ato_fsetV6aaddV1ato_fsetV3FIa=acardinalato_fsetV5c0Aa=ato_fsetV5aemptyFIa=acardinalato_fsetV4c0Aa=ato_fsetV4aemptyFIa=acardinalato_fsetV3c0Aa=ato_fsetV3aemptyFF
a<=c0V19Ia=V19a+V8c1FIa=V18V14Ia=V17V16FIa=acardinalato_fsetV16c0Aa=ato_fsetV16aemptyFIais_emptyato_fsetV12Iaclosurea!!V15a!!V12a!!V14V20FAasubsetasuccV13a!!V15AainvV1V2a!!V15a!!V12a!!V14V8FINaeqV13V2Ia=V13V2qaeqV13V2Ia=ato_fsetV12aremoveV13ato_fsetV10AamemV13ato_fsetV10LachooseV10FINais_emptyato_fsetV10Ia<=c0V8Aaclosurea!!V11a!!V10a!!V9V21FAais_emptya!!V9Iais_emptya!!V10AainvV1V2a!!V11a!!V10a!!V9V8FIia=acardinalato_fsetV7a+acardinalato_fsetV4c1a=acardinalato_fsetV7acardinalato_fsetV4amemV1ato_fsetV4Aa=ato_fsetV7aaddV1ato_fsetV4FIia=acardinalato_fsetV6a+acardinalato_fsetV3c1a=acardinalato_fsetV6acardinalato_fsetV3amemV1ato_fsetV3Aa=ato_fsetV6aaddV1ato_fsetV3FIa=acardinalato_fsetV5c0Aa=ato_fsetV5aemptyFIa=acardinalato_fsetV4c0Aa=ato_fsetV4aemptyFIa=acardinalato_fsetV3c0Aa=ato_fsetV3aemptyFF
a<=c0V19Aaclosurea!!V15a!!V18a!!V17V20FAais_emptya!!V17Iais_emptya!!V18AainvV1V2a!!V15a!!V18a!!V17V19Ia=V19a+V8c1FIa=V18V14Ia=V17V16FIa=acardinalato_fsetV16c0Aa=ato_fsetV16aemptyFIais_emptyato_fsetV12Iaclosurea!!V15a!!V12a!!V14V21FAasubsetasuccV13a!!V15AainvV1V2a!!V15a!!V12a!!V14V8FINaeqV13V2Ia=V13V2qaeqV13V2Ia=ato_fsetV12aremoveV13ato_fsetV10AamemV13ato_fsetV10LachooseV10FINais_emptyato_fsetV10Ia<=c0V8Aaclosurea!!V11a!!V10a!!V9V22FAais_emptya!!V9Iais_emptya!!V10AainvV1V2a!!V11a!!V10a!!V9V8FIia=acardinalato_fsetV7a+acardinalato_fsetV4c1a=acardinalato_fsetV7acardinalato_fsetV4amemV1ato_fsetV4Aa=ato_fsetV7aaddV1ato_fsetV4FIia=acardinalato_fsetV6a+acardinalato_fsetV3c1a=acardinalato_fsetV6acardinalato_fsetV3amemV1ato_fsetV3Aa=ato_fsetV6aaddV1ato_fsetV3FIa=acardinalato_fsetV5c0Aa=ato_fsetV5aemptyFIa=acardinalato_fsetV4c0Aa=ato_fsetV4aemptyFIa=acardinalato_fsetV3c0Aa=ato_fsetV3aemptyFF
a<=c0V8Aaclosurea!!V15a!!V12a!!V14V16FAais_emptya!!V14Iais_emptya!!V12AainvV1V2a!!V15a!!V12a!!V14V8INais_emptyato_fsetV12Iaclosurea!!V15a!!V12a!!V14V17FAasubsetasuccV13a!!V15AainvV1V2a!!V15a!!V12a!!V14V8FINaeqV13V2Ia=V13V2qaeqV13V2Ia=ato_fsetV12aremoveV13ato_fsetV10AamemV13ato_fsetV10LachooseV10FINais_emptyato_fsetV10Ia<=c0V8Aaclosurea!!V11a!!V10a!!V9V18FAais_emptya!!V9Iais_emptya!!V10AainvV1V2a!!V11a!!V10a!!V9V8FIia=acardinalato_fsetV7a+acardinalato_fsetV4c1a=acardinalato_fsetV7acardinalato_fsetV4amemV1ato_fsetV4Aa=ato_fsetV7aaddV1ato_fsetV4FIia=acardinalato_fsetV6a+acardinalato_fsetV3c1a=acardinalato_fsetV6acardinalato_fsetV3amemV1ato_fsetV3Aa=ato_fsetV6aaddV1ato_fsetV3FIa=acardinalato_fsetV5c0Aa=ato_fsetV5aemptyFIa=acardinalato_fsetV4c0Aa=ato_fsetV4aemptyFIa=acardinalato_fsetV3c0Aa=ato_fsetV3aemptyFF
NamemV2a!!V11INNais_emptyato_fsetV10Ia<=c0V8Aaclosurea!!V11a!!V10a!!V9V12FAais_emptya!!V9Iais_emptya!!V10AainvV1V2a!!V11a!!V10a!!V9V8FIia=acardinalato_fsetV7a+acardinalato_fsetV4c1a=acardinalato_fsetV7acardinalato_fsetV4amemV1ato_fsetV4Aa=ato_fsetV7aaddV1ato_fsetV4FIia=acardinalato_fsetV6a+acardinalato_fsetV3c1a=acardinalato_fsetV6acardinalato_fsetV3amemV1ato_fsetV3Aa=ato_fsetV6aaddV1ato_fsetV3FIa=acardinalato_fsetV5c0Aa=ato_fsetV5aemptyFIa=acardinalato_fsetV4c0Aa=ato_fsetV4aemptyFIa=acardinalato_fsetV3c0Aa=ato_fsetV3aemptyFF
assertion
NapathV1V2V12FINamemV2a!!V11INNais_emptyato_fsetV10Ia<=c0V8Aaclosurea!!V11a!!V10a!!V9V13FAais_emptya!!V9Iais_emptya!!V10AainvV1V2a!!V11a!!V10a!!V9V8FIia=acardinalato_fsetV7a+acardinalato_fsetV4c1a=acardinalato_fsetV7acardinalato_fsetV4amemV1ato_fsetV4Aa=ato_fsetV7aaddV1ato_fsetV4FIia=acardinalato_fsetV6a+acardinalato_fsetV3c1a=acardinalato_fsetV6acardinalato_fsetV3amemV1ato_fsetV3Aa=ato_fsetV6aaddV1ato_fsetV3FIa=acardinalato_fsetV5c0Aa=ato_fsetV5aemptyFIa=acardinalato_fsetV4c0Aa=ato_fsetV4aemptyFIa=acardinalato_fsetV3c0Aa=ato_fsetV3aemptyFF
iNapathV1V2V12FANamemV2a!!V11iia<=c0V8Aaclosurea!!V16a!!V13a!!V15V17FAais_emptya!!V15Iais_emptya!!V13AainvV1V2a!!V16a!!V13a!!V15V8a<=c0V21Aaclosurea!!V16a!!V20a!!V19V22FAais_emptya!!V19Iais_emptya!!V20AainvV1V2a!!V16a!!V20a!!V19V21Ia=V21a+V8c1FIa=V20V15Ia=V19V18FIa=acardinalato_fsetV18c0Aa=ato_fsetV18aemptyFais_emptyato_fsetV13Iaclosurea!!V16a!!V13a!!V15V23FAasubsetasuccV14a!!V16AainvV1V2a!!V16a!!V13a!!V15V8FAaclosurea!!V11a!!V13a!!V9V24INa=V24V14FAashortest_pathV1V14V8AainvV1V2a!!V11a!!V13a!!V9V8ashortest_pathV1V2V8aeqV14V2Ia=V14V2qaeqV14V2Ia=ato_fsetV13aremoveV14ato_fsetV10AamemV14ato_fsetV10LachooseV10FANais_emptyato_fsetV10Nais_emptyato_fsetV10Ia<=c0V8Aaclosurea!!V11a!!V10a!!V9V25FAais_emptya!!V9Iais_emptya!!V10AainvV1V2a!!V11a!!V10a!!V9V8FAa<=c0c0Aaclosurea!!V6a!!V7a!!V5V26FAais_emptya!!V5Iais_emptya!!V7AainvV1V2a!!V6a!!V7a!!V5c0Iia=acardinalato_fsetV7a+acardinalato_fsetV4c1a=acardinalato_fsetV7acardinalato_fsetV4amemV1ato_fsetV4Aa=ato_fsetV7aaddV1ato_fsetV4FIia=acardinalato_fsetV6a+acardinalato_fsetV3c1

4e31d98aa347f3486ba06bf59b61c537 2H4H0
fd9602429b739f3257fdc399299ad83b 2H1H0
2b739675bf198402631a926665dff2a8 2H3H0
d2a5be9c6dd8568dd1cda4b1e19897f6 2H7H4H0
e0a6b1b436f0ba7fda8585097f9e3dfe 2H5H4H0
a5cf30b0baa0644e147cc00b096c3537 2H6H4H0
7659468372d752931389837441b240d7 2H10H7H4H0
07b9ca216114fff7d3768444c277ae61 2H8H7H4H0
3177be7fc927e3971e646bd0415f5dda 2H9H7H4H0
14ee0fbd8c4f837da16904ccce39d4d3 12H11
5f99bc4f19c5cad43540c837294248f6 37H56H13
2aeb7063c1132b699543bbcd0b788d9f 15H14H13
50a3b8dfaaef49dcea12436b7c7756c4 17H16H13
3444cef7fc6d223d1706bd2aa05f917f 19H18H13
bdcc4a589c60997297bfccb56e48a39f 49H51H13
1fdc3652b622798bb83c6d4c26f6af36 49H50H35H34H33H32H31H30H29H28H27H26H25H24H23H22H21H20H13
830541092bc0a515e283a889baaeb3f7 49H48H35H34H33H32H31H30H29H28H27H26H25H24H23H22H21H20H13
1608e29b397228264f6fb4b49aa660d6 37H36H35H34H33H32H31H30H29H28H27H26H25H24H23H22H21H20H13
4fef65a55adf842db0dcecdc3e02d149 37H38H35H34H33H32H31H30H29H28H27H26H25H24H23H22H21H20H13
d06679045bcd050d7cd674ed53fdee48 37H39H35H34H33H32H31H30H29H28H27H26H25H24H23H22H21H20H13
10fcddbda86ec5fb434fd8b1ccd7f564 37H40H35H34H33H32H31H30H29H28H27H26H25H24H23H22H21H20H13
5c0b142659a1fadecb9df01e8c844dec 37H41H35H34H33H32H31H30H29H28H27H26H25H24H23H22H21H20H13
affdc8d719012acebad5850655fec10d 37H42H35H34H33H32H31H30H29H28H27H26H25H24H23H22H21H20H13
8159a7e02c84e032ba4231554c9d59f8 37H43H35H34H33H32H31H30H29H28H27H26H25H24H23H22H21H20H13
0376490c1a74043ba85e64605c145d44 37H44H35H34H33H32H31H30H29H28H27H26H25H24H23H22H21H20H13
8d9cf271732c335890522e72b2493d81 37H45H35H34H33H32H31H30H29H28H27H26H25H24H23H22H21H20H13
a98a2b3543242fcfee60a57aa5b2bf40 37H46H35H34H33H32H31H30H29H28H27H26H25H24H23H22H21H20H13
0de672dda4775eb00c99cd4e241f4243 37H47H35H34H33H32H31H30H29H28H27H26H25H24H23H22H21H20H13
e604520d7ebc6c2f1106ff21b874291a 19H52H13
419ae06509785d1bdd2c3b42ac802125 49H53H13
a6a98a64f768df4fe5bdf3a2ed3b296e 55H54H13
7c8145e902377c7ea9319233a47f64ec 62H133H13
f8c422e957d77cc88a7ff67d0026b2c5 15H57H13
79eb72038211d07fae00ac2e095d04fa 17H58H13
64f12168594679336cd7d43120316934 60H59H13
a539a7eced6d20ee7cc8c5f1cf2d6eb0 17H87H13
bc40266301f7ced32630da0b27b83b8a 62H61H13
891a6f32594489f67f3e3a542aea92f6 62H63H13
efd6ebf922e58de852d50b7f01d654d3 62H86H13
d563fedfd26de06846f60b10e4a1f5d5 62H85H83H82H81H80H79H78H77H76H75H74H73H72H71H70H69H68H67H66H65H64H13
86448c528206b4b80afa668314d13b72 62H84H83H82H81H80H79H78H77H76H75H74H73H72H71H70H69H68H67H66H65H64H13
64828d9df8b856bf157b2a6efa0d694e 49H128H13
d4be9f8f41ee914c7c39b39e8d422c5b 62H122H13
c1e75038392d2d0f65ec3ba12cd78ad3 62H121H96H95H94H93H92H91H90H89H88H82H81H80H79H78H77H76H75H74H73H72H71H70H69H68H67H66H65H64H13
9d9bcc37a162ecfeeab5b0f40ae34ea5 62H120H96H95H94H93H92H91H90H89H88H82H81H80H79H78H77H76H75H74H73H72H71H70H69H68H67H66H65H64H13
77d155ca094039c96d687bb4942be0d2 62H97H96H95H94H93H92H91H90H89H88H82H81H80H79H78H77H76H75H74H73H72H71H70H69H68H67H66H65H64H13
fcba78b0d15dd58c7ca09cf855189e5d 62H98H96H95H94H93H92H91H90H89H88H82H81H80H79H78H77H76H75H74H73H72H71H70H69H68H67H66H65H64H13
30d3e842b45af486052185df50677df1 62H99H96H95H94H93H92H91H90H89H88H82H81H80H79H78H77H76H75H74H73H72H71H70H69H68H67H66H65H64H13
41493173bd52560e957be71918ef5fe8 62H100H96H95H94H93H92H91H90H89H88H82H81H80H79H78H77H76H75H74H73H72H71H70H69H68H67H66H65H64H13
7cc83f04953296f1a6a58f0ffdd664f6 62H116H96H95H94H93H92H91H90H89H88H82H81H80H79H78H77H76H75H74H73H72H71H70H69H68H67H66H65H64H13
003d827f2ecb7499fab74820e93634e6 62H115H96H95H94H93H92H114H113H112H111H110H109H108H107H106H105H104H103H102H73H72H71H70H69H68H67H66H65H64H101
bed2169c10d4bca0cd45cc75d0b570cb 62H117H96H95H94H93H92H91H90H89H88H82H81H80H79H78H77H76H75H74H73H72H71H70H69H68H67H66H65H64H13
823a7cba6a7c949be97af6b3253ec433 62H118H96H95H94H93H92H91H90H89H88H82H81H80H79H78H77H76H75H74H73H72H71H70H69H68H67H66H65H64H13
40442ea95cf223f8926f06cf5588d158 62H119H96H95H94H93H92H91H90H89H88H82H81H80H79H78H77H76H75H74H73H72H71H70H69H68H67H66H65H64H13
0240e89c1112ecad5659ffe80c41a02b 62H123H13
25a0d2f0ad094b17bc68b43b2a5210a4 62H126H13
f7b4b3f870a5f3b5903008dbbd4d1da7 62H125H96H95H94H93H92H91H90H89H88H82H81H80H79H78H77H76H75H74H73H72H71H70H69H68H67H66H65H64H13
005e16ea56d5a520fc428e9eb48218f0 62H124H96H95H94H93H92H91H90H89H88H82H81H80H79H78H77H76H75H74H73H72H71H70H69H68H67H66H65H64H13
1091d573586fa7b800ab741b3325d15e 62H127H13
e8bc9ef2400bdc4a602aeb3d37242a7c 49H129H13
110eff34a44fb9423b1766ee1ee16204 131H130H13
de45b46c623dc469b3ca4dd101af7c34 55H132H13
