why3session.xml 8.8 KB
Newer Older
1 2 3 4 5
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
"http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4">
<prover id="0" name="CVC4" version="1.4" timelimit="5" steplimit="0" memlimit="1000"/>
MARCHE Claude's avatar
MARCHE Claude committed
6 7 8 9 10 11
<prover id="1" name="Alt-Ergo" version="1.30" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="2" name="Z3" version="4.4.1" timelimit="5" steplimit="0" memlimit="1000"/>
<file name="../cursor_examples.mlw" proved="true">
<theory name="TestCursor" proved="true" sum="4c6babb04c51cb21c0e11617bac06fa4">
 <goal name="VC sum" expl="VC for sum" proved="true">
 <proof prover="1"><result status="valid" time="2.86" steps="906"/></proof>
12 13
 </goal>
</theory>
MARCHE Claude's avatar
MARCHE Claude committed
14 15 16 17 18 19
<theory name="ListCursorImpl" proved="true" sum="5c9d2123d18fe945b303f391ec90daed">
 <goal name="VC cursor" expl="VC for cursor" proved="true">
 <proof prover="1"><result status="valid" time="0.02" steps="33"/></proof>
 </goal>
 <goal name="VC snoc_Cons" expl="VC for snoc_Cons" proved="true">
 <proof prover="1"><result status="valid" time="0.04" steps="99"/></proof>
20
 </goal>
MARCHE Claude's avatar
MARCHE Claude committed
21
 <goal name="VC next" expl="VC for next" proved="true">
MARCHE Claude's avatar
MARCHE Claude committed
22
 <proof prover="1"><result status="valid" time="0.13" steps="465"/></proof>
23
 </goal>
MARCHE Claude's avatar
MARCHE Claude committed
24 25
 <goal name="VC has_next" expl="VC for has_next" proved="true">
 <proof prover="1"><result status="valid" time="0.01" steps="66"/></proof>
26
 </goal>
MARCHE Claude's avatar
MARCHE Claude committed
27 28
 <goal name="VC create" expl="VC for create" proved="true">
 <proof prover="1"><result status="valid" time="0.02" steps="51"/></proof>
29
 </goal>
MARCHE Claude's avatar
MARCHE Claude committed
30 31
 <goal name="ListCursor.VC create" expl="VC for create" proved="true">
 <proof prover="1"><result status="valid" time="0.02" steps="33"/></proof>
32
 </goal>
MARCHE Claude's avatar
MARCHE Claude committed
33 34
 <goal name="ListCursor.C.VC next" expl="VC for next" proved="true">
 <proof prover="1"><result status="valid" time="0.02" steps="56"/></proof>
35
 </goal>
MARCHE Claude's avatar
MARCHE Claude committed
36 37
 <goal name="ListCursor.C.VC has_next" expl="VC for has_next" proved="true">
 <proof prover="1"><result status="valid" time="0.02" steps="12"/></proof>
38 39
 </goal>
</theory>
MARCHE Claude's avatar
MARCHE Claude committed
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
<theory name="TestListCursor" proved="true" sum="5e03d6040df40972278e1bab8d1137ac">
 <goal name="sum_of_list" proved="true">
 <transf name="induction_ty_lex" proved="true" >
  <goal name="sum_of_list.0" proved="true">
  <transf name="split_goal_wp" proved="true" >
   <goal name="sum_of_list.0.0" proved="true">
   <proof prover="1"><result status="valid" time="0.02" steps="19"/></proof>
   </goal>
   <goal name="sum_of_list.0.1" proved="true">
   <proof prover="1"><result status="valid" time="3.48" steps="1147"/></proof>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
MARCHE Claude's avatar
MARCHE Claude committed
55 56 57 58
 <goal name="VC list_sum" expl="VC for list_sum" proved="true">
 <transf name="split_goal_wp" proved="true" >
  <goal name="VC list_sum.0" expl="loop invariant init" proved="true">
  <proof prover="1"><result status="valid" time="0.02" steps="17"/></proof>
59
  </goal>
MARCHE Claude's avatar
MARCHE Claude committed
60 61
  <goal name="VC list_sum.1" expl="loop invariant init" proved="true">
  <proof prover="1"><result status="valid" time="0.01" steps="6"/></proof>
62
  </goal>
MARCHE Claude's avatar
MARCHE Claude committed
63 64
  <goal name="VC list_sum.2" expl="precondition" proved="true">
  <proof prover="1"><result status="valid" time="0.01" steps="8"/></proof>
65
  </goal>
MARCHE Claude's avatar
MARCHE Claude committed
66 67
  <goal name="VC list_sum.3" expl="precondition" proved="true">
  <proof prover="1"><result status="valid" time="0.00" steps="9"/></proof>
