Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
why3
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
122
Issues
122
List
Boards
Labels
Service Desk
Milestones
Merge Requests
15
Merge Requests
15
Operations
Operations
Incidents
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Why3
why3
Commits
4740cd89
Commit
4740cd89
authored
Apr 06, 2013
by
Andrei Paskevich
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
repair sessions
parent
a098ed15
Changes
91
Hide whitespace changes
Inline
Side-by-side
Showing
91 changed files
with
5346 additions
and
5309 deletions
+5346
-5309
examples/add_list/why3session.xml
examples/add_list/why3session.xml
+4
-4
examples/alphaBeta/why3session.xml
examples/alphaBeta/why3session.xml
+44
-44
examples/arm/why3session.xml
examples/arm/why3session.xml
+2
-2
examples/bellman_ford/bf_WP_BellmanFord_WP_parameter_bellman_ford_15.v
...man_ford/bf_WP_BellmanFord_WP_parameter_bellman_ford_15.v
+49
-46
examples/bellman_ford/bf_WP_BellmanFord_WP_parameter_bellman_ford_17.v
...man_ford/bf_WP_BellmanFord_WP_parameter_bellman_ford_17.v
+44
-43
examples/bellman_ford/bf_WP_BellmanFord_WP_parameter_bellman_ford_18.v
...man_ford/bf_WP_BellmanFord_WP_parameter_bellman_ford_18.v
+44
-43
examples/bellman_ford/bf_WP_BellmanFord_WP_parameter_bellman_ford_19.v
...man_ford/bf_WP_BellmanFord_WP_parameter_bellman_ford_19.v
+46
-44
examples/bellman_ford/why3session.xml
examples/bellman_ford/why3session.xml
+281
-339
examples/binary_search/why3session.xml
examples/binary_search/why3session.xml
+4
-4
examples/binary_sqrt/why3session.xml
examples/binary_sqrt/why3session.xml
+6
-6
examples/checking_a_large_routine/why3session.xml
examples/checking_a_large_routine/why3session.xml
+16
-16
examples/counting_sort/why3session.xml
examples/counting_sort/why3session.xml
+811
-695
examples/decrease1/why3session.xml
examples/decrease1/why3session.xml
+40
-40
examples/dijkstra/why3session.xml
examples/dijkstra/why3session.xml
+9
-9
examples/edit_distance/edit_distance_EditDistance_WP_parameter_distance_1.v
...ance/edit_distance_EditDistance_WP_parameter_distance_1.v
+34
-29
examples/edit_distance/why3session.xml
examples/edit_distance/why3session.xml
+279
-296
examples/euler001/why3session.xml
examples/euler001/why3session.xml
+2
-2
examples/fact/why3session.xml
examples/fact/why3session.xml
+2
-2
examples/fib_memo/why3session.xml
examples/fib_memo/why3session.xml
+2
-2
examples/fibonacci/fibonacci_WP_FibonacciLogarithmic_WP_parameter_logfib_1.v
...fibonacci_WP_FibonacciLogarithmic_WP_parameter_logfib_1.v
+20
-19
examples/fibonacci/why3session.xml
examples/fibonacci/why3session.xml
+13
-13
examples/fill/why3session.xml
examples/fill/why3session.xml
+2
-2
examples/find/why3session.xml
examples/find/why3session.xml
+94
-94
examples/foveoos11-cm/duplets/why3session.xml
examples/foveoos11-cm/duplets/why3session.xml
+4
-4
examples/foveoos11-cm/tree_max/why3session.xml
examples/foveoos11-cm/tree_max/why3session.xml
+2
-2
examples/foveoos11_challenge2/why3session.xml
examples/foveoos11_challenge2/why3session.xml
+2
-2
examples/foveoos11_challenge3/why3session.xml
examples/foveoos11_challenge3/why3session.xml
+207
-179
examples/gcd/why3session.xml
examples/gcd/why3session.xml
+8
-8
examples/gcd_bezout/why3session.xml
examples/gcd_bezout/why3session.xml
+12
-12
examples/generate_all_trees/why3session.xml
examples/generate_all_trees/why3session.xml
+76
-76
examples/hamming_sequence/why3session.xml
examples/hamming_sequence/why3session.xml
+2
-2
examples/hashtbl_impl/hashtbl_impl_HashtblImpl_WP_parameter_add_1.v
...ashtbl_impl/hashtbl_impl_HashtblImpl_WP_parameter_add_1.v
+11
-9
examples/hashtbl_impl/hashtbl_impl_HashtblImpl_WP_parameter_find_1.v
...shtbl_impl/hashtbl_impl_HashtblImpl_WP_parameter_find_1.v
+6
-3
examples/hashtbl_impl/hashtbl_impl_HashtblImpl_WP_parameter_remove_1.v
...tbl_impl/hashtbl_impl_HashtblImpl_WP_parameter_remove_1.v
+6
-3
examples/hashtbl_impl/why3session.xml
examples/hashtbl_impl/why3session.xml
+145
-145
examples/hoare_logic/blocking_semantics5/why3session.xml
examples/hoare_logic/blocking_semantics5/why3session.xml
+12
-12
examples/insertion_sort/insertion_sort_InsertionSortGen_WP_parameter_insertion_sort_1.v
...ion_sort_InsertionSortGen_WP_parameter_insertion_sort_1.v
+14
-14
examples/insertion_sort/why3session.xml
examples/insertion_sort/why3session.xml
+117
-117
examples/insertion_sort_list/why3session.xml
examples/insertion_sort_list/why3session.xml
+12
-12
examples/insertion_sort_naive/why3session.xml
examples/insertion_sort_naive/why3session.xml
+240
-240
examples/knuth_prime_numbers/knuth_prime_numbers_WP_PrimeNumbers_WP_parameter_prime_numbers_7.v
...me_numbers_WP_PrimeNumbers_WP_parameter_prime_numbers_7.v
+30
-29
examples/knuth_prime_numbers/why3session.xml
examples/knuth_prime_numbers/why3session.xml
+106
-106
examples/lcp/why3session.xml
examples/lcp/why3session.xml
+16
-16
examples/list_rev/why3session.xml
examples/list_rev/why3session.xml
+2
-2
examples/max_matrix/why3session.xml
examples/max_matrix/why3session.xml
+66
-66
examples/mccarthy/why3session.xml
examples/mccarthy/why3session.xml
+2
-2
examples/mergesort_list/why3session.xml
examples/mergesort_list/why3session.xml
+28
-28
examples/mjrty/why3session.xml
examples/mjrty/why3session.xml
+54
-54
examples/muller/why3session.xml
examples/muller/why3session.xml
+42
-42
examples/my_cosine/why3session.xml
examples/my_cosine/why3session.xml
+1
-1
examples/optimal_replay/distance_Distance_WP_parameter_distance_1.v
...ptimal_replay/distance_Distance_WP_parameter_distance_1.v
+35
-31
examples/optimal_replay/why3session.xml
examples/optimal_replay/why3session.xml
+68
-68
examples/power/why3session.xml
examples/power/why3session.xml
+2
-2
examples/queens/queens_WP_NQueensSets_WP_parameter_t3_1.v
examples/queens/queens_WP_NQueensSets_WP_parameter_t3_1.v
+30
-29
examples/queens/queens_WP_NQueensSets_WP_parameter_t3_3.v
examples/queens/queens_WP_NQueensSets_WP_parameter_t3_3.v
+30
-30
examples/queens/queens_WP_NQueensSets_WP_parameter_t3_4.v
examples/queens/queens_WP_NQueensSets_WP_parameter_t3_4.v
+30
-30
examples/queens/queens_WP_NQueensSets_WP_parameter_t3_5.v
examples/queens/queens_WP_NQueensSets_WP_parameter_t3_5.v
+57
-57
examples/queens/queens_WP_NQueensSets_WP_parameter_t3_6.v
examples/queens/queens_WP_NQueensSets_WP_parameter_t3_6.v
+134
-140
examples/queens/why3session.xml
examples/queens/why3session.xml
+105
-105
examples/quicksort/quicksort_WP_Quicksort_WP_parameter_quick_rec_2.v
...icksort/quicksort_WP_Quicksort_WP_parameter_quick_rec_2.v
+11
-14
examples/quicksort/why3session.xml
examples/quicksort/why3session.xml
+72
-72
examples/relabel/why3session.xml
examples/relabel/why3session.xml
+6
-6
examples/resizable_array/why3session.xml
examples/resizable_array/why3session.xml
+4
-4
examples/selection_sort/why3session.xml
examples/selection_sort/why3session.xml
+48
-48
examples/snapshotable_trees/why3session.xml
examples/snapshotable_trees/why3session.xml
+10
-10
examples/tower_of_hanoi/why3session.xml
examples/tower_of_hanoi/why3session.xml
+86
-86
examples/unraveling_a_card_trick/why3session.xml
examples/unraveling_a_card_trick/why3session.xml
+1
-1
examples/vacid_0_binary_heaps/proofs/heap_implem_WP_Implementation_WP_parameter_extractMin_3.v
...heap_implem_WP_Implementation_WP_parameter_extractMin_3.v
+22
-23
examples/vacid_0_binary_heaps/proofs/why3session.xml
examples/vacid_0_binary_heaps/proofs/why3session.xml
+472
-472
examples/vacid_0_build_maze/why3session.xml
examples/vacid_0_build_maze/why3session.xml
+35
-35
examples/vacid_0_red_black_trees/why3session.xml
examples/vacid_0_red_black_trees/why3session.xml
+100
-100
examples/verifythis_PrefixSumRec/why3session.xml
examples/verifythis_PrefixSumRec/why3session.xml
+117
-117
examples/verifythis_fm2012_LRS/verifythis_fm2012_lcp_LRS_WP_parameter_lrs_10.v
...m2012_LRS/verifythis_fm2012_lcp_LRS_WP_parameter_lrs_10.v
+22
-23
examples/verifythis_fm2012_LRS/verifythis_fm2012_lcp_LRS_WP_parameter_lrs_12.v
...m2012_LRS/verifythis_fm2012_lcp_LRS_WP_parameter_lrs_12.v
+24
-28
examples/verifythis_fm2012_LRS/why3session.xml
examples/verifythis_fm2012_LRS/why3session.xml
+220
-220
examples/verifythis_fm2012_treedel/verifythis_fm2012_treedel_Treedel_WP_parameter_search_tree_delete_min_2.v
...2_treedel_Treedel_WP_parameter_search_tree_delete_min_2.v
+29
-36
examples/verifythis_fm2012_treedel/why3session.xml
examples/verifythis_fm2012_treedel/why3session.xml
+25
-25
examples/vstte10_aqueue/why3session.xml
examples/vstte10_aqueue/why3session.xml
+2
-2
examples/vstte10_inverting/vstte10_inverting_WP_InvertingAnInjection_WP_parameter_inverting2_2.v
...rting_WP_InvertingAnInjection_WP_parameter_inverting2_2.v
+20
-18
examples/vstte10_inverting/vstte10_inverting_WP_InvertingAnInjection_WP_parameter_inverting_1.v
...erting_WP_InvertingAnInjection_WP_parameter_inverting_1.v
+19
-19
examples/vstte10_inverting/why3session.xml
examples/vstte10_inverting/why3session.xml
+44
-44
examples/vstte10_max_sum/vstte10_max_sum_MaxAndSum_WP_parameter_max_sum_1.v
...ax_sum/vstte10_max_sum_MaxAndSum_WP_parameter_max_sum_1.v
+55
-77
examples/vstte10_max_sum/vstte10_max_sum_WP_MaxAndSum2_WP_parameter_max_sum_1.v
...um/vstte10_max_sum_WP_MaxAndSum2_WP_parameter_max_sum_1.v
+80
-97
examples/vstte10_max_sum/why3session.xml
examples/vstte10_max_sum/why3session.xml
+56
-56
examples/vstte10_queens/why3session.xml
examples/vstte10_queens/why3session.xml
+4
-4
examples/vstte10_search_list/why3session.xml
examples/vstte10_search_list/why3session.xml
+2
-2
examples/vstte12_bfs/why3session.xml
examples/vstte12_bfs/why3session.xml
+1
-1
examples/vstte12_combinators/why3session.xml
examples/vstte12_combinators/why3session.xml
+60
-60
examples/vstte12_ring_buffer/why3session.xml
examples/vstte12_ring_buffer/why3session.xml
+27
-27
examples/vstte12_tree_reconstruction/why3session.xml
examples/vstte12_tree_reconstruction/why3session.xml
+94
-94
examples/zeros/why3session.xml
examples/zeros/why3session.xml
+16
-16
No files found.
examples/add_list/why3session.xml
View file @
4740cd89
...
...
@@ -71,10 +71,10 @@
locfile=
"../add_list.mlw"
loclnum=
"44"
loccnumb=
"4"
loccnume=
"8"
expl=
"VC for main"
sum=
"
1e59a24fb282a191a17e4debdff0ca6e
"
sum=
"
3addecdc3def08b9d84f78ae1b651633
"
proved=
"true"
expanded=
"true"
shape=
"ainfix =V
1c4.7Aainfix =V0c22Iainfix =V1aadd_realaConsaIntegerc5aConsaRealc3.3aConsaIntegerc8aConsaRealc1.4aConsaIntegerc9aNilAainfix =V0aadd_intaConsaIntegerc5aConsaRealc3.3aConsaIntegerc8aConsaRealc1.4aConsaIntegerc9aNilF
"
>
shape=
"ainfix =V
2c4.7Aainfix =V1c22Iainfix =V2aadd_realV0Aainfix =V1aadd_intV0FLaConsaIntegerc5aConsaRealc3.3aConsaIntegerc8aConsaRealc1.4aConsaIntegerc9aNil
"
>
<label
name=
"expl:VC for main"
/>
<proof
...
...
@@ -134,10 +134,10 @@
locfile=
"../add_list.mlw"
loclnum=
"86"
loccnumb=
"4"
loccnume=
"8"
expl=
"VC for main"
sum=
"
9a71ed6f77f4b28ff9d67782ed191026
"
sum=
"
14865656d7430b23243e556d7d49e6c7
"
proved=
"true"
expanded=
"true"
shape=
"ainfix =V
1c4.7Aainfix =V0c22Iainfix =V1aadd_realaConsaIntegerc5aConsaRealc3.3aConsaIntegerc8aConsaRealc1.4aConsaIntegerc9aNilAainfix =V0aadd_intaConsaIntegerc5aConsaRealc3.3aConsaIntegerc8aConsaRealc1.4aConsaIntegerc9aNilF
"
>
shape=
"ainfix =V
2c4.7Aainfix =V1c22Iainfix =V2aadd_realV0Aainfix =V1aadd_intV0FLaConsaIntegerc5aConsaRealc3.3aConsaIntegerc8aConsaRealc1.4aConsaIntegerc9aNil
"
>
<label
name=
"expl:VC for main"
/>
<proof
...
...
examples/alphaBeta/why3session.xml
View file @
4740cd89
...
...
@@ -160,10 +160,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"109"
loccnumb=
"10"
loccnume=
"31"
expl=
"VC for move_value_alpha_beta"
sum=
"
a332a9c8f7688c122f1579e6af887e5
3"
sum=
"
5974256969be47144ed719ff72f9bff
3"
proved=
"true"
expanded=
"false"
shape=
"iainfix <V
6aprefix -V0Aainfix <aprefix -V1V6ainfix =aprefix -V5aprefix -V6iainfix <=V6aprefix -V1ainfix >=aprefix -V5V1ainfix <=aprefix -V5V0Laminmaxado_moveV2V4ainfix -V3c1Iiainfix <aminmaxado_moveV2V4ainfix -V3c1aprefix -V0Aainfix <aprefix -V1aminmaxado_moveV2V4ainfix -V3c1ainfix =V5aminmaxado_moveV2V4ainfix -V3c1iainfix <=aminmaxado_moveV2V4ainfix -V3c1aprefix -V1ainfix <=V5aprefix -V1ainfix >=V5aprefix -V0FAainfix >=ainfix -V3c1c0
Iainfix >=V3c1F"
>
shape=
"iainfix <V
11aprefix -V0Aainfix <aprefix -V1V11ainfix =V10aprefix -V11iainfix <=V11aprefix -V1ainfix >=V10V1ainfix <=V10V0Laminmaxado_moveV2V4ainfix -V3c1Laprefix -V9Iiainfix <aminmaxV5V6V7Aainfix <V8aminmaxV5V6ainfix =V9aminmaxV5V6iainfix <=aminmaxV5V6V8ainfix <=V9V8ainfix >=V9V7FAainfix >=V6c0Laprefix -V1Laprefix -V0Lainfix -V3c1Lado_moveV2V4
Iainfix >=V3c1F"
>
<label
name=
"expl:VC for move_value_alpha_beta"
/>
<transf
...
...
@@ -175,10 +175,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"109"
loccnumb=
"10"
loccnume=
"31"
expl=
"1. precondition"
sum=
"
06278163163a9df94de2a2cc153cea8f
"
sum=
"
4f8f54ce3efd51c86432f42c423a8eb0
"
proved=
"true"
expanded=
"false"
shape=
"ainfix >=
ainfix -V3c1c0
Iainfix >=V3c1F"
>
shape=
"ainfix >=
V6c0Laprefix -V1Laprefix -V0Lainfix -V3c1Lado_moveV2V4
Iainfix >=V3c1F"
>
<label
name=
"expl:VC for move_value_alpha_beta"
/>
<proof
...
...
@@ -235,10 +235,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"109"
loccnumb=
"10"
loccnume=
"31"
expl=
"2. postcondition"
sum=
"
ac507ff1b6f5460ac814583862d1895c
"
sum=
"
b9473518c9c500752845999b7f470c14
"
proved=
"true"
expanded=
"false"
shape=
"iainfix <V
6aprefix -V0Aainfix <aprefix -V1V6ainfix =aprefix -V5aprefix -V6iainfix <=V6aprefix -V1ainfix >=aprefix -V5V1ainfix <=aprefix -V5V0Laminmaxado_moveV2V4ainfix -V3c1Iiainfix <aminmaxado_moveV2V4ainfix -V3c1aprefix -V0Aainfix <aprefix -V1aminmaxado_moveV2V4ainfix -V3c1ainfix =V5aminmaxado_moveV2V4ainfix -V3c1iainfix <=aminmaxado_moveV2V4ainfix -V3c1aprefix -V1ainfix <=V5aprefix -V1ainfix >=V5aprefix -V0FIainfix >=ainfix -V3c1c0
Iainfix >=V3c1F"
>
shape=
"iainfix <V
11aprefix -V0Aainfix <aprefix -V1V11ainfix =V10aprefix -V11iainfix <=V11aprefix -V1ainfix >=V10V1ainfix <=V10V0Laminmaxado_moveV2V4ainfix -V3c1Laprefix -V9Iiainfix <aminmaxV5V6V7Aainfix <V8aminmaxV5V6ainfix =V9aminmaxV5V6iainfix <=aminmaxV5V6V8ainfix <=V9V8ainfix >=V9V7FIainfix >=V6c0Laprefix -V1Laprefix -V0Lainfix -V3c1Lado_moveV2V4
Iainfix >=V3c1F"
>
<label
name=
"expl:VC for move_value_alpha_beta"
/>
<transf
...
...
@@ -250,10 +250,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"109"
loccnumb=
"10"
loccnume=
"31"
expl=
"1. postcondition"
sum=
"
c12f95a92138357c66b05d621b418cba
"
sum=
"
e85ec6b2c57edf43b4a62891b2cbd726
"
proved=
"true"
expanded=
"false"
shape=
"ainfix =
aprefix -V5aprefix -V6Iainfix <V6aprefix -V0Aainfix <aprefix -V1V6Laminmaxado_moveV2V4ainfix -V3c1Iiainfix <aminmaxado_moveV2V4ainfix -V3c1aprefix -V0Aainfix <aprefix -V1aminmaxado_moveV2V4ainfix -V3c1ainfix =V5aminmaxado_moveV2V4ainfix -V3c1iainfix <=aminmaxado_moveV2V4ainfix -V3c1aprefix -V1ainfix <=V5aprefix -V1ainfix >=V5aprefix -V0FIainfix >=ainfix -V3c1c0
Iainfix >=V3c1F"
>
shape=
"ainfix =
V10aprefix -V11Iainfix <V11aprefix -V0Aainfix <aprefix -V1V11Laminmaxado_moveV2V4ainfix -V3c1Laprefix -V9Iiainfix <aminmaxV5V6V7Aainfix <V8aminmaxV5V6ainfix =V9aminmaxV5V6iainfix <=aminmaxV5V6V8ainfix <=V9V8ainfix >=V9V7FIainfix >=V6c0Laprefix -V1Laprefix -V0Lainfix -V3c1Lado_moveV2V4
Iainfix >=V3c1F"
>
<label
name=
"expl:VC for move_value_alpha_beta"
/>
<proof
...
...
@@ -270,10 +270,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"109"
loccnumb=
"10"
loccnume=
"31"
expl=
"2. postcondition"
sum=
"
f346ce905ab570c3e6acee9c1d75b860
"
sum=
"
1a57d9cf91cccc0d13cc730e1818524b
"
proved=
"true"
expanded=
"false"
shape=
"ainfix >=
aprefix -V5V1Iainfix <=V6aprefix -V1Iainfix <V6aprefix -V0Aainfix <aprefix -V1V6NLaminmaxado_moveV2V4ainfix -V3c1Iiainfix <aminmaxado_moveV2V4ainfix -V3c1aprefix -V0Aainfix <aprefix -V1aminmaxado_moveV2V4ainfix -V3c1ainfix =V5aminmaxado_moveV2V4ainfix -V3c1iainfix <=aminmaxado_moveV2V4ainfix -V3c1aprefix -V1ainfix <=V5aprefix -V1ainfix >=V5aprefix -V0FIainfix >=ainfix -V3c1c0
Iainfix >=V3c1F"
>
shape=
"ainfix >=
V10V1Iainfix <=V11aprefix -V1Iainfix <V11aprefix -V0Aainfix <aprefix -V1V11NLaminmaxado_moveV2V4ainfix -V3c1Laprefix -V9Iiainfix <aminmaxV5V6V7Aainfix <V8aminmaxV5V6ainfix =V9aminmaxV5V6iainfix <=aminmaxV5V6V8ainfix <=V9V8ainfix >=V9V7FIainfix >=V6c0Laprefix -V1Laprefix -V0Lainfix -V3c1Lado_moveV2V4
Iainfix >=V3c1F"
>
<label
name=
"expl:VC for move_value_alpha_beta"
/>
<proof
...
...
@@ -290,10 +290,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"109"
loccnumb=
"10"
loccnume=
"31"
expl=
"3. postcondition"
sum=
"
bbf93aeaaf1d14daed633dae2ea77649
"
sum=
"
77612ad6c2e8b1b8e726358fff18f6c1
"
proved=
"true"
expanded=
"false"
shape=
"ainfix <=
aprefix -V5V0Iainfix <=V6aprefix -V1NIainfix <V6aprefix -V0Aainfix <aprefix -V1V6NLaminmaxado_moveV2V4ainfix -V3c1Iiainfix <aminmaxado_moveV2V4ainfix -V3c1aprefix -V0Aainfix <aprefix -V1aminmaxado_moveV2V4ainfix -V3c1ainfix =V5aminmaxado_moveV2V4ainfix -V3c1iainfix <=aminmaxado_moveV2V4ainfix -V3c1aprefix -V1ainfix <=V5aprefix -V1ainfix >=V5aprefix -V0FIainfix >=ainfix -V3c1c0
Iainfix >=V3c1F"
>
shape=
"ainfix <=
V10V0Iainfix <=V11aprefix -V1NIainfix <V11aprefix -V0Aainfix <aprefix -V1V11NLaminmaxado_moveV2V4ainfix -V3c1Laprefix -V9Iiainfix <aminmaxV5V6V7Aainfix <V8aminmaxV5V6ainfix =V9aminmaxV5V6iainfix <=aminmaxV5V6V8ainfix <=V9V8ainfix >=V9V7FIainfix >=V6c0Laprefix -V1Laprefix -V0Lainfix -V3c1Lado_moveV2V4
Iainfix >=V3c1F"
>
<label
name=
"expl:VC for move_value_alpha_beta"
/>
<proof
...
...
@@ -314,10 +314,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"121"
loccnumb=
"7"
loccnume=
"15"
expl=
"VC for negabeta"
sum=
"
29ce0e7f8822b15d21ad679421c83ee9
"
sum=
"
4c3e8b26475ef944744a3429afb84c4a
"
proved=
"false"
expanded=
"true"
shape=
"iainfix =V3c0iainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3ainfix =
aposition_valueV2aminmaxV2V3iainfix <=aminmaxV2V3V0ainfix <=aposition_valueV2V0ainfix >=aposition_valueV2V1Calegal_movesV2aNiliainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3ainfix =aposition_valueV2aminmaxV2V3iainfix <=aminmaxV2V3V0ainfix <=aposition_valueV2V0ainfix >=aposition_valueV2V1aConsVViainfix >=V6V1iainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3ainfix =V6aminmaxV2V3iainfix <=aminmaxV2V3V0ainfix <=V6V0ainfix >=V6V1iainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3ainfix =V7aminmaxV2V3iainfix <=aminmaxV2V3V0ainfix <=V7V0ainfix >=V7V1Iiais_emptyV8ainfix =V7V6iainfix <V9V1Aainfix <amaxV6V0V9ainfix =V7V9iainfix <=V9amaxV6V0ainfix <=V7amaxV6V0ainfix >=V7V1LaminaTuple2V2V3V8LaelementsV5FAainfix >=V3c1Iiainfix <V10aprefix -V0Aainfix <aprefix -V1V10ainfix =V6aprefix -V10iainfix <=V10aprefix -V1ainfix >=V6V1ainfix <=V6V0Laminmaxado_moveV2V4
ainfix -V3c1FAainfix >=V3c1Iainfix >=V3c0F"
>
shape=
"iainfix =V3c0iainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3ainfix =
V4aminmaxV2V3iainfix <=aminmaxV2V3V0ainfix <=V4V0ainfix >=V4V1Laposition_valueV2Calegal_movesV2aNiliainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3ainfix =V5aminmaxV2V3iainfix <=aminmaxV2V3V0ainfix <=V5V0ainfix >=V5V1Laposition_valueV2aConsVViainfix >=V8V1iainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3ainfix =V8aminmaxV2V3iainfix <=aminmaxV2V3V0ainfix <=V8V0ainfix >=V8V1iainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3ainfix =V10aminmaxV2V3iainfix <=aminmaxV2V3V0ainfix <=V10V0ainfix >=V10V1Iiais_emptyV11ainfix =V10V8iainfix <V12V1Aainfix <V9V12ainfix =V10V12iainfix <=V12V9ainfix <=V10V9ainfix >=V10V1LaminaTuple2V2V3V11LaelementsV7FAainfix >=V3c1LamaxV8V0Iiainfix <V13aprefix -V0Aainfix <aprefix -V1V13ainfix =V8aprefix -V13iainfix <=V13aprefix -V1ainfix >=V8V1ainfix <=V8V0Laminmaxado_moveV2V6
ainfix -V3c1FAainfix >=V3c1Iainfix >=V3c0F"
>
<label
name=
"expl:VC for negabeta"
/>
<transf
...
...
@@ -329,10 +329,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"121"
loccnumb=
"7"
loccnume=
"15"
expl=
"1. postcondition"
sum=
"
17436e5ad6f404a6d6b118a3dd501a78
"
sum=
"
3ac6052ce9786e59d863ad8f8e47f0a0
"
proved=
"true"
expanded=
"false"
shape=
"iainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3ainfix =
aposition_valueV2aminmaxV2V3iainfix <=aminmaxV2V3V0ainfix <=aposition_valueV2V0ainfix >=aposition_valueV2V1
Iainfix =V3c0Iainfix >=V3c0F"
>
shape=
"iainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3ainfix =
V4aminmaxV2V3iainfix <=aminmaxV2V3V0ainfix <=V4V0ainfix >=V4V1Laposition_valueV2
Iainfix =V3c0Iainfix >=V3c0F"
>
<label
name=
"expl:VC for negabeta"
/>
<proof
...
...
@@ -352,10 +352,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"121"
loccnumb=
"7"
loccnume=
"15"
expl=
"1. postcondition"
sum=
"
977619128dc2ac90b9ee2dbb22d1dda1
"
sum=
"
81633d72c54aa3f2a70c5477a0d869f3
"
proved=
"true"
expanded=
"false"
shape=
"ainfix =
aposition_valueV2aminmaxV2V3Iainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3
Iainfix =V3c0Iainfix >=V3c0F"
>
shape=
"ainfix =
V4aminmaxV2V3Iainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3Laposition_valueV2
Iainfix =V3c0Iainfix >=V3c0F"
>
<label
name=
"expl:VC for negabeta"
/>
<proof
...
...
@@ -380,10 +380,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"121"
loccnumb=
"7"
loccnume=
"15"
expl=
"2. postcondition"
sum=
"
eb9265336a8e61bc709fe742b4767cc8
"
sum=
"
d33e8a8377b22c94a18ffae66af3c9e6
"
proved=
"true"
expanded=
"false"
shape=
"ainfix <=
aposition_valueV2V0Iainfix <=aminmaxV2V3V0Iainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3N
Iainfix =V3c0Iainfix >=V3c0F"
>
shape=
"ainfix <=
V4V0Iainfix <=aminmaxV2V3V0Iainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3NLaposition_valueV2
Iainfix =V3c0Iainfix >=V3c0F"
>
<label
name=
"expl:VC for negabeta"
/>
<proof
...
...
@@ -408,10 +408,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"121"
loccnumb=
"7"
loccnume=
"15"
expl=
"3. postcondition"
sum=
"
dafb041d825b78bfab27ba7b89696a1
5"
sum=
"
52ccf7cdcfca2a72549cc274d96be64
5"
proved=
"true"
expanded=
"false"
shape=
"ainfix >=
aposition_valueV2V1Iainfix <=aminmaxV2V3V0NIainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3N
Iainfix =V3c0Iainfix >=V3c0F"
>
shape=
"ainfix >=
V4V1Iainfix <=aminmaxV2V3V0NIainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3NLaposition_valueV2
Iainfix =V3c0Iainfix >=V3c0F"
>
<label
name=
"expl:VC for negabeta"
/>
<proof
...
...
@@ -438,10 +438,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"121"
loccnumb=
"7"
loccnume=
"15"
expl=
"2. postcondition"
sum=
"1
79e6b3c84c4f07b9e5f4b6de2fa8730
"
sum=
"1
067614cb081235803394fa759e2b264
"
proved=
"true"
expanded=
"false"
shape=
"Calegal_movesV2aNiliainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3ainfix =
aposition_valueV2aminmaxV2V3iainfix <=aminmaxV2V3V0ainfix <=aposition_valueV2V0ainfix >=aposition_valueV2V1
aConsVVtIainfix =V3c0NIainfix >=V3c0F"
>
shape=
"Calegal_movesV2aNiliainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3ainfix =
V4aminmaxV2V3iainfix <=aminmaxV2V3V0ainfix <=V4V0ainfix >=V4V1Laposition_valueV2
aConsVVtIainfix =V3c0NIainfix >=V3c0F"
>
<label
name=
"expl:VC for negabeta"
/>
<transf
...
...
@@ -453,10 +453,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"121"
loccnumb=
"7"
loccnume=
"15"
expl=
"1. postcondition"
sum=
"
3762df68709b7a5c5fd90fb64c9448b4
"
sum=
"
0545d7a0ad5ab4f11760327a225ddf59
"
proved=
"true"
expanded=
"false"
shape=
"Calegal_movesV2aNilainfix =
aposition_valueV2aminmaxV2V3Iainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3
aConsVVtIainfix =V3c0NIainfix >=V3c0F"
>
shape=
"Calegal_movesV2aNilainfix =
V4aminmaxV2V3Iainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3Laposition_valueV2
aConsVVtIainfix =V3c0NIainfix >=V3c0F"
>
<label
name=
"expl:VC for negabeta"
/>
<proof
...
...
@@ -489,10 +489,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"121"
loccnumb=
"7"
loccnume=
"15"
expl=
"2. postcondition"
sum=
"
001a47fc69ee51c27e2480ebc843e53
1"
sum=
"
7169cbea929abdbc7d0aac9bc2ba71e
1"
proved=
"true"
expanded=
"false"
shape=
"Calegal_movesV2aNilainfix <=
aposition_valueV2V0Iainfix <=aminmaxV2V3V0Iainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3N
aConsVVtIainfix =V3c0NIainfix >=V3c0F"
>
shape=
"Calegal_movesV2aNilainfix <=
V4V0Iainfix <=aminmaxV2V3V0Iainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3NLaposition_valueV2
aConsVVtIainfix =V3c0NIainfix >=V3c0F"
>
<label
name=
"expl:VC for negabeta"
/>
<proof
...
...
@@ -525,10 +525,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"121"
loccnumb=
"7"
loccnume=
"15"
expl=
"3. postcondition"
sum=
"
352f066a3258e443c30356e719b51441
"
sum=
"
285aa67078cabb60dfaff2aadac67ae8
"
proved=
"true"
expanded=
"false"
shape=
"Calegal_movesV2aNilainfix >=
aposition_valueV2V1Iainfix <=aminmaxV2V3V0NIainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3N
aConsVVtIainfix =V3c0NIainfix >=V3c0F"
>
shape=
"Calegal_movesV2aNilainfix >=
V4V1Iainfix <=aminmaxV2V3V0NIainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3NLaposition_valueV2
aConsVVtIainfix =V3c0NIainfix >=V3c0F"
>
<label
name=
"expl:VC for negabeta"
/>
<proof
...
...
@@ -611,10 +611,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"121"
loccnumb=
"7"
loccnume=
"15"
expl=
"5. precondition"
sum=
"
c813873e116daf8c76d9ece64eec19ed
"
sum=
"
6893fd7b4b212c1c6e2be1271676546e
"
proved=
"true"
expanded=
"false"
shape=
"Calegal_movesV2aNiltaConsVVainfix >=V3c1
Iainfix >=V6V1NIiainfix <V7aprefix -V0Aainfix <aprefix -V1V7ainfix =V6aprefix -V7iainfix <=V7
aprefix -V1ainfix >=V6V1ainfix <=V6V0Laminmaxado_moveV2V4ainfix -V3c1FIainfix >=V3c1Iainfix =V3c0NIainfix >=V3c0F"
>
shape=
"Calegal_movesV2aNiltaConsVVainfix >=V3c1
LamaxV6V0Iainfix >=V6V1NIiainfix <V8aprefix -V0Aainfix <aprefix -V1V8ainfix =V6aprefix -V8iainfix <=V8
aprefix -V1ainfix >=V6V1ainfix <=V6V0Laminmaxado_moveV2V4ainfix -V3c1FIainfix >=V3c1Iainfix =V3c0NIainfix >=V3c0F"
>
<label
name=
"expl:VC for negabeta"
/>
<proof
...
...
@@ -647,10 +647,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"121"
loccnumb=
"7"
loccnume=
"15"
expl=
"6. postcondition"
sum=
"
a1ccb3c2d0dfa7bc74267f3cd20507cd
"
sum=
"
6de295bf37be4765e7bf41253ccfeff2
"
proved=
"false"
expanded=
"true"
shape=
"Calegal_movesV2aNiltaConsVViainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3ainfix =V
7aminmaxV2V3iainfix <=aminmaxV2V3V0ainfix <=V7V0ainfix >=V7V1Iiais_emptyV8ainfix =V7V6iainfix <V9V1Aainfix <amaxV6V0V9ainfix =V7V9iainfix <=V9amaxV6V0ainfix <=V7amaxV6V0ainfix >=V7V1LaminaTuple2V2V3V8LaelementsV5FIainfix >=V3c1Iainfix >=V6V1NIiainfix <V10aprefix -V0Aainfix <aprefix -V1V10ainfix =V6aprefix -V10iainfix <=V10
aprefix -V1ainfix >=V6V1ainfix <=V6V0Laminmaxado_moveV2V4ainfix -V3c1FIainfix >=V3c1Iainfix =V3c0NIainfix >=V3c0F"
>
shape=
"Calegal_movesV2aNiltaConsVViainfix <aminmaxV2V3V1Aainfix <V0aminmaxV2V3ainfix =V
8aminmaxV2V3iainfix <=aminmaxV2V3V0ainfix <=V8V0ainfix >=V8V1Iiais_emptyV9ainfix =V8V6iainfix <V10V1Aainfix <V7V10ainfix =V8V10iainfix <=V10V7ainfix <=V8V7ainfix >=V8V1LaminaTuple2V2V3V9LaelementsV5FIainfix >=V3c1LamaxV6V0Iainfix >=V6V1NIiainfix <V11aprefix -V0Aainfix <aprefix -V1V11ainfix =V6aprefix -V11iainfix <=V11
aprefix -V1ainfix >=V6V1ainfix <=V6V0Laminmaxado_moveV2V4ainfix -V3c1FIainfix >=V3c1Iainfix =V3c0NIainfix >=V3c0F"
>
<label
name=
"expl:VC for negabeta"
/>
</goal>
...
...
@@ -661,10 +661,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"139"
loccnumb=
"7"
loccnume=
"19"
expl=
"VC for negabeta_rec"
sum=
"
69e55eb814eca6f45667b8ec7d92451b
"
sum=
"
1179d627feeacfd1131b60a2ad09f250
"
proved=
"false"
expanded=
"true"
shape=
"CV5aNiliainfix <V7V1Aainfix <V0V7ainfix =V4V7iainfix <=V7V0ainfix <=V4V0ainfix >=V4V1LaminaTuple2V2V3V6Iais_emptyV6NLaelementsV5aConsVViainfix >=
amaxV10V4V1iais_emptyV11ainfix =amaxV10V4V4iainfix <V12V1Aainfix <V0V12ainfix =amaxV10V4V12iainfix <=V12V0ainfix <=amaxV10V4V0ainfix >=amaxV10V4V1LaminaTuple2V2V3V11LaelementsV5iais_emptyV14ainfix =V13V4iainfix <V15V1Aainfix <V0V15ainfix =V13V15iainfix <=V15V0ainfix <=V13V0ainfix >=V13V1LaminaTuple2V2V3V14LaelementsV5Iiais_emptyV16ainfix =V13amaxV10V4iainfix <V17V1Aainfix <amaxamaxV10V4V0V17ainfix =V13V17iainfix <=V17amaxamaxV10V4V0ainfix <=V13amaxamaxV10V4V0ainfix >=V13V1LaminaTuple2V2V3V16LaelementsV9FAainfix >=V3c1Iiainfix <V18aprefix -V0Aainfix <aprefix -V1V18ainfix =V10aprefix -V18iainfix <=V18
aprefix -V1ainfix >=V10V1ainfix <=V10V0Laminmaxado_moveV2V8ainfix -V3c1FAainfix >=V3c1Iainfix >=V3c1F"
>
shape=
"CV5aNiliainfix <V7V1Aainfix <V0V7ainfix =V4V7iainfix <=V7V0ainfix <=V4V0ainfix >=V4V1LaminaTuple2V2V3V6Iais_emptyV6NLaelementsV5aConsVViainfix >=
V11V1iais_emptyV12ainfix =V11V4iainfix <V13V1Aainfix <V0V13ainfix =V11V13iainfix <=V13V0ainfix <=V11V0ainfix >=V11V1LaminaTuple2V2V3V12LaelementsV5iais_emptyV16ainfix =V15V4iainfix <V17V1Aainfix <V0V17ainfix =V15V17iainfix <=V17V0ainfix <=V15V0ainfix >=V15V1LaminaTuple2V2V3V16LaelementsV5Iiais_emptyV18ainfix =V15V11iainfix <V19V1Aainfix <V14V19ainfix =V15V19iainfix <=V19V14ainfix <=V15V14ainfix >=V15V1LaminaTuple2V2V3V18LaelementsV9FAainfix >=V3c1LamaxV11V0LamaxV10V4Iiainfix <V20aprefix -V0Aainfix <aprefix -V1V20ainfix =V10aprefix -V20iainfix <=V20
aprefix -V1ainfix >=V10V1ainfix <=V10V0Laminmaxado_moveV2V8ainfix -V3c1FAainfix >=V3c1Iainfix >=V3c1F"
>
<label
name=
"expl:VC for negabeta_rec"
/>
<transf
...
...
@@ -716,10 +716,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"139"
loccnumb=
"7"
loccnume=
"19"
expl=
"3. postcondition"
sum=
"
2b94cd9f002f82fa43ff34817ab70272
"
sum=
"
fab259bd8938f45e5498b4d5669bcc3b
"
proved=
"false"
expanded=
"true"
shape=
"CV5aNiltaConsVViais_emptyV
9ainfix =amaxV8V4V4iainfix <V10V1Aainfix <V0V10ainfix =amaxV8V4V10iainfix <=V10V0ainfix <=amaxV8V4V0ainfix >=amaxV8V4V1LaminaTuple2V2V3V9LaelementsV5Iainfix >=amaxV8V4V1Iiainfix <V11aprefix -V0Aainfix <aprefix -V1V11ainfix =V8aprefix -V11iainfix <=V11
aprefix -V1ainfix >=V8V1ainfix <=V8V0Laminmaxado_moveV2V6ainfix -V3c1FIainfix >=V3c1Iainfix >=V3c1F"
>
shape=
"CV5aNiltaConsVViais_emptyV
10ainfix =V9V4iainfix <V11V1Aainfix <V0V11ainfix =V9V11iainfix <=V11V0ainfix <=V9V0ainfix >=V9V1LaminaTuple2V2V3V10LaelementsV5Iainfix >=V9V1LamaxV8V4Iiainfix <V12aprefix -V0Aainfix <aprefix -V1V12ainfix =V8aprefix -V12iainfix <=V12
aprefix -V1ainfix >=V8V1ainfix <=V8V0Laminmaxado_moveV2V6ainfix -V3c1FIainfix >=V3c1Iainfix >=V3c1F"
>
<label
name=
"expl:VC for negabeta_rec"
/>
</goal>
...
...
@@ -728,10 +728,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"139"
loccnumb=
"7"
loccnume=
"19"
expl=
"4. precondition"
sum=
"
afc7b06cfeb1c7fb6fe3af31328df1c6
"
sum=
"
6cfdae56022b041afa87e0957df5ed99
"
proved=
"true"
expanded=
"false"
shape=
"CV5aNiltaConsVVainfix >=V3c1
Iainfix >=amaxV8V4V1NIiainfix <V9aprefix -V0Aainfix <aprefix -V1V9ainfix =V8aprefix -V9iainfix <=V9
aprefix -V1ainfix >=V8V1ainfix <=V8V0Laminmaxado_moveV2V6ainfix -V3c1FIainfix >=V3c1Iainfix >=V3c1F"
>
shape=
"CV5aNiltaConsVVainfix >=V3c1
LamaxV9V0Iainfix >=V9V1NLamaxV8V4Iiainfix <V11aprefix -V0Aainfix <aprefix -V1V11ainfix =V8aprefix -V11iainfix <=V11
aprefix -V1ainfix >=V8V1ainfix <=V8V0Laminmaxado_moveV2V6ainfix -V3c1FIainfix >=V3c1Iainfix >=V3c1F"
>
<label
name=
"expl:VC for negabeta_rec"
/>
<proof
...
...
@@ -748,10 +748,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"139"
loccnumb=
"7"
loccnume=
"19"
expl=
"5. postcondition"
sum=
"
10414f5e5277a9840a5e359a8dcb15ba
"
sum=
"
ca0c6a051e227c935e565f6d8e34441c
"
proved=
"false"
expanded=
"true"
shape=
"CV5aNiltaConsVViais_emptyV1
0ainfix =V9V4iainfix <V11V1Aainfix <V0V11ainfix =V9V11iainfix <=V11V0ainfix <=V9V0ainfix >=V9V1LaminaTuple2V2V3V10LaelementsV5Iiais_emptyV12ainfix =V9amaxV8V4iainfix <V13V1Aainfix <amaxamaxV8V4V0V13ainfix =V9V13iainfix <=V13amaxamaxV8V4V0ainfix <=V9amaxamaxV8V4V0ainfix >=V9V1LaminaTuple2V2V3V12LaelementsV7FIainfix >=V3c1Iainfix >=amaxV8V4V1NIiainfix <V14aprefix -V0Aainfix <aprefix -V1V14ainfix =V8aprefix -V14iainfix <=V14
aprefix -V1ainfix >=V8V1ainfix <=V8V0Laminmaxado_moveV2V6ainfix -V3c1FIainfix >=V3c1Iainfix >=V3c1F"
>
shape=
"CV5aNiltaConsVViais_emptyV1
2ainfix =V11V4iainfix <V13V1Aainfix <V0V13ainfix =V11V13iainfix <=V13V0ainfix <=V11V0ainfix >=V11V1LaminaTuple2V2V3V12LaelementsV5Iiais_emptyV14ainfix =V11V9iainfix <V15V1Aainfix <V10V15ainfix =V11V15iainfix <=V15V10ainfix <=V11V10ainfix >=V11V1LaminaTuple2V2V3V14LaelementsV7FIainfix >=V3c1LamaxV9V0Iainfix >=V9V1NLamaxV8V4Iiainfix <V16aprefix -V0Aainfix <aprefix -V1V16ainfix =V8aprefix -V16iainfix <=V16
aprefix -V1ainfix >=V8V1ainfix <=V8V0Laminmaxado_moveV2V6ainfix -V3c1FIainfix >=V3c1Iainfix >=V3c1F"
>
<label
name=
"expl:VC for negabeta_rec"
/>
</goal>
...
...
@@ -762,10 +762,10 @@
locfile=
"../alphaBeta.mlw"
loclnum=
"161"
loccnumb=
"4"
loccnume=
"14"
expl=
"VC for alpha_beta"
sum=
"
135b737fcae00f3ea665881526824bba
"
sum=
"
e238c2500fb35ff2eba38b72c1d2b903
"
proved=
"true"
expanded=
"false"
shape=
"ainfix =V
2aminmaxV0V1Iiainfix <aminmaxV0V1ainfinityAainfix <aprefix -ainfinityaminmaxV0V1ainfix =V2aminmaxV0V1iainfix <=aminmaxV0V1aprefix -ainfinityainfix <=V2aprefix -ainfinityainfix >=V2ainfinityFAainfix >=V1c0
Iainfix >=V1c0F"
>
shape=
"ainfix =V
4aminmaxV0V1Iiainfix <aminmaxV0V1V2Aainfix <V3aminmaxV0V1ainfix =V4aminmaxV0V1iainfix <=aminmaxV0V1V3ainfix <=V4V3ainfix >=V4V2FAainfix >=V1c0Laprefix -ainfinityLainfinity
Iainfix >=V1c0F"
>
<label
name=
"expl:VC for alpha_beta"
/>
<proof
...
...
examples/arm/why3session.xml
View file @
4740cd89
...
...
@@ -24,10 +24,10 @@
locfile=
"../arm.mlw"
loclnum=
"16"
loccnumb=
"6"
loccnume=
"20"
expl=
"VC for insertion_sort"
sum=
"
1aa1097194b9d30e0d6cf83318c97522
"
sum=
"
5677a170e9f6faf600b34c4281eebd63
"
proved=
"false"
expanded=
"false"
shape=
"iainfix <=V5c10iainfix <agetV13V11agetV13
ainfix -V11c1ainfix <V18V11Aainfix <=c0V11Aainfix <=ainfix *c2V15ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V18Aainvamk arrayV0V17Aainfix <=V18V5Aainfix <=c1V18Iainfix =V18ainfix -V11c1FIainfix =V17asetV16ainfix -V11c1agetV13V11Aainfix <=c0V0FAainfix <ainfix -V11c1V0Aainfix <=c0ainfix -V11c1Iainfix =V16asetV13V11agetV13ainfix -V11c1Aainfix <=c0V0FAainfix <V11V0Aainfix <=c0V11Aainfix <ainfix -V11c1V0Aainfix <=c0ainfix -V11c1Aainfix <V11V0Aainfix <=c0V11Iainfix =V15ainfix +V12c1Fainfix <ainfix -c10V19ainfix -c10V5Aainfix <=c0ainfix -c10V5Aainfix <=ainfix *c2V12ainfix *ainfix -V19c2ainfix -V19c1Aainfix =V10ainfix -V19c2AainvV14Aainfix <=V19c11Aainfix <=c2V19Iainfix =V19ainfix +V5c1FAainfix <V11V0Aainfix <=c0V11Aainfix <ainfix -V11c1V0Aainfix <=c0ainfix -V11c1Aainfix <=c0V0
Iainfix <=ainfix *c2V12ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V11AainvV14Aainfix <=V11V5Aainfix <=c1V11Lamk arrayV0V13FAainfix <=ainfix *c2V6ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V5AainvV9Aainfix <=V5V5Aainfix <=c1V5Iainfix =V10ainfix +V7c1Fainfix <=V6c45Aainfix =V7c9Aainfix <=c0V0Iainfix <=ainfix *c2V6ainfix *ainfix -V5c2ainfix -V5c1Aainfix =V7ainfix -V5c2AainvV9Aainfix <=V5c11Aainfix <=c2V5Lamk arrayV0V8FAainfix <=ainfix *c2V1ainfix *ainfix -c2c2ainfix -c2c1Aainfix =V2ainfix -c2c2AainvV4Aainfix <=c2c11Aainfix <=c2c2Iainfix =V1c0Aainfix =V2c0AainvV4Aainfix <=c0V0Lamk arrayV0V3FF"
>
shape=
"iainfix <=V5c10iainfix <agetV13V11agetV13
V15ainfix <V21V11Aainfix <=c0V11Aainfix <=ainfix *c2V16ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V21Aainvamk arrayV0V20Aainfix <=V21V5Aainfix <=c1V21Iainfix =V21ainfix -V11c1FIainfix =V20asetV18V19agetV13V11Aainfix <=c0V0FAainfix <V19V0Aainfix <=c0V19Lainfix -V11c1Iainfix =V18asetV13V11agetV13V17Aainfix <=c0V0FAainfix <V11V0Aainfix <=c0V11Aainfix <V17V0Aainfix <=c0V17Lainfix -V11c1Aainfix <V11V0Aainfix <=c0V11Iainfix =V16ainfix +V12c1Fainfix <ainfix -c10V22ainfix -c10V5Aainfix <=c0ainfix -c10V5Aainfix <=ainfix *c2V12ainfix *ainfix -V22c2ainfix -V22c1Aainfix =V10ainfix -V22c2AainvV14Aainfix <=V22c11Aainfix <=c2V22Iainfix =V22ainfix +V5c1FAainfix <V11V0Aainfix <=c0V11Aainfix <V15V0Aainfix <=c0V15Aainfix <=c0V0Lainfix -V11c1
Iainfix <=ainfix *c2V12ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V11AainvV14Aainfix <=V11V5Aainfix <=c1V11Lamk arrayV0V13FAainfix <=ainfix *c2V6ainfix +ainfix *ainfix -V5c2ainfix -V5c1ainfix *c2ainfix -V5V5AainvV9Aainfix <=V5V5Aainfix <=c1V5Iainfix =V10ainfix +V7c1Fainfix <=V6c45Aainfix =V7c9Aainfix <=c0V0Iainfix <=ainfix *c2V6ainfix *ainfix -V5c2ainfix -V5c1Aainfix =V7ainfix -V5c2AainvV9Aainfix <=V5c11Aainfix <=c2V5Lamk arrayV0V8FAainfix <=ainfix *c2V1ainfix *ainfix -c2c2ainfix -c2c1Aainfix =V2ainfix -c2c2AainvV4Aainfix <=c2c11Aainfix <=c2c2Iainfix =V1c0Aainfix =V2c0AainvV4Aainfix <=c0V0Lamk arrayV0V3FF"
>
<label
name=
"expl:VC for insertion_sort"
/>
</goal>
...
...
examples/bellman_ford/bf_WP_BellmanFord_WP_parameter_bellman_ford_15.v
View file @
4740cd89
...
...
@@ -6,10 +6,11 @@ Require int.Int.
Require
map
.
Map
.
(
*
Why3
assumption
*
)
Definition
unit
:=
unit
.
Definition
unit
:=
unit
.
(
*
Why3
assumption
*
)
Inductive
list
(
a
:
Type
)
{
a_WT
:
WhyType
a
}
:=
Inductive
list
(
a
:
Type
)
{
a_WT
:
WhyType
a
}
:=
|
Nil
:
list
a
|
Cons
:
a
->
(
list
a
)
->
list
a
.
Axiom
list_WhyType
:
forall
(
a
:
Type
)
{
a_WT
:
WhyType
a
}
,
WhyType
(
list
a
).
...
...
@@ -18,7 +19,7 @@ Implicit Arguments Nil [[a] [a_WT]].
Implicit
Arguments
Cons
[[
a
]
[
a_WT
]].
(
*
Why3
assumption
*
)
Fixpoint
length
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
(
l
:
(
list
a
))
{
struct
l
}:
Z
:=
Fixpoint
length
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
(
l
:
(
list
a
))
{
struct
l
}:
Z
:=
match
l
with
|
Nil
=>
0
%
Z
|
(
Cons
_
r
)
=>
(
1
%
Z
+
(
length
r
))
%
Z
...
...
@@ -37,15 +38,15 @@ Existing Instance set_WhyType.
Parameter
mem
:
forall
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
,
a
->
(
set
a
)
->
Prop
.
(
*
Why3
assumption
*
)
Definition
infix_eqeq
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
(
s1
:
(
set
a
))
(
s2
:
(
set
Definition
infix_eqeq
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
(
s1
:
(
set
a
))
(
s2
:
(
set
a
))
:
Prop
:=
forall
(
x
:
a
),
(
mem
x
s1
)
<->
(
mem
x
s2
).
Axiom
extensionality
:
forall
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
,
forall
(
s1
:
(
set
a
))
(
s2
:
(
set
a
)),
(
infix_eqeq
s1
s2
)
->
(
s1
=
s2
).
(
*
Why3
assumption
*
)
Definition
subset
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
(
s1
:
(
set
a
))
(
s2
:
(
set
a
))
:
Prop
:=
forall
(
x
:
a
),
(
mem
x
s1
)
->
(
mem
x
s2
).
Definition
subset
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
(
s1
:
(
set
a
))
(
s2
:
(
set
a
))
:
Prop
:=
forall
(
x
:
a
),
(
mem
x
s1
)
->
(
mem
x
s2
).
Axiom
subset_refl
:
forall
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
,
forall
(
s
:
(
set
a
)),
(
subset
s
s
).
...
...
@@ -57,7 +58,7 @@ Axiom subset_trans : forall {a:Type} {a_WT:WhyType a}, forall (s1:(set a))
Parameter
empty
:
forall
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
,
(
set
a
).
(
*
Why3
assumption
*
)
Definition
is_empty
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
(
s
:
(
set
a
))
:
Prop
:=
Definition
is_empty
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
(
s
:
(
set
a
))
:
Prop
:=
forall
(
x
:
a
),
~
(
mem
x
s
).
Axiom
empty_def1
:
forall
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
,
(
is_empty
(
empty
:
(
set
...
...
@@ -136,7 +137,7 @@ Parameter vertices: (set vertex).
Parameter
edges
:
(
set
(
vertex
*
vertex
)
%
type
).
(
*
Why3
assumption
*
)
Definition
edge
(
x
:
vertex
)
(
y
:
vertex
)
:
Prop
:=
(
mem
(
x
,
y
)
edges
).
Definition
edge
(
x
:
vertex
)
(
y
:
vertex
)
:
Prop
:=
(
mem
(
x
,
y
)
edges
).
Axiom
edges_def
:
forall
(
x
:
vertex
)
(
y
:
vertex
),
(
mem
(
x
,
y
)
edges
)
->
((
mem
x
vertices
)
/
\
(
mem
y
vertices
)).
...
...
@@ -148,7 +149,7 @@ Axiom s_in_graph : (mem s vertices).
Axiom
vertices_cardinal_pos
:
(
0
%
Z
<
(
cardinal
vertices
))
%
Z
.
(
*
Why3
assumption
*
)
Fixpoint
infix_plpl
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
(
l1
:
(
list
a
))
(
l2
:
(
list
Fixpoint
infix_plpl
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
(
l1
:
(
list
a
))
(
l2
:
(
list
a
))
{
struct
l1
}:
(
list
a
)
:=
match
l1
with
|
Nil
=>
l2
...
...
@@ -167,7 +168,8 @@ Axiom Append_length : forall {a:Type} {a_WT:WhyType a}, forall (l1:(list a))
l2
))
=
((
length
l1
)
+
(
length
l2
))
%
Z
).
(
*
Why3
assumption
*
)
Fixpoint
mem1
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
(
x
:
a
)
(
l
:
(
list
a
))
{
struct
l
}:
Prop
:=
Fixpoint
mem1
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
(
x
:
a
)
(
l
:
(
list
a
))
{
struct
l
}:
Prop
:=
match
l
with
|
Nil
=>
False
|
(
Cons
y
r
)
=>
(
x
=
y
)
\
/
(
mem1
x
r
)
...
...
@@ -210,7 +212,7 @@ Axiom path_decomposition : forall (x:vertex) (y:vertex) (z:vertex) (l1:(list
Parameter
weight
:
vertex
->
vertex
->
Z
.
(
*
Why3
assumption
*
)
Fixpoint
path_weight
(
l
:
(
list
vertex
))
(
dst
:
vertex
)
{
struct
l
}:
Z
:=
Fixpoint
path_weight
(
l
:
(
list
vertex
))
(
dst
:
vertex
)
{
struct
l
}:
Z
:=
match
l
with
|
Nil
=>
0
%
Z
|
(
Cons
x
Nil
)
=>
(
weight
x
dst
)
...
...
@@ -229,16 +231,16 @@ Axiom path_in_vertices : forall (v1:vertex) (v2:vertex) (l:(list vertex)),
(
mem
v1
vertices
)
->
((
path
v1
l
v2
)
->
(
mem
v2
vertices
)).
(
*
Why3
assumption
*
)
Definition
pigeon_set
(
s1
:
(
set
vertex
))
:
Prop
:=
forall
(
l
:
(
list
vertex
)),
Definition
pigeon_set
(
s1
:
(
set
vertex
))
:
Prop
:=
forall
(
l
:
(
list
vertex
)),
(
forall
(
e
:
vertex
),
(
mem1
e
l
)
->
(
mem
e
s1
))
->
(((
cardinal
s1
)
<
(
length
l
))
%
Z
->
exists
e
:
vertex
,
exists
l1
:
(
list
vertex
),
exists
l2
:
(
list
vertex
),
exists
l3
:
(
list
vertex
),
(
l
=
(
infix_plpl
l1
(
Cons
e
(
infix_plpl
l2
(
Cons
e
l3
)))))).
Axiom
Induction
:
(
forall
(
s1
:
(
set
vertex
)),
(
is_empty
s1
)
->
(
pigeon_set
s1
))
->
((
forall
(
s1
:
(
set
vertex
)),
(
pigeon_set
s1
)
->
forall
(
t
:
vertex
),
(
~
(
mem
t
s1
))
->
(
pigeon_set
(
add
t
s1
)))
->
forall
(
s1
:
(
set
vertex
)),
(
pigeon_set
s1
)).
Axiom
Induction
:
(
forall
(
s1
:
(
set
vertex
)),
(
is_empty
s1
)
->
(
pigeon_set
s1
))
->
((
forall
(
s1
:
(
set
vertex
)),
(
pigeon_set
s1
)
->
forall
(
t
:
vertex
),
(
~
(
mem
t
s1
))
->
(
pigeon_set
(
add
t
s1
)))
->
forall
(
s1
:
(
set
vertex
)),
(
pigeon_set
s1
)).
Axiom
corner
:
forall
(
s1
:
(
set
vertex
))
(
l
:
(
list
vertex
)),
((
length
l
)
=
(
cardinal
s1
))
->
((
forall
(
e
:
vertex
),
(
mem1
e
l
)
->
(
mem
e
...
...
@@ -291,24 +293,24 @@ Axiom simple_path : forall (v:vertex) (l:(list vertex)), (path s l v) ->
((
length
l
'
)
<
(
cardinal
vertices
))
%
Z
.
(
*
Why3
assumption
*
)
Definition
negative_cycle
(
v
:
vertex
)
:
Prop
:=
(
mem
v
vertices
)
/
\
((
exists
l1
:
(
list
vertex
),
(
path
s
l1
v
))
/
\
exists
l2
:
(
list
vertex
),
(
path
v
l2
v
)
/
\
((
path_weight
l2
v
)
<
0
%
Z
)
%
Z
).
Definition
negative_cycle
(
v
:
vertex
)
:
Prop
:=
(
mem
v
vertices
)
/
\
((
exists
l1
:
(
list
vertex
),
(
path
s
l1
v
))
/
\
exists
l2
:
(
list
vertex
),
(
path
v
l2
v
)
/
\
((
path_weight
l2
v
)
<
0
%
Z
)
%
Z
).
Axiom
key_lemma_1
:
forall
(
v
:
vertex
)
(
n
:
Z
),
(
forall
(
l
:
(
list
vertex
)),
(
path
s
l
v
)
->
(((
length
l
)
<
(
cardinal
vertices
))
%
Z
->
(
n
<=
(
path_weight
l
v
))
%
Z
))
->
((
exists
l
:
(
list
vertex
),
(
path
s
l
v
)
/
\
((
path_weight
l
v
)
<
n
)
%
Z
)
->
exists
u
:
vertex
,
(
negative_cycle
u
)).
Axiom
key_lemma_1
:
forall
(
v
:
vertex
)
(
n
:
Z
),
(
forall
(
l
:
(
list
vertex
)),
(
path
s
l
v
)
->
(((
length
l
)
<
(
cardinal
vertices
))
%
Z
->
(
n
<=
(
path_weight
l
v
))
%
Z
))
->
((
exists
l
:
(
list
vertex
),
(
path
s
l
v
)
/
\
((
path_weight
l
v
)
<
n
)
%
Z
)
->
exists
u
:
vertex
,
(
negative_cycle
u
)).
(
*
Why3
assumption
*
)
Inductive
t
:=
|
Finite
:
Z
->
t
|
Infinite
:
t
.
Inductive
t
:=
|
Finite
:
Z
->
t
|
Infinite
:
t
.
Axiom
t_WhyType
:
WhyType
t
.
Existing
Instance
t_WhyType
.
(
*
Why3
assumption
*
)
Definition
add1
(
x
:
t
)
(
y
:
t
)
:
t
:=
Definition
add1
(
x
:
t
)
(
y
:
t
)
:
t
:=
match
x
with
|
Infinite
=>
Infinite
|
(
Finite
x1
)
=>
...
...
@@ -319,7 +321,7 @@ Definition add1(x:t) (y:t): t :=
end
.
(
*
Why3
assumption
*
)
Definition
lt
(
x
:
t
)
(
y
:
t
)
:
Prop
:=
Definition
lt
(
x
:
t
)
(
y
:
t
)
:
Prop
:=
match
x
with
|
Infinite
=>
False
|
(
Finite
x1
)
=>
...
...
@@ -330,7 +332,7 @@ Definition lt(x:t) (y:t): Prop :=
end
.
(
*
Why3
assumption
*
)
Definition
le
(
x
:
t
)
(
y
:
t
)
:
Prop
:=
(
lt
x
y
)
\
/
(
x
=
y
).
Definition
le
(
x
:
t
)
(
y
:
t
)
:
Prop
:=
(
lt
x
y
)
\
/
(
x
=
y
).
Axiom
Refl
:
forall
(
x
:
t
),
(
le
x
x
).
...
...
@@ -348,7 +350,7 @@ Existing Instance ref_WhyType.
Implicit
Arguments
mk_ref
[[
a
]
[
a_WT
]].
(
*
Why3
assumption
*
)
Definition
contents
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
(
v
:
(
ref
a
))
:
a
:=
Definition
contents
{
a
:
Type
}
{
a_WT
:
WhyType
a
}
(
v
:
(
ref
a
))
:
a
:=
match
v
with
|
(
mk_ref
x
)
=>
x
end
.
...
...
@@ -357,10 +359,10 @@ Definition contents {a:Type} {a_WT:WhyType a}(v:(ref a)): a :=
Definition
t1
(
a
:
Type
)
{
a_WT
:
WhyType
a
}
:=
(
ref
(
set
a
)).
(
*
Why3
assumption
*
)
Definition
distmap
:=
(
map
.
Map
.
map
vertex
t
).
Definition
distmap
:=
(
map
.
Map
.
map
vertex
t
).
(
*
Why3
assumption
*
)
Definition
inv1
(
m
:
(
map
.
Map
.
map
vertex
t
))
(
pass
:
Z
)
(
via
:
(
set
(
vertex
*
Definition
inv1
(
m
:
(
map
.
Map
.
map
vertex
t
))
(
pass
:
Z
)
(
via
:
(
set
(
vertex
*
vertex
)
%
type
))
:
Prop
:=
forall
(
v
:
vertex
),
(
mem
v
vertices
)
->
match
(
map
.
Map
.
get
m
v
)
with
...
...
@@ -376,7 +378,7 @@ Definition inv1(m:(map.Map.map vertex t)) (pass:Z) (via:(set (vertex*
end
.
(
*
Why3
assumption
*
)
Definition
inv2
(
m
:
(
map
.
Map
.
map
vertex
t
))
(
via
:
(
set
(
vertex
*
Definition
inv2
(
m
:
(
map
.
Map
.
map
vertex
t
))
(
via
:
(
set
(
vertex
*
vertex
)
%
type
))
:
Prop
:=
forall
(
u
:
vertex
)
(
v
:
vertex
),
(
mem
(
u
,
v
)
via
)
->
(
le
(
map
.
Map
.
get
m
v
)
(
add1
(
map
.
Map
.
get
m
u
)
(
Finite
(
weight
u
v
)))).
...
...
@@ -388,17 +390,16 @@ Require Import Why3.
Ltac
ae
:=
why3
"alt-ergo"
.
(
*
Why3
goal
*
)
Theorem
WP_parameter_bellman_ford
:
(
1
%
Z
<=
((
cardinal
vertices
)
-
1
%
Z
)
%
Z
)
%
Z
->
forall
(
m
:
(
map
.
Map
.
map
vertex
t
)),
(
inv1
m
(((
cardinal
vertices
)
-
1
%
Z
)
%
Z
+
1
%
Z
)
%
Z
(
empty
:
(
set
(
vertex
*
vertex
)
%
type
)))
->
((
inv1
m
(
cardinal
vertices
)
(
empty
:
(
set
(
vertex
*
vertex
)
%
type
)))
->
forall
(
es
:
(
set
(
vertex
*
vertex
)
%
type
)),
(
es
=
edges
)
->
forall
(
es1
:
(
set
(
vertex
*
vertex
)
%
type
)),
((
subset
es1
edges
)
/
\
(
inv2
m
(
diff
edges
es1
)))
->
forall
(
o
:
bool
),
((
o
=
true
)
<->
(
is_empty
es1
))
->
((
~
(
o
=
true
))
->
((
~
(
is_empty
es1
))
->
forall
(
es2
:
(
set
(
vertex
*
vertex
)
%
type
)),
forall
(
result
:
vertex
)
(
result1
:
vertex
),
let
result2
:=
(
result
,
result1
)
in
(((
mem
result2
es1
)
/
\
(
es2
=
(
remove
result2
es1
)))
->
(
match
(
map
.
Map
.
get
m
Theorem
WP_parameter_bellman_ford
:
let
o
:=
((
cardinal
vertices
)
-
1
%
Z
)
%
Z
in
((
1
%
Z
<=
o
)
%
Z
->
forall
(
m
:
(
map
.
Map
.
map
vertex
t
)),
(
inv1
m
(
o
+
1
%
Z
)
%
Z
(
empty
:
(
set
(
vertex
*
vertex
)
%
type
)))
->
((
inv1
m
(
cardinal
vertices
)
(
empty
:
(
set
(
vertex
*
vertex
)
%
type
)))
->
forall
(
es
:
(
set
(
vertex
*
vertex
)
%
type
)),
(
es
=
edges
)
->
forall
(
es1
:
(
set
(
vertex
*
vertex
)
%
type
)),
((
subset
es1
edges
)
/
\
(
inv2
m
(
diff
edges
es1
)))
->
forall
(
o1
:
bool
),
((
o1
=
true
)
<->
(
is_empty
es1
))
->
((
~
(
o1
=
true
))
->
((
~
(
is_empty
es1
))
->
forall
(
es2
:
(
set
(
vertex
*
vertex
)
%
type
)),
forall
(
result
:
vertex
)
(
result1
:
vertex
),
let
result2
:=
(
result
,
result1
)
in
(((
mem
result2
es1
)
/
\
(
es2
=
(
remove
result2
es1
)))
->
(
match
(
map
.
Map
.
get
m
result
)
with
|
Infinite
=>
False
|
(
Finite
x
)
=>
match
(
map
.
Map
.
get
m
...
...
@@ -406,8 +407,10 @@ Theorem WP_parameter_bellman_ford : (1%Z <= ((cardinal vertices) - 1%Z)%Z)%Z ->
|
Infinite
=>
True
|
(
Finite
y
)
=>
((
x
+
(
weight
result
result1
))
%
Z
<
y
)
%
Z
end
end
->
exists
v
:
vertex
,
(
negative_cycle
v
)))))).
intros
_
m
_
hinv1
.
end
->
exists
v
:
vertex
,
(
negative_cycle
v
))))))).
(
*
Why3
intros
o
h1
m
h2
h3
es
h4
es1
(
h5
,
h6
)
o1
h7
h8
h9
es2
result
result1
result2
(
h10
,
h11
)
h12
.
*
)
intros
o
_
m
_
hinv1
.
subst
o
.
intros
result
hresult
;
subst
result
.
intros
es
(
h1
,
h2
)
_
_
_
h3
.
intros
es1
u
v
uv
.
unfold
uv
;
clear
uv
.
...
...
examples/bellman_ford/bf_WP_BellmanFord_WP_parameter_bellman_ford_17.v
View file @
4740cd89
...
...
@@ -6,10 +6,11 @@ Require int.Int.
Require
map
.
Map
.
(
*
Why3
assumption
*
)
Definition
unit
:=
unit
.
Definition
unit
:=
unit
.
(
*
Why3
assumption
*
)
Inductive
list
(
a
:
Type
)
{
a_WT
:
WhyType
a
}
:=
Inductive
list
(
a
:
Type
)
{
a_WT
:
WhyType
a
}
:=
|
Nil
:
list
a