modernized theory name;
authorwenzelm
Thu, 01 Sep 2011 16:58:03 +0200
changeset 455173e666dcdcd32
parent 45516 83dc04ccabd5
child 45518 101c117494cd
modernized theory name;
Admin/Benchmarks/HOL-record/ROOT.ML
Admin/Benchmarks/HOL-record/RecordBenchmark.thy
Admin/Benchmarks/HOL-record/Record_Benchmark.thy
Admin/Benchmarks/IsaMakefile
     1.1 --- a/Admin/Benchmarks/HOL-record/ROOT.ML	Thu Sep 01 16:46:07 2011 +0200
     1.2 +++ b/Admin/Benchmarks/HOL-record/ROOT.ML	Thu Sep 01 16:58:03 2011 +0200
     1.3 @@ -3,7 +3,7 @@
     1.4  Some benchmark on large record.
     1.5  *)
     1.6  
     1.7 -val tests = ["RecordBenchmark"];
     1.8 +val tests = ["Record_Benchmark"];
     1.9  
    1.10  Toplevel.timing := true;
    1.11  
     2.1 --- a/Admin/Benchmarks/HOL-record/RecordBenchmark.thy	Thu Sep 01 16:46:07 2011 +0200
     2.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.3 @@ -1,390 +0,0 @@
     2.4 -(*  Title:      Admin/Benchmarks/HOL-record/RecordBenchmark.thy
     2.5 -    Author:     Norbert Schirmer, DFKI
     2.6 -*)
     2.7 -
     2.8 -header {* Benchmark for large record *}
     2.9 -
    2.10 -theory RecordBenchmark
    2.11 -imports Main
    2.12 -begin
    2.13 -
    2.14 -declare [[record_timing]]
    2.15 -
    2.16 -record many_A =
    2.17 -A000::nat
    2.18 -A001::nat
    2.19 -A002::nat
    2.20 -A003::nat
    2.21 -A004::nat
    2.22 -A005::nat
    2.23 -A006::nat
    2.24 -A007::nat
    2.25 -A008::nat
    2.26 -A009::nat
    2.27 -A010::nat
    2.28 -A011::nat
    2.29 -A012::nat
    2.30 -A013::nat
    2.31 -A014::nat
    2.32 -A015::nat
    2.33 -A016::nat
    2.34 -A017::nat
    2.35 -A018::nat
    2.36 -A019::nat
    2.37 -A020::nat
    2.38 -A021::nat
    2.39 -A022::nat
    2.40 -A023::nat
    2.41 -A024::nat
    2.42 -A025::nat
    2.43 -A026::nat
    2.44 -A027::nat
    2.45 -A028::nat
    2.46 -A029::nat
    2.47 -A030::nat
    2.48 -A031::nat
    2.49 -A032::nat
    2.50 -A033::nat
    2.51 -A034::nat
    2.52 -A035::nat
    2.53 -A036::nat
    2.54 -A037::nat
    2.55 -A038::nat
    2.56 -A039::nat
    2.57 -A040::nat
    2.58 -A041::nat
    2.59 -A042::nat
    2.60 -A043::nat
    2.61 -A044::nat
    2.62 -A045::nat
    2.63 -A046::nat
    2.64 -A047::nat
    2.65 -A048::nat
    2.66 -A049::nat
    2.67 -A050::nat
    2.68 -A051::nat
    2.69 -A052::nat
    2.70 -A053::nat
    2.71 -A054::nat
    2.72 -A055::nat
    2.73 -A056::nat
    2.74 -A057::nat
    2.75 -A058::nat
    2.76 -A059::nat
    2.77 -A060::nat
    2.78 -A061::nat
    2.79 -A062::nat
    2.80 -A063::nat
    2.81 -A064::nat
    2.82 -A065::nat
    2.83 -A066::nat
    2.84 -A067::nat
    2.85 -A068::nat
    2.86 -A069::nat
    2.87 -A070::nat
    2.88 -A071::nat
    2.89 -A072::nat
    2.90 -A073::nat
    2.91 -A074::nat
    2.92 -A075::nat
    2.93 -A076::nat
    2.94 -A077::nat
    2.95 -A078::nat
    2.96 -A079::nat
    2.97 -A080::nat
    2.98 -A081::nat
    2.99 -A082::nat
   2.100 -A083::nat
   2.101 -A084::nat
   2.102 -A085::nat
   2.103 -A086::nat
   2.104 -A087::nat
   2.105 -A088::nat
   2.106 -A089::nat
   2.107 -A090::nat
   2.108 -A091::nat
   2.109 -A092::nat
   2.110 -A093::nat
   2.111 -A094::nat
   2.112 -A095::nat
   2.113 -A096::nat
   2.114 -A097::nat
   2.115 -A098::nat
   2.116 -A099::nat
   2.117 -A100::nat
   2.118 -A101::nat
   2.119 -A102::nat
   2.120 -A103::nat
   2.121 -A104::nat
   2.122 -A105::nat
   2.123 -A106::nat
   2.124 -A107::nat
   2.125 -A108::nat
   2.126 -A109::nat
   2.127 -A110::nat
   2.128 -A111::nat
   2.129 -A112::nat
   2.130 -A113::nat
   2.131 -A114::nat
   2.132 -A115::nat
   2.133 -A116::nat
   2.134 -A117::nat
   2.135 -A118::nat
   2.136 -A119::nat
   2.137 -A120::nat
   2.138 -A121::nat
   2.139 -A122::nat
   2.140 -A123::nat
   2.141 -A124::nat
   2.142 -A125::nat
   2.143 -A126::nat
   2.144 -A127::nat
   2.145 -A128::nat
   2.146 -A129::nat
   2.147 -A130::nat
   2.148 -A131::nat
   2.149 -A132::nat
   2.150 -A133::nat
   2.151 -A134::nat
   2.152 -A135::nat
   2.153 -A136::nat
   2.154 -A137::nat
   2.155 -A138::nat
   2.156 -A139::nat
   2.157 -A140::nat
   2.158 -A141::nat
   2.159 -A142::nat
   2.160 -A143::nat
   2.161 -A144::nat
   2.162 -A145::nat
   2.163 -A146::nat
   2.164 -A147::nat
   2.165 -A148::nat
   2.166 -A149::nat
   2.167 -A150::nat
   2.168 -A151::nat
   2.169 -A152::nat
   2.170 -A153::nat
   2.171 -A154::nat
   2.172 -A155::nat
   2.173 -A156::nat
   2.174 -A157::nat
   2.175 -A158::nat
   2.176 -A159::nat
   2.177 -A160::nat
   2.178 -A161::nat
   2.179 -A162::nat
   2.180 -A163::nat
   2.181 -A164::nat
   2.182 -A165::nat
   2.183 -A166::nat
   2.184 -A167::nat
   2.185 -A168::nat
   2.186 -A169::nat
   2.187 -A170::nat
   2.188 -A171::nat
   2.189 -A172::nat
   2.190 -A173::nat
   2.191 -A174::nat
   2.192 -A175::nat
   2.193 -A176::nat
   2.194 -A177::nat
   2.195 -A178::nat
   2.196 -A179::nat
   2.197 -A180::nat
   2.198 -A181::nat
   2.199 -A182::nat
   2.200 -A183::nat
   2.201 -A184::nat
   2.202 -A185::nat
   2.203 -A186::nat
   2.204 -A187::nat
   2.205 -A188::nat
   2.206 -A189::nat
   2.207 -A190::nat
   2.208 -A191::nat
   2.209 -A192::nat
   2.210 -A193::nat
   2.211 -A194::nat
   2.212 -A195::nat
   2.213 -A196::nat
   2.214 -A197::nat
   2.215 -A198::nat
   2.216 -A199::nat
   2.217 -A200::nat
   2.218 -A201::nat
   2.219 -A202::nat
   2.220 -A203::nat
   2.221 -A204::nat
   2.222 -A205::nat
   2.223 -A206::nat
   2.224 -A207::nat
   2.225 -A208::nat
   2.226 -A209::nat
   2.227 -A210::nat
   2.228 -A211::nat
   2.229 -A212::nat
   2.230 -A213::nat
   2.231 -A214::nat
   2.232 -A215::nat
   2.233 -A216::nat
   2.234 -A217::nat
   2.235 -A218::nat
   2.236 -A219::nat
   2.237 -A220::nat
   2.238 -A221::nat
   2.239 -A222::nat
   2.240 -A223::nat
   2.241 -A224::nat
   2.242 -A225::nat
   2.243 -A226::nat
   2.244 -A227::nat
   2.245 -A228::nat
   2.246 -A229::nat
   2.247 -A230::nat
   2.248 -A231::nat
   2.249 -A232::nat
   2.250 -A233::nat
   2.251 -A234::nat
   2.252 -A235::nat
   2.253 -A236::nat
   2.254 -A237::nat
   2.255 -A238::nat
   2.256 -A239::nat
   2.257 -A240::nat
   2.258 -A241::nat
   2.259 -A242::nat
   2.260 -A243::nat
   2.261 -A244::nat
   2.262 -A245::nat
   2.263 -A246::nat
   2.264 -A247::nat
   2.265 -A248::nat
   2.266 -A249::nat
   2.267 -A250::nat
   2.268 -A251::nat
   2.269 -A252::nat
   2.270 -A253::nat
   2.271 -A254::nat
   2.272 -A255::nat
   2.273 -A256::nat
   2.274 -A257::nat
   2.275 -A258::nat
   2.276 -A259::nat
   2.277 -A260::nat
   2.278 -A261::nat
   2.279 -A262::nat
   2.280 -A263::nat
   2.281 -A264::nat
   2.282 -A265::nat
   2.283 -A266::nat
   2.284 -A267::nat
   2.285 -A268::nat
   2.286 -A269::nat
   2.287 -A270::nat
   2.288 -A271::nat
   2.289 -A272::nat
   2.290 -A273::nat
   2.291 -A274::nat
   2.292 -A275::nat
   2.293 -A276::nat
   2.294 -A277::nat
   2.295 -A278::nat
   2.296 -A279::nat
   2.297 -A280::nat
   2.298 -A281::nat
   2.299 -A282::nat
   2.300 -A283::nat
   2.301 -A284::nat
   2.302 -A285::nat
   2.303 -A286::nat
   2.304 -A287::nat
   2.305 -A288::nat
   2.306 -A289::nat
   2.307 -A290::nat
   2.308 -A291::nat
   2.309 -A292::nat
   2.310 -A293::nat
   2.311 -A294::nat
   2.312 -A295::nat
   2.313 -A296::nat
   2.314 -A297::nat
   2.315 -A298::nat
   2.316 -A299::nat
   2.317 -
   2.318 -lemma "A155 (r\<lparr>A255:=x\<rparr>) = A155 r"
   2.319 -  by simp
   2.320 -
   2.321 -lemma "A155 (r\<lparr>A255:=x,A253:=y,A255:=z \<rparr>) = A155 r"
   2.322 -  by simp
   2.323 -
   2.324 -lemma "(r\<lparr>A255:=x,A253:=y,A255:=z \<rparr>) = r\<lparr>A253:=y,A255:=z\<rparr>"
   2.325 -  by simp
   2.326 -
   2.327 -lemma "(r\<lparr>A255:=x,A253:=y,A255:=z \<rparr>) = r\<lparr>A253:=y,A255:=z\<rparr>"
   2.328 -  apply (tactic {* simp_tac (HOL_basic_ss addsimprocs [Record.upd_simproc]) 1*})
   2.329 -  done
   2.330 -
   2.331 -lemma "(\<forall>r. P (A155 r)) \<longrightarrow> (\<forall>x. P x)"
   2.332 -  apply (tactic {* simp_tac (HOL_basic_ss addsimprocs [Record.split_simproc (K ~1)]) 1*})
   2.333 -  apply simp
   2.334 -  done
   2.335 -
   2.336 -lemma "(\<forall>r. P (A155 r)) \<longrightarrow> (\<forall>x. P x)"
   2.337 -  apply (tactic {* Record.split_simp_tac [] (K ~1) 1*})
   2.338 -  apply simp
   2.339 -  done
   2.340 -
   2.341 -lemma "(\<exists>r. P (A155 r)) \<longrightarrow> (\<exists>x. P x)"
   2.342 -  apply (tactic {* simp_tac (HOL_basic_ss addsimprocs [Record.split_simproc (K ~1)]) 1*})
   2.343 -  apply simp
   2.344 -  done
   2.345 -
   2.346 -lemma "(\<exists>r. P (A155 r)) \<longrightarrow> (\<exists>x. P x)"
   2.347 -  apply (tactic {* Record.split_simp_tac [] (K ~1) 1*})
   2.348 -  apply simp
   2.349 -  done
   2.350 -
   2.351 -lemma "\<And>r. P (A155 r) \<Longrightarrow> (\<exists>x. P x)"
   2.352 -  apply (tactic {* simp_tac (HOL_basic_ss addsimprocs [Record.split_simproc (K ~1)]) 1*})
   2.353 -  apply auto
   2.354 -  done
   2.355 -
   2.356 -lemma "\<And>r. P (A155 r) \<Longrightarrow> (\<exists>x. P x)"
   2.357 -  apply (tactic {* Record.split_simp_tac [] (K ~1) 1*})
   2.358 -  apply auto
   2.359 -  done
   2.360 -
   2.361 -lemma "P (A155 r) \<Longrightarrow> (\<exists>x. P x)"
   2.362 -  apply (tactic {* Record.split_simp_tac [] (K ~1) 1*})
   2.363 -  apply auto
   2.364 -  done
   2.365 -
   2.366 -lemma fixes r shows "P (A155 r) \<Longrightarrow> (\<exists>x. P x)"
   2.367 -  apply (tactic {* Record.split_simp_tac [] (K ~1) 1*})
   2.368 -  apply auto
   2.369 -  done
   2.370 -
   2.371 -
   2.372 -lemma True
   2.373 -proof -
   2.374 -  {
   2.375 -    fix P r
   2.376 -    assume pre: "P (A155 r)"
   2.377 -    have "\<exists>x. P x"
   2.378 -      using pre
   2.379 -      apply -
   2.380 -      apply (tactic {* Record.split_simp_tac [] (K ~1) 1*})
   2.381 -      apply auto 
   2.382 -      done
   2.383 -  }
   2.384 -  show ?thesis ..
   2.385 -qed
   2.386 -
   2.387 -
   2.388 -lemma "\<exists>r. A155 r = x"
   2.389 -  apply (tactic {*simp_tac (HOL_basic_ss addsimprocs [Record.ex_sel_eq_simproc]) 1*})
   2.390 -  done
   2.391 -
   2.392 -
   2.393 -end
   2.394 \ No newline at end of file
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/Admin/Benchmarks/HOL-record/Record_Benchmark.thy	Thu Sep 01 16:58:03 2011 +0200
     3.3 @@ -0,0 +1,390 @@
     3.4 +(*  Title:      Admin/Benchmarks/HOL-record/Record_Benchmark.thy
     3.5 +    Author:     Norbert Schirmer, DFKI
     3.6 +*)
     3.7 +
     3.8 +header {* Benchmark for large record *}
     3.9 +
    3.10 +theory Record_Benchmark
    3.11 +imports Main
    3.12 +begin
    3.13 +
    3.14 +declare [[record_timing]]
    3.15 +
    3.16 +record many_A =
    3.17 +A000::nat
    3.18 +A001::nat
    3.19 +A002::nat
    3.20 +A003::nat
    3.21 +A004::nat
    3.22 +A005::nat
    3.23 +A006::nat
    3.24 +A007::nat
    3.25 +A008::nat
    3.26 +A009::nat
    3.27 +A010::nat
    3.28 +A011::nat
    3.29 +A012::nat
    3.30 +A013::nat
    3.31 +A014::nat
    3.32 +A015::nat
    3.33 +A016::nat
    3.34 +A017::nat
    3.35 +A018::nat
    3.36 +A019::nat
    3.37 +A020::nat
    3.38 +A021::nat
    3.39 +A022::nat
    3.40 +A023::nat
    3.41 +A024::nat
    3.42 +A025::nat
    3.43 +A026::nat
    3.44 +A027::nat
    3.45 +A028::nat
    3.46 +A029::nat
    3.47 +A030::nat
    3.48 +A031::nat
    3.49 +A032::nat
    3.50 +A033::nat
    3.51 +A034::nat
    3.52 +A035::nat
    3.53 +A036::nat
    3.54 +A037::nat
    3.55 +A038::nat
    3.56 +A039::nat
    3.57 +A040::nat
    3.58 +A041::nat
    3.59 +A042::nat
    3.60 +A043::nat
    3.61 +A044::nat
    3.62 +A045::nat
    3.63 +A046::nat
    3.64 +A047::nat
    3.65 +A048::nat
    3.66 +A049::nat
    3.67 +A050::nat
    3.68 +A051::nat
    3.69 +A052::nat
    3.70 +A053::nat
    3.71 +A054::nat
    3.72 +A055::nat
    3.73 +A056::nat
    3.74 +A057::nat
    3.75 +A058::nat
    3.76 +A059::nat
    3.77 +A060::nat
    3.78 +A061::nat
    3.79 +A062::nat
    3.80 +A063::nat
    3.81 +A064::nat
    3.82 +A065::nat
    3.83 +A066::nat
    3.84 +A067::nat
    3.85 +A068::nat
    3.86 +A069::nat
    3.87 +A070::nat
    3.88 +A071::nat
    3.89 +A072::nat
    3.90 +A073::nat
    3.91 +A074::nat
    3.92 +A075::nat
    3.93 +A076::nat
    3.94 +A077::nat
    3.95 +A078::nat
    3.96 +A079::nat
    3.97 +A080::nat
    3.98 +A081::nat
    3.99 +A082::nat
   3.100 +A083::nat
   3.101 +A084::nat
   3.102 +A085::nat
   3.103 +A086::nat
   3.104 +A087::nat
   3.105 +A088::nat
   3.106 +A089::nat
   3.107 +A090::nat
   3.108 +A091::nat
   3.109 +A092::nat
   3.110 +A093::nat
   3.111 +A094::nat
   3.112 +A095::nat
   3.113 +A096::nat
   3.114 +A097::nat
   3.115 +A098::nat
   3.116 +A099::nat
   3.117 +A100::nat
   3.118 +A101::nat
   3.119 +A102::nat
   3.120 +A103::nat
   3.121 +A104::nat
   3.122 +A105::nat
   3.123 +A106::nat
   3.124 +A107::nat
   3.125 +A108::nat
   3.126 +A109::nat
   3.127 +A110::nat
   3.128 +A111::nat
   3.129 +A112::nat
   3.130 +A113::nat
   3.131 +A114::nat
   3.132 +A115::nat
   3.133 +A116::nat
   3.134 +A117::nat
   3.135 +A118::nat
   3.136 +A119::nat
   3.137 +A120::nat
   3.138 +A121::nat
   3.139 +A122::nat
   3.140 +A123::nat
   3.141 +A124::nat
   3.142 +A125::nat
   3.143 +A126::nat
   3.144 +A127::nat
   3.145 +A128::nat
   3.146 +A129::nat
   3.147 +A130::nat
   3.148 +A131::nat
   3.149 +A132::nat
   3.150 +A133::nat
   3.151 +A134::nat
   3.152 +A135::nat
   3.153 +A136::nat
   3.154 +A137::nat
   3.155 +A138::nat
   3.156 +A139::nat
   3.157 +A140::nat
   3.158 +A141::nat
   3.159 +A142::nat
   3.160 +A143::nat
   3.161 +A144::nat
   3.162 +A145::nat
   3.163 +A146::nat
   3.164 +A147::nat
   3.165 +A148::nat
   3.166 +A149::nat
   3.167 +A150::nat
   3.168 +A151::nat
   3.169 +A152::nat
   3.170 +A153::nat
   3.171 +A154::nat
   3.172 +A155::nat
   3.173 +A156::nat
   3.174 +A157::nat
   3.175 +A158::nat
   3.176 +A159::nat
   3.177 +A160::nat
   3.178 +A161::nat
   3.179 +A162::nat
   3.180 +A163::nat
   3.181 +A164::nat
   3.182 +A165::nat
   3.183 +A166::nat
   3.184 +A167::nat
   3.185 +A168::nat
   3.186 +A169::nat
   3.187 +A170::nat
   3.188 +A171::nat
   3.189 +A172::nat
   3.190 +A173::nat
   3.191 +A174::nat
   3.192 +A175::nat
   3.193 +A176::nat
   3.194 +A177::nat
   3.195 +A178::nat
   3.196 +A179::nat
   3.197 +A180::nat
   3.198 +A181::nat
   3.199 +A182::nat
   3.200 +A183::nat
   3.201 +A184::nat
   3.202 +A185::nat
   3.203 +A186::nat
   3.204 +A187::nat
   3.205 +A188::nat
   3.206 +A189::nat
   3.207 +A190::nat
   3.208 +A191::nat
   3.209 +A192::nat
   3.210 +A193::nat
   3.211 +A194::nat
   3.212 +A195::nat
   3.213 +A196::nat
   3.214 +A197::nat
   3.215 +A198::nat
   3.216 +A199::nat
   3.217 +A200::nat
   3.218 +A201::nat
   3.219 +A202::nat
   3.220 +A203::nat
   3.221 +A204::nat
   3.222 +A205::nat
   3.223 +A206::nat
   3.224 +A207::nat
   3.225 +A208::nat
   3.226 +A209::nat
   3.227 +A210::nat
   3.228 +A211::nat
   3.229 +A212::nat
   3.230 +A213::nat
   3.231 +A214::nat
   3.232 +A215::nat
   3.233 +A216::nat
   3.234 +A217::nat
   3.235 +A218::nat
   3.236 +A219::nat
   3.237 +A220::nat
   3.238 +A221::nat
   3.239 +A222::nat
   3.240 +A223::nat
   3.241 +A224::nat
   3.242 +A225::nat
   3.243 +A226::nat
   3.244 +A227::nat
   3.245 +A228::nat
   3.246 +A229::nat
   3.247 +A230::nat
   3.248 +A231::nat
   3.249 +A232::nat
   3.250 +A233::nat
   3.251 +A234::nat
   3.252 +A235::nat
   3.253 +A236::nat
   3.254 +A237::nat
   3.255 +A238::nat
   3.256 +A239::nat
   3.257 +A240::nat
   3.258 +A241::nat
   3.259 +A242::nat
   3.260 +A243::nat
   3.261 +A244::nat
   3.262 +A245::nat
   3.263 +A246::nat
   3.264 +A247::nat
   3.265 +A248::nat
   3.266 +A249::nat
   3.267 +A250::nat
   3.268 +A251::nat
   3.269 +A252::nat
   3.270 +A253::nat
   3.271 +A254::nat
   3.272 +A255::nat
   3.273 +A256::nat
   3.274 +A257::nat
   3.275 +A258::nat
   3.276 +A259::nat
   3.277 +A260::nat
   3.278 +A261::nat
   3.279 +A262::nat
   3.280 +A263::nat
   3.281 +A264::nat
   3.282 +A265::nat
   3.283 +A266::nat
   3.284 +A267::nat
   3.285 +A268::nat
   3.286 +A269::nat
   3.287 +A270::nat
   3.288 +A271::nat
   3.289 +A272::nat
   3.290 +A273::nat
   3.291 +A274::nat
   3.292 +A275::nat
   3.293 +A276::nat
   3.294 +A277::nat
   3.295 +A278::nat
   3.296 +A279::nat
   3.297 +A280::nat
   3.298 +A281::nat
   3.299 +A282::nat
   3.300 +A283::nat
   3.301 +A284::nat
   3.302 +A285::nat
   3.303 +A286::nat
   3.304 +A287::nat
   3.305 +A288::nat
   3.306 +A289::nat
   3.307 +A290::nat
   3.308 +A291::nat
   3.309 +A292::nat
   3.310 +A293::nat
   3.311 +A294::nat
   3.312 +A295::nat
   3.313 +A296::nat
   3.314 +A297::nat
   3.315 +A298::nat
   3.316 +A299::nat
   3.317 +
   3.318 +lemma "A155 (r\<lparr>A255:=x\<rparr>) = A155 r"
   3.319 +  by simp
   3.320 +
   3.321 +lemma "A155 (r\<lparr>A255:=x,A253:=y,A255:=z \<rparr>) = A155 r"
   3.322 +  by simp
   3.323 +
   3.324 +lemma "(r\<lparr>A255:=x,A253:=y,A255:=z \<rparr>) = r\<lparr>A253:=y,A255:=z\<rparr>"
   3.325 +  by simp
   3.326 +
   3.327 +lemma "(r\<lparr>A255:=x,A253:=y,A255:=z \<rparr>) = r\<lparr>A253:=y,A255:=z\<rparr>"
   3.328 +  apply (tactic {* simp_tac (HOL_basic_ss addsimprocs [Record.upd_simproc]) 1*})
   3.329 +  done
   3.330 +
   3.331 +lemma "(\<forall>r. P (A155 r)) \<longrightarrow> (\<forall>x. P x)"
   3.332 +  apply (tactic {* simp_tac (HOL_basic_ss addsimprocs [Record.split_simproc (K ~1)]) 1*})
   3.333 +  apply simp
   3.334 +  done
   3.335 +
   3.336 +lemma "(\<forall>r. P (A155 r)) \<longrightarrow> (\<forall>x. P x)"
   3.337 +  apply (tactic {* Record.split_simp_tac [] (K ~1) 1*})
   3.338 +  apply simp
   3.339 +  done
   3.340 +
   3.341 +lemma "(\<exists>r. P (A155 r)) \<longrightarrow> (\<exists>x. P x)"
   3.342 +  apply (tactic {* simp_tac (HOL_basic_ss addsimprocs [Record.split_simproc (K ~1)]) 1*})
   3.343 +  apply simp
   3.344 +  done
   3.345 +
   3.346 +lemma "(\<exists>r. P (A155 r)) \<longrightarrow> (\<exists>x. P x)"
   3.347 +  apply (tactic {* Record.split_simp_tac [] (K ~1) 1*})
   3.348 +  apply simp
   3.349 +  done
   3.350 +
   3.351 +lemma "\<And>r. P (A155 r) \<Longrightarrow> (\<exists>x. P x)"
   3.352 +  apply (tactic {* simp_tac (HOL_basic_ss addsimprocs [Record.split_simproc (K ~1)]) 1*})
   3.353 +  apply auto
   3.354 +  done
   3.355 +
   3.356 +lemma "\<And>r. P (A155 r) \<Longrightarrow> (\<exists>x. P x)"
   3.357 +  apply (tactic {* Record.split_simp_tac [] (K ~1) 1*})
   3.358 +  apply auto
   3.359 +  done
   3.360 +
   3.361 +lemma "P (A155 r) \<Longrightarrow> (\<exists>x. P x)"
   3.362 +  apply (tactic {* Record.split_simp_tac [] (K ~1) 1*})
   3.363 +  apply auto
   3.364 +  done
   3.365 +
   3.366 +lemma fixes r shows "P (A155 r) \<Longrightarrow> (\<exists>x. P x)"
   3.367 +  apply (tactic {* Record.split_simp_tac [] (K ~1) 1*})
   3.368 +  apply auto
   3.369 +  done
   3.370 +
   3.371 +
   3.372 +lemma True
   3.373 +proof -
   3.374 +  {
   3.375 +    fix P r
   3.376 +    assume pre: "P (A155 r)"
   3.377 +    have "\<exists>x. P x"
   3.378 +      using pre
   3.379 +      apply -
   3.380 +      apply (tactic {* Record.split_simp_tac [] (K ~1) 1*})
   3.381 +      apply auto 
   3.382 +      done
   3.383 +  }
   3.384 +  show ?thesis ..
   3.385 +qed
   3.386 +
   3.387 +
   3.388 +lemma "\<exists>r. A155 r = x"
   3.389 +  apply (tactic {*simp_tac (HOL_basic_ss addsimprocs [Record.ex_sel_eq_simproc]) 1*})
   3.390 +  done
   3.391 +
   3.392 +
   3.393 +end
   3.394 \ No newline at end of file
     4.1 --- a/Admin/Benchmarks/IsaMakefile	Thu Sep 01 16:46:07 2011 +0200
     4.2 +++ b/Admin/Benchmarks/IsaMakefile	Thu Sep 01 16:58:03 2011 +0200
     4.3 @@ -33,7 +33,7 @@
     4.4  HOL-record: HOL $(LOG)/HOL-record.gz
     4.5  
     4.6  $(LOG)/HOL-record.gz: $(OUT)/HOL HOL-record/ROOT.ML	\
     4.7 -   HOL-record/RecordBenchmark.thy
     4.8 +   HOL-record/Record_Benchmark.thy
     4.9  	@$(ISABELLE_TOOL) usedir -s record $(OUT)/HOL HOL-record
    4.10  
    4.11