equal
deleted
inserted
replaced
346 apply (metis finite_1.exhaust) |
346 apply (metis finite_1.exhaust) |
347 done |
347 done |
348 |
348 |
349 end |
349 end |
350 |
350 |
|
351 hide_const a\<^isub>1 |
|
352 |
351 datatype finite_2 = a\<^isub>1 | a\<^isub>2 |
353 datatype finite_2 = a\<^isub>1 | a\<^isub>2 |
352 |
354 |
353 instantiation finite_2 :: enum |
355 instantiation finite_2 :: enum |
354 begin |
356 begin |
355 |
357 |
379 apply (metis finite_2.distinct finite_2.nchotomy)+ |
381 apply (metis finite_2.distinct finite_2.nchotomy)+ |
380 done |
382 done |
381 |
383 |
382 end |
384 end |
383 |
385 |
|
386 hide_const a\<^isub>1 a\<^isub>2 |
|
387 |
384 |
388 |
385 datatype finite_3 = a\<^isub>1 | a\<^isub>2 | a\<^isub>3 |
389 datatype finite_3 = a\<^isub>1 | a\<^isub>2 | a\<^isub>3 |
386 |
390 |
387 instantiation finite_3 :: enum |
391 instantiation finite_3 :: enum |
388 begin |
392 begin |
411 instance proof (intro_classes) |
415 instance proof (intro_classes) |
412 qed (auto simp add: less_finite_3_def less_eq_finite_3_def split: finite_3.split_asm) |
416 qed (auto simp add: less_finite_3_def less_eq_finite_3_def split: finite_3.split_asm) |
413 |
417 |
414 end |
418 end |
415 |
419 |
|
420 hide_const a\<^isub>1 a\<^isub>2 a\<^isub>3 |
|
421 |
416 |
422 |
417 datatype finite_4 = a\<^isub>1 | a\<^isub>2 | a\<^isub>3 | a\<^isub>4 |
423 datatype finite_4 = a\<^isub>1 | a\<^isub>2 | a\<^isub>3 | a\<^isub>4 |
418 |
424 |
419 instantiation finite_4 :: enum |
425 instantiation finite_4 :: enum |
420 begin |
426 begin |
425 instance proof |
431 instance proof |
426 qed (auto simp add: enum_finite_4_def intro: finite_4.exhaust) |
432 qed (auto simp add: enum_finite_4_def intro: finite_4.exhaust) |
427 |
433 |
428 end |
434 end |
429 |
435 |
|
436 hide_const a\<^isub>1 a\<^isub>2 a\<^isub>3 a\<^isub>4 |
430 |
437 |
431 |
438 |
432 datatype finite_5 = a\<^isub>1 | a\<^isub>2 | a\<^isub>3 | a\<^isub>4 | a\<^isub>5 |
439 datatype finite_5 = a\<^isub>1 | a\<^isub>2 | a\<^isub>3 | a\<^isub>4 | a\<^isub>5 |
433 |
440 |
434 instantiation finite_5 :: enum |
441 instantiation finite_5 :: enum |
439 |
446 |
440 instance proof |
447 instance proof |
441 qed (auto simp add: enum_finite_5_def intro: finite_5.exhaust) |
448 qed (auto simp add: enum_finite_5_def intro: finite_5.exhaust) |
442 |
449 |
443 end |
450 end |
|
451 |
|
452 hide_const a\<^isub>1 a\<^isub>2 a\<^isub>3 a\<^isub>4 a\<^isub>5 |
|
453 |
444 |
454 |
445 hide_type finite_1 finite_2 finite_3 finite_4 finite_5 |
455 hide_type finite_1 finite_2 finite_3 finite_4 finite_5 |
446 hide_const (open) n_lists product |
456 hide_const (open) n_lists product |
447 |
457 |
448 end |
458 end |