68
  </goal>
MARCHE Claude's avatar
MARCHE Claude committed
69 70
  <goal name="VC list_sum.4" expl="precondition" proved="true">
  <proof prover="1"><result status="valid" time="0.02" steps="9"/></proof>
71
  </goal>
MARCHE Claude's avatar
MARCHE Claude committed
72 73
  <goal name="VC list_sum.5" expl="loop variant decrease" proved="true">
  <proof prover="1"><result status="valid" time="0.02" steps="23"/></proof>
74
  </goal>
MARCHE Claude's avatar
MARCHE Claude committed
75 76 77 78
  <goal name="VC list_sum.6" expl="loop invariant preservation" proved="true">
  <transf name="simplify_trivial_quantification" proved="true" >
   <goal name="VC list_sum.6.0" expl="loop invariant preservation" proved="true">
   <proof prover="1"><result status="valid" time="4.55" steps="1488"/></proof>
79 80 81
   </goal>
  </transf>
  </goal>
MARCHE Claude's avatar
MARCHE Claude committed
82 83
  <goal name="VC list_sum.7" expl="loop invariant preservation" proved="true">
  <proof prover="1"><result status="valid" time="0.02" steps="14"/></proof>
84
  </goal>
MARCHE Claude's avatar
MARCHE Claude committed
85 86
  <goal name="VC list_sum.8" expl="postcondition" proved="true">
  <proof prover="1"><result status="valid" time="1.08" steps="340"/></proof>
87 88 89 90
  </goal>
 </transf>
 </goal>
</theory>
MARCHE Claude's avatar
MARCHE Claude committed
91 92 93
<theory name="TestListCursorLink" proved="true" sum="57ad90333a0eff06c751d7979b07b08c">
 <goal name="TestListCursor.ListCursor.VC create" expl="VC for create" proved="true">
 <proof prover="1"><result status="valid" time="0.02" steps="38"/></proof>
94
 </goal>
MARCHE Claude's avatar
MARCHE Claude committed
95
 <goal name="TestListCursor.ListCursor.C.VC next" expl="VC for next" proved="true">
MARCHE Claude's avatar
MARCHE Claude committed
96
 <proof prover="1"><result status="valid" time="0.03" steps="59"/></proof>
97
 </goal>
MARCHE Claude's avatar
MARCHE Claude committed
98 99
 <goal name="TestListCursor.ListCursor.C.VC has_next" expl="VC for has_next" proved="true">
 <proof prover="1"><result status="valid" time="0.01" steps="13"/></proof>
100
 </goal>
MARCHE Claude's avatar
MARCHE Claude committed
101
</theory>
MARCHE Claude's avatar
MARCHE Claude committed
102 103 104 105 106 107 108
<theory name="ArrayCursorImpl" proved="true" sum="06468482e282d9cf2035e73ba7373228">
 <goal name="VC cursor" expl="VC for cursor" proved="true">
 <proof prover="1"><result status="valid" time="0.02" steps="3"/></proof>
 </goal>
 <goal name="VC create" expl="VC for create" proved="true">
 <proof prover="1"><result status="valid" time="0.02" steps="5"/></proof>
 </goal>
MARCHE Claude's avatar
MARCHE Claude committed
109
 <goal name="VC has_next" expl="VC for has_next" proved="true">
MARCHE Claude's avatar
MARCHE Claude committed
110
 <proof prover="1"><result status="valid" time="0.02" steps="19"/></proof>
MARCHE Claude's avatar
MARCHE Claude committed
111 112
 </goal>
 <goal name="VC next" expl="VC for next" proved="true">
MARCHE Claude's avatar
MARCHE Claude committed
113 114 115 116 117 118
 <proof prover="1"><result status="valid" time="0.02" steps="74"/></proof>
 </goal>
 <goal name="ArrayCursor.VC create" expl="VC for create" proved="true">
 <proof prover="1"><result status="valid" time="0.01" steps="27"/></proof>
 </goal>
 <goal name="ArrayCursor.C.VC next" expl="VC for next" proved="true">
MARCHE Claude's avatar
MARCHE Claude committed
119 120 121 122 123
 <transf name="split_goal_wp" proved="true" >
  <goal name="VC next.0" expl="precondition" proved="true">
  <transf name="split_goal_wp" proved="true" >
   <goal name="VC next.0.0" expl="precondition" proved="true">
   <proof prover="1"><result status="valid" time="0.03" steps="7"/></proof>
124 125 126
   </goal>
  </transf>
  </goal>
