Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
sovereign
why3-avr
Commits
54e2d69c
Commit
54e2d69c
authored
Jul 03, 2019
by
Marc Schoolderman
Browse files
checked the result with alt-ergo 0.99.1, removing reliance on buggy 1.01-1.30 range,
to validate that the result of the original paper is still solid
parent
02ec34b5
Changes
10
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
54e2d69c
...
...
@@ -18,7 +18,7 @@ https://gitlab.science.ru.nl/sovereign/why3-avr/tree/master
The proofs were developed using Why3 0.87.3; as well as the following theorem provers:
*
Alt-Ergo
1.0
1
*
Alt-Ergo
0.99.
1
*
CVC3 2.4.1
*
CVC4 1.4
*
Eprover 1.8
...
...
avr_code/why3session.xml
View file @
54e2d69c
...
...
@@ -4,7 +4,7 @@
<why3session
shape_version=
"4"
>
<prover
id=
"0"
name=
"CVC3"
version=
"2.4.1"
timelimit=
"1"
steplimit=
"1"
memlimit=
"1000"
/>
<prover
id=
"1"
name=
"CVC4"
version=
"1.4"
timelimit=
"13"
steplimit=
"1"
memlimit=
"1000"
/>
<prover
id=
"
2
"
name=
"Alt-Ergo"
version=
"
1.0
1"
timelimit=
"13"
steplimit=
"1"
memlimit=
"1000"
/>
<prover
id=
"
3
"
name=
"Alt-Ergo"
version=
"
0.99.
1"
timelimit=
"13"
steplimit=
"1"
memlimit=
"1000"
/>
<prover
id=
"5"
name=
"CVC4"
version=
"1.4"
alternative=
"noBV"
timelimit=
"13"
steplimit=
"1"
memlimit=
"1000"
/>
<prover
id=
"7"
name=
"Eprover"
version=
"1.8-001"
timelimit=
"13"
steplimit=
"1"
memlimit=
"1000"
/>
<file
name=
"../avr_code.mlw"
expanded=
"true"
>
...
...
@@ -13,10 +13,10 @@
<proof
prover=
"5"
steplimit=
"-1"
><result
status=
"valid"
time=
"0.06"
/></proof>
</goal>
<goal
name=
"asr_1"
>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"
1.38
"
/></proof>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"
3.24
"
/></proof>
</goal>
<goal
name=
"asr_f"
>
<proof
prover=
"0"
timelimit=
"13"
steplimit=
"-1"
><result
status=
"valid"
time=
"0.
2
4"
/></proof>
<proof
prover=
"0"
timelimit=
"13"
steplimit=
"-1"
><result
status=
"valid"
time=
"0.4
6
"
/></proof>
</goal>
<goal
name=
"xor_0"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.03"
/></proof>
...
...
@@ -31,18 +31,18 @@
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"0.51"
/></proof>
</goal>
<goal
name=
"pow2_88"
>
<proof
prover=
"0"
timelimit=
"3"
steplimit=
"-1"
><result
status=
"valid"
time=
"0.
3
5"
/></proof>
<proof
prover=
"0"
timelimit=
"3"
steplimit=
"-1"
><result
status=
"valid"
time=
"0.5
3
"
/></proof>
</goal>
<goal
name=
"pow2_96"
>
<proof
prover=
"0"
timelimit=
"3"
steplimit=
"-1"
><result
status=
"valid"
time=
"0.
39
"
/></proof>
<proof
prover=
"0"
timelimit=
"3"
steplimit=
"-1"
><result
status=
"valid"
time=
"0.
61
"
/></proof>
</goal>
</theory>
<theory
name=
"AvrModelLemmas"
sum=
"d5df575e801e47c8904feabb80c0c51c"
>
<goal
name=
"register_file_invariant_strengthen"
>
<proof
prover=
"
2
"
><result
status=
"valid"
time=
"0.00"
steps=
"6
8
"
/></proof>
<proof
prover=
"
3
"
><result
status=
"valid"
time=
"0.00"
steps=
"6
9
"
/></proof>
</goal>
<goal
name=
"pow_split"
>
<proof
prover=
"
2
"
><result
status=
"valid"
time=
"0.02"
steps=
"67"
/></proof>
<proof
prover=
"
3
"
><result
status=
"valid"
time=
"0.02"
steps=
"67"
/></proof>
</goal>
</theory>
<theory
name=
"KaratAvr"
sum=
"27978c8c37643ba33df91478ae39e1d3"
expanded=
"true"
>
...
...
@@ -621,26 +621,26 @@
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"eq"
/>
</ls_pos>
<ls_pos
name=
"bitset"
id=
"80
51
"
<ls_pos
name=
"bitset"
id=
"80
48
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"bitset"
/>
</ls_pos>
<ls_pos
name=
"bitset'"
id=
"80
71
"
<ls_pos
name=
"bitset'"
id=
"80
68
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"bitset'"
/>
</ls_pos>
<ls_pos
name=
"bitsetx"
id=
"809
5
"
<ls_pos
name=
"bitsetx"
id=
"809
2
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"bitsetx"
/>
</ls_pos>
<ls_pos
name=
"infix +:"
id=
"1015
4
"
<ls_pos
name=
"infix +:"
id=
"1015
1
"
ip_theory=
"KaratAvr"
>
<ip_qualid
name=
"infix +:"
/>
</ls_pos>
<ls_pos
name=
"infix :+"
id=
"1016
5
"
<ls_pos
name=
"infix :+"
id=
"1016
2
"
ip_theory=
"KaratAvr"
>
<ip_qualid
name=
"infix :+"
/>
</ls_pos>
...
...
@@ -1633,7 +1633,7 @@
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"uint_32"
/>
</pr_pos>
<pr_pos
name=
"one_def"
id=
"811
5
"
<pr_pos
name=
"one_def"
id=
"811
2
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"one_def"
/>
...
...
@@ -1960,19 +1960,19 @@
<meta_arg_ls
id=
"7498"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"80
51
"
/>
<meta_arg_ls
id=
"80
48
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"80
71
"
/>
<meta_arg_ls
id=
"80
68
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"809
5
"
/>
<meta_arg_ls
id=
"809
2
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"1015
4
"
/>
<meta_arg_ls
id=
"1015
1
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"1016
5
"
/>
<meta_arg_ls
id=
"1016
2
"
/>
</meta>
<meta
name=
"remove_prop"
>
<meta_arg_pr
id=
"3188"
/>
...
...
@@ -2566,7 +2566,7 @@
<meta_arg_pr
id=
"7798"
/>
</meta>
<meta
name=
"remove_prop"
>
<meta_arg_pr
id=
"811
5
"
/>
<meta_arg_pr
id=
"811
2
"
/>
</meta>
<meta
name=
"remove_type"
>
<meta_arg_ts
id=
"2"
/>
...
...
@@ -2600,7 +2600,7 @@
<goal
name=
"WP_parameter mul24_flat"
expl=
"VC for mul24_flat"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul24_flat.1"
expl=
"1. VC for mul24_flat"
>
<proof
prover=
"5"
timelimit=
"6000"
memlimit=
"2000"
><result
status=
"valid"
time=
"
0.94
"
/></proof>
<proof
prover=
"5"
timelimit=
"6000"
memlimit=
"2000"
><result
status=
"valid"
time=
"
1.08
"
/></proof>
<metas>
<ts_pos
name=
"real"
arity=
"0"
id=
"2"
ip_theory=
"BuiltIn"
>
...
...
@@ -3172,26 +3172,26 @@
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"eq"
/>
</ls_pos>
<ls_pos
name=
"bitset"
id=
"80
51
"
<ls_pos
name=
"bitset"
id=
"80
48
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"bitset"
/>
</ls_pos>
<ls_pos
name=
"bitset'"
id=
"80
71
"
<ls_pos
name=
"bitset'"
id=
"80
68
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"bitset'"
/>
</ls_pos>
<ls_pos
name=
"bitsetx"
id=
"809
5
"
<ls_pos
name=
"bitsetx"
id=
"809
2
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"bitsetx"
/>
</ls_pos>
<ls_pos
name=
"infix +:"
id=
"1015
4
"
<ls_pos
name=
"infix +:"
id=
"1015
1
"
ip_theory=
"KaratAvr"
>
<ip_qualid
name=
"infix +:"
/>
</ls_pos>
<ls_pos
name=
"infix :+"
id=
"1016
5
"
<ls_pos
name=
"infix :+"
id=
"1016
2
"
ip_theory=
"KaratAvr"
>
<ip_qualid
name=
"infix :+"
/>
</ls_pos>
...
...
@@ -4174,7 +4174,7 @@
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"uint_32"
/>
</pr_pos>
<pr_pos
name=
"one_def"
id=
"811
5
"
<pr_pos
name=
"one_def"
id=
"811
2
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"one_def"
/>
...
...
@@ -4501,19 +4501,19 @@
<meta_arg_ls
id=
"7498"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"80
51
"
/>
<meta_arg_ls
id=
"80
48
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"80
71
"
/>
<meta_arg_ls
id=
"80
68
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"809
5
"
/>
<meta_arg_ls
id=
"809
2
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"1015
4
"
/>
<meta_arg_ls
id=
"1015
1
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"1016
5
"
/>
<meta_arg_ls
id=
"1016
2
"
/>
</meta>
<meta
name=
"remove_prop"
>
<meta_arg_pr
id=
"3188"
/>
...
...
@@ -5101,7 +5101,7 @@
<meta_arg_pr
id=
"7798"
/>
</meta>
<meta
name=
"remove_prop"
>
<meta_arg_pr
id=
"811
5
"
/>
<meta_arg_pr
id=
"811
2
"
/>
</meta>
<meta
name=
"remove_type"
>
<meta_arg_ts
id=
"2"
/>
...
...
@@ -5124,7 +5124,7 @@
<goal
name=
"WP_parameter mul24_flat.1"
expl=
"1. VC for mul24_flat"
>
<transf
name=
"eliminate_builtin"
>
<goal
name=
"WP_parameter mul24_flat.1.1"
expl=
"1. VC for mul24_flat"
>
<proof
prover=
"5"
timelimit=
"6000"
memlimit=
"2000"
><result
status=
"valid"
time=
"0.
53
"
/></proof>
<proof
prover=
"5"
timelimit=
"6000"
memlimit=
"2000"
><result
status=
"valid"
time=
"0.
80
"
/></proof>
</goal>
</transf>
</goal>
...
...
@@ -5137,7 +5137,7 @@
<goal
name=
"WP_parameter mul32_flat.1"
expl=
"1. postcondition"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul32_flat.1.1"
expl=
"1. postcondition"
>
<proof
prover=
"5"
><result
status=
"valid"
time=
"
3.59
"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"
4.40
"
/></proof>
<metas>
<ts_pos
name=
"real"
arity=
"0"
id=
"2"
ip_theory=
"BuiltIn"
>
...
...
@@ -5709,26 +5709,26 @@
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"eq"
/>
</ls_pos>
<ls_pos
name=
"bitset"
id=
"80
51
"
<ls_pos
name=
"bitset"
id=
"80
48
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"bitset"
/>
</ls_pos>
<ls_pos
name=
"bitset'"
id=
"80
71
"
<ls_pos
name=
"bitset'"
id=
"80
68
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"bitset'"
/>
</ls_pos>
<ls_pos
name=
"bitsetx"
id=
"809
5
"
<ls_pos
name=
"bitsetx"
id=
"809
2
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"bitsetx"
/>
</ls_pos>
<ls_pos
name=
"infix +:"
id=
"1015
4
"
<ls_pos
name=
"infix +:"
id=
"1015
1
"
ip_theory=
"KaratAvr"
>
<ip_qualid
name=
"infix +:"
/>
</ls_pos>
<ls_pos
name=
"infix :+"
id=
"1016
5
"
<ls_pos
name=
"infix :+"
id=
"1016
2
"
ip_theory=
"KaratAvr"
>
<ip_qualid
name=
"infix :+"
/>
</ls_pos>
...
...
@@ -6701,7 +6701,7 @@
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"uint_32"
/>
</pr_pos>
<pr_pos
name=
"one_def"
id=
"811
5
"
<pr_pos
name=
"one_def"
id=
"811
2
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"one_def"
/>
...
...
@@ -7028,19 +7028,19 @@
<meta_arg_ls
id=
"7498"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"80
51
"
/>
<meta_arg_ls
id=
"80
48
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"80
71
"
/>
<meta_arg_ls
id=
"80
68
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"809
5
"
/>
<meta_arg_ls
id=
"809
2
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"1015
4
"
/>
<meta_arg_ls
id=
"1015
1
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"1016
5
"
/>
<meta_arg_ls
id=
"1016
2
"
/>
</meta>
<meta
name=
"remove_prop"
>
<meta_arg_pr
id=
"3188"
/>
...
...
@@ -7622,7 +7622,7 @@
<meta_arg_pr
id=
"7798"
/>
</meta>
<meta
name=
"remove_prop"
>
<meta_arg_pr
id=
"811
5
"
/>
<meta_arg_pr
id=
"811
2
"
/>
</meta>
<meta
name=
"remove_type"
>
<meta_arg_ts
id=
"2"
/>
...
...
@@ -7645,7 +7645,7 @@
<goal
name=
"WP_parameter mul32_flat.1.1"
expl=
"1. postcondition"
>
<transf
name=
"eliminate_builtin"
>
<goal
name=
"WP_parameter mul32_flat.1.1.1"
expl=
"1. postcondition"
>
<proof
prover=
"5"
><result
status=
"valid"
time=
"
2.22
"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"
3.13
"
/></proof>
</goal>
</transf>
</goal>
...
...
@@ -7660,63 +7660,63 @@
<goal
name=
"WP_parameter mul40.1"
expl=
"1. VC for mul40"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul40.1.1"
expl=
"1. VC for mul40"
>
<proof
prover=
"5"
timelimit=
"30"
><result
status=
"valid"
time=
"
2.99
"
/></proof>
<proof
prover=
"5"
timelimit=
"30"
><result
status=
"valid"
time=
"
3.50
"
/></proof>
</goal>
</transf>
</goal>
<goal
name=
"WP_parameter mul40.2"
expl=
"2. VC for mul40"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul40.2.1"
expl=
"1. VC for mul40"
>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"
0.51
"
/></proof>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"
1.00
"
/></proof>
</goal>
</transf>
</goal>
<goal
name=
"WP_parameter mul40.3"
expl=
"3. VC for mul40"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul40.3.1"
expl=
"1. VC for mul40"
>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"
0.51
"
/></proof>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"
1.08
"
/></proof>
</goal>
</transf>
</goal>
<goal
name=
"WP_parameter mul40.4"
expl=
"4. VC for mul40"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul40.4.1"
expl=
"1. VC for mul40"
>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"0.
44
"
/></proof>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"0.
61
"
/></proof>
</goal>
</transf>
</goal>
<goal
name=
"WP_parameter mul40.5"
expl=
"5. VC for mul40"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul40.5.1"
expl=
"1. VC for mul40"
>
<proof
prover=
"5"
timelimit=
"30"
><result
status=
"valid"
time=
"
1.66
"
/></proof>
<proof
prover=
"5"
timelimit=
"30"
><result
status=
"valid"
time=
"
2.48
"
/></proof>
</goal>
</transf>
</goal>
<goal
name=
"WP_parameter mul40.6"
expl=
"6. VC for mul40"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul40.6.1"
expl=
"1. VC for mul40"
>
<proof
prover=
"0"
timelimit=
"30"
><result
status=
"valid"
time=
"0.
48
"
/></proof>
<proof
prover=
"0"
timelimit=
"30"
><result
status=
"valid"
time=
"0.
63
"
/></proof>
</goal>
</transf>
</goal>
<goal
name=
"WP_parameter mul40.7"
expl=
"7. VC for mul40"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul40.7.1"
expl=
"1. VC for mul40"
>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"
0.98
"
/></proof>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"
1.29
"
/></proof>
</goal>
</transf>
</goal>
<goal
name=
"WP_parameter mul40.8"
expl=
"8. VC for mul40"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul40.8.1"
expl=
"1. VC for mul40"
>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"
0.82
"
/></proof>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"
1.20
"
/></proof>
</goal>
</transf>
</goal>
<goal
name=
"WP_parameter mul40.9"
expl=
"9. postcondition"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul40.9.1"
expl=
"1. postcondition"
>
<proof
prover=
"0"
timelimit=
"30"
><result
status=
"valid"
time=
"0.
22
"
/></proof>
<proof
prover=
"0"
timelimit=
"30"
><result
status=
"valid"
time=
"0.
48
"
/></proof>
</goal>
</transf>
</goal>
...
...
@@ -7727,7 +7727,7 @@
<goal
name=
"WP_parameter mul40_flat.1"
expl=
"1. postcondition"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul40_flat.1.1"
expl=
"1. postcondition"
>
<proof
prover=
"5"
timelimit=
"2400"
memlimit=
"2000"
><result
status=
"valid"
time=
"1
0.11
"
/></proof>
<proof
prover=
"5"
timelimit=
"2400"
memlimit=
"2000"
><result
status=
"valid"
time=
"1
4.42
"
/></proof>
<metas>
<ts_pos
name=
"real"
arity=
"0"
id=
"2"
ip_theory=
"BuiltIn"
>
...
...
@@ -8299,26 +8299,26 @@
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"eq"
/>
</ls_pos>
<ls_pos
name=
"bitset"
id=
"80
51
"
<ls_pos
name=
"bitset"
id=
"80
48
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"bitset"
/>
</ls_pos>
<ls_pos
name=
"bitset'"
id=
"80
71
"
<ls_pos
name=
"bitset'"
id=
"80
68
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"bitset'"
/>
</ls_pos>
<ls_pos
name=
"bitsetx"
id=
"809
5
"
<ls_pos
name=
"bitsetx"
id=
"809
2
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"bitsetx"
/>
</ls_pos>
<ls_pos
name=
"infix +:"
id=
"1015
4
"
<ls_pos
name=
"infix +:"
id=
"1015
1
"
ip_theory=
"KaratAvr"
>
<ip_qualid
name=
"infix +:"
/>
</ls_pos>
<ls_pos
name=
"infix :+"
id=
"1016
5
"
<ls_pos
name=
"infix :+"
id=
"1016
2
"
ip_theory=
"KaratAvr"
>
<ip_qualid
name=
"infix :+"
/>
</ls_pos>
...
...
@@ -9282,7 +9282,7 @@
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"uint_32"
/>
</pr_pos>
<pr_pos
name=
"one_def"
id=
"811
5
"
<pr_pos
name=
"one_def"
id=
"811
2
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"one_def"
/>
...
...
@@ -9609,19 +9609,19 @@
<meta_arg_ls
id=
"7498"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"80
51
"
/>
<meta_arg_ls
id=
"80
48
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"80
71
"
/>
<meta_arg_ls
id=
"80
68
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"809
5
"
/>
<meta_arg_ls
id=
"809
2
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"1015
4
"
/>
<meta_arg_ls
id=
"1015
1
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"1016
5
"
/>
<meta_arg_ls
id=
"1016
2
"
/>
</meta>
<meta
name=
"remove_prop"
>
<meta_arg_pr
id=
"3188"
/>
...
...
@@ -10197,7 +10197,7 @@
<meta_arg_pr
id=
"7798"
/>
</meta>
<meta
name=
"remove_prop"
>
<meta_arg_pr
id=
"811
5
"
/>
<meta_arg_pr
id=
"811
2
"
/>
</meta>
<meta
name=
"remove_type"
>
<meta_arg_ts
id=
"2"
/>
...
...
@@ -10220,7 +10220,7 @@
<goal
name=
"WP_parameter mul40_flat.1.1"
expl=
"1. postcondition"
>
<transf
name=
"eliminate_builtin"
>
<goal
name=
"WP_parameter mul40_flat.1.1.1"
expl=
"1. postcondition"
>
<proof
prover=
"5"
timelimit=
"2400"
memlimit=
"2000"
><result
status=
"valid"
time=
"
6.62
"
/></proof>
<proof
prover=
"5"
timelimit=
"2400"
memlimit=
"2000"
><result
status=
"valid"
time=
"
9.71
"
/></proof>
</goal>
</transf>
</goal>
...
...
@@ -10235,63 +10235,63 @@
<goal
name=
"WP_parameter mul48.1"
expl=
"1. VC for mul48"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul48.1.1"
expl=
"1. VC for mul48"
>
<proof
prover=
"5"
timelimit=
"5"
><result
status=
"valid"
time=
"
4.59
"
/></proof>
<proof
prover=
"5"
timelimit=
"5"
><result
status=
"valid"
time=
"
6.65
"
/></proof>
</goal>
</transf>
</goal>
<goal
name=
"WP_parameter mul48.2"
expl=
"2. VC for mul48"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul48.2.1"
expl=
"1. VC for mul48"
>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"1.
25
"
/></proof>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"1.
60
"
/></proof>
</goal>
</transf>
</goal>
<goal
name=
"WP_parameter mul48.3"
expl=
"3. VC for mul48"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul48.3.1"
expl=
"1. VC for mul48"
>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"1.
21
"
/></proof>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"1.
35
"
/></proof>
</goal>
</transf>
</goal>
<goal
name=
"WP_parameter mul48.4"
expl=
"4. VC for mul48"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul48.4.1"
expl=
"1. VC for mul48"
>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"0.
76
"
/></proof>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"0.
99
"
/></proof>
</goal>
</transf>
</goal>
<goal
name=
"WP_parameter mul48.5"
expl=
"5. VC for mul48"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul48.5.1"
expl=
"1. VC for mul48"
>
<proof
prover=
"5"
timelimit=
"30"
><result
status=
"valid"
time=
"
5.48
"
/></proof>
<proof
prover=
"5"
timelimit=
"30"
><result
status=
"valid"
time=
"
7.80
"
/></proof>
</goal>
</transf>
</goal>
<goal
name=
"WP_parameter mul48.6"
expl=
"6. VC for mul48"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul48.6.1"
expl=
"1. VC for mul48"
>
<proof
prover=
"0"
timelimit=
"30"
><result
status=
"valid"
time=
"1.
17
"
/></proof>
<proof
prover=
"0"
timelimit=
"30"
><result
status=
"valid"
time=
"1.
69
"
/></proof>
</goal>
</transf>
</goal>
<goal
name=
"WP_parameter mul48.7"
expl=
"7. VC for mul48"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul48.7.1"
expl=
"1. VC for mul48"
>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"
1.66
"
/></proof>
<proof
prover=
"0"
timelimit=
"13"
><result
status=
"valid"
time=
"
2.50
"
/></proof>
</goal>
</transf>
</goal>
<goal
name=
"WP_parameter mul48.8"
expl=
"8. VC for mul48"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul48.8.1"
expl=
"1. VC for mul48"
>
<proof
prover=
"0"
timelimit=
"5"
><result
status=
"valid"
time=
"
1.94
"
/></proof>
<proof
prover=
"0"
timelimit=
"5"
><result
status=
"valid"
time=
"
2.47
"
/></proof>
</goal>
</transf>
</goal>
<goal
name=
"WP_parameter mul48.9"
expl=
"9. postcondition"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul48.9.1"
expl=
"1. postcondition"
>
<proof
prover=
"0"
timelimit=
"30"
><result
status=
"valid"
time=
"0.
28
"
/></proof>
<proof
prover=
"0"
timelimit=
"30"
><result
status=
"valid"
time=
"0.
57
"
/></proof>
</goal>
</transf>
</goal>
...
...
@@ -10302,7 +10302,7 @@
<goal
name=
"WP_parameter mul48_flat.1"
expl=
"1. postcondition"
>
<transf
name=
"compute_in_goal"
>
<goal
name=
"WP_parameter mul48_flat.1.1"
expl=
"1. postcondition"
>
<proof
prover=
"5"
timelimit=
"6000"
memlimit=
"2000"
><result
status=
"valid"
time=
"
28.51
"
/></proof>
<proof
prover=
"5"
timelimit=
"6000"
memlimit=
"2000"
><result
status=
"valid"
time=
"
42.74
"
/></proof>
<metas>
<ts_pos
name=
"real"
arity=
"0"
id=
"2"
ip_theory=
"BuiltIn"
>
...
...
@@ -10869,26 +10869,26 @@
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"eq"
/>
</ls_pos>
<ls_pos
name=
"bitset"
id=
"80
51
"
<ls_pos
name=
"bitset"
id=
"80
48
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"bitset"
/>
</ls_pos>
<ls_pos
name=
"bitset'"
id=
"80
71
"
<ls_pos
name=
"bitset'"
id=
"80
68
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"bitset'"
/>
</ls_pos>
<ls_pos
name=
"bitsetx"
id=
"809
5
"
<ls_pos
name=
"bitsetx"
id=
"809
2
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"bitsetx"
/>
</ls_pos>
<ls_pos
name=
"infix +:"
id=
"1015
4
"
<ls_pos
name=
"infix +:"
id=
"1015
1
"
ip_theory=
"KaratAvr"
>
<ip_qualid
name=
"infix +:"
/>
</ls_pos>
<ls_pos
name=
"infix :+"
id=
"1016
5
"
<ls_pos
name=
"infix :+"
id=
"1016
2
"
ip_theory=
"KaratAvr"
>
<ip_qualid
name=
"infix :+"
/>
</ls_pos>
...
...
@@ -11799,7 +11799,7 @@
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"uint_32"
/>
</pr_pos>
<pr_pos
name=
"one_def"
id=
"811
5
"
<pr_pos
name=
"one_def"
id=
"811
2
"
ip_theory=
"AVRint"
>
<ip_library
name=
"avrmodel2"
/>
<ip_qualid
name=
"one_def"
/>
...
...
@@ -12123,19 +12123,19 @@
<meta_arg_ls
id=
"7498"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"80
51
"
/>
<meta_arg_ls
id=
"80
48
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"80
71
"
/>
<meta_arg_ls
id=
"80
68
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"809
5
"
/>
<meta_arg_ls
id=
"809
2
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"1015
4
"
/>
<meta_arg_ls
id=
"1015
1
"
/>
</meta>
<meta
name=
"remove_logic"
>
<meta_arg_ls
id=
"1016
5
"
/>
<meta_arg_ls
id=
"1016
2
"
/>
</meta>
<meta
name=
"remove_prop"
>
<meta_arg_pr
id=
"3188"
/>
...
...
@@ -12678,7 +12678,7 @@
<meta_arg_pr
id=
"7798"
/>
</meta>
<meta
name=
"remove_prop"
>