MARCHE Claude's avatar
MARCHE Claude committed
127 128
  <goal name="VC next.1" expl="postcondition" proved="true">
  <proof prover="1"><result status="valid" time="0.01" steps="12"/></proof>
129
  </goal>
MARCHE Claude's avatar
MARCHE Claude committed
130 131
  <goal name="VC next.2" expl="postcondition" proved="true">
  <proof prover="1"><result status="valid" time="0.00" steps="48"/></proof>
132 133 134
  </goal>
 </transf>
 </goal>
MARCHE Claude's avatar
MARCHE Claude committed
135 136
 <goal name="ArrayCursor.C.VC has_next" expl="VC for has_next" proved="true">
 <proof prover="1"><result status="valid" time="0.02" steps="12"/></proof>
137 138
 </goal>
</theory>
MARCHE Claude's avatar
MARCHE Claude committed
139
<theory name="TestArrayCursor" proved="true" sum="e8bf3a2e2fb131431b5954f022a066e5">
MARCHE Claude's avatar
MARCHE Claude committed
140 141 142 143
 <goal name="VC array_sum" expl="VC for array_sum" proved="true">
 <transf name="split_goal_wp" proved="true" >
  <goal name="VC array_sum.0" expl="loop invariant init" proved="true">
  <proof prover="1"><result status="valid" time="0.02" steps="16"/></proof>
144
  </goal>
MARCHE Claude's avatar
MARCHE Claude committed
145 146
  <goal name="VC array_sum.1" expl="loop invariant init" proved="true">
  <proof prover="1"><result status="valid" time="0.02" steps="5"/></proof>
147
  </goal>
MARCHE Claude's avatar
MARCHE Claude committed
148 149
  <goal name="VC array_sum.2" expl="precondition" proved="true">
  <proof prover="1"><result status="valid" time="0.01" steps="7"/></proof>
150
  </goal>
MARCHE Claude's avatar
MARCHE Claude committed
151 152
  <goal name="VC array_sum.3" expl="precondition" proved="true">
  <proof prover="1"><result status="valid" time="0.02" steps="8"/></proof>
153
  </goal>
MARCHE Claude's avatar
MARCHE Claude committed
154 155
  <goal name="VC array_sum.4" expl="precondition" proved="true">
  <proof prover="1"><result status="valid" time="0.02" steps="8"/></proof>
156
  </goal>
MARCHE Claude's avatar
MARCHE Claude committed
157 158
  <goal name="VC array_sum.5" expl="loop variant decrease" proved="true">
  <proof prover="1"><result status="valid" time="0.02" steps="20"/></proof>
159
  </goal>
MARCHE Claude's avatar
MARCHE Claude committed
160 161
  <goal name="VC array_sum.6" expl="loop invariant preservation" proved="true">
  <proof prover="1"><result status="valid" time="3.17" steps="1224"/></proof>
162
  </goal>
MARCHE Claude's avatar
MARCHE Claude committed
163 164
  <goal name="VC array_sum.7" expl="loop invariant preservation" proved="true">
  <proof prover="1"><result status="valid" time="0.02" steps="13"/></proof>
165
  </goal>
MARCHE Claude's avatar
MARCHE Claude committed
166 167
  <goal name="VC array_sum.8" expl="postcondition" proved="true">
  <proof prover="2"><result status="valid" time="0.06"/></proof>
168 169 170
  </goal>
 </transf>
 </goal>
MARCHE Claude's avatar
MARCHE Claude committed
171 172 173
 <goal name="VC harness1" expl="VC for harness1" proved="true">
 <proof prover="0"><result status="valid" time="0.16"/></proof>
 </goal>
174
</theory>
MARCHE Claude's avatar
MARCHE Claude committed
175 176 177
<theory name="TestArrayCursorLink" proved="true" sum="bd5b8257a304b6e001c68fe1ad36299a">
 <goal name="TestArrayCursor.ArrayCursor.VC create" expl="VC for create" proved="true">
 <proof prover="1"><result status="valid" time="0.02" steps="27"/></proof>
178
 </goal>
MARCHE Claude's avatar
MARCHE Claude committed
179
 <goal name="TestArrayCursor.ArrayCursor.C.VC next" expl="VC for next" proved="true">
MARCHE Claude's avatar
MARCHE Claude committed
180
 <proof prover="1"><result status="valid" time="0.02" steps="36"/></proof>
181
 </goal>
MARCHE Claude's avatar
MARCHE Claude committed
182 183
 <goal name="TestArrayCursor.ArrayCursor.C.VC has_next" expl="VC for has_next" proved="true">
 <proof prover="1"><result status="valid" time="0.01" steps="12"/></proof>
184 185 186 187
 </goal>
</theory>
</file>
</why3session>