src/HOL/ex/Case_Product.thy
author huffman
Wed, 09 Nov 2011 11:44:42 +0100
changeset 45436 62bc9474d04b
parent 41828 d5b294734373
child 58889 5b7a9633cfa8
permissions -rw-r--r--
use simproc_setup for some nat_numeral simprocs; add simproc tests

(*  Title:      HOL/ex/Case_Product.thy
    Author:     Lars Noschinski
    Copyright   2011 TU Muenchen
*)

header {* Examples for the 'case_product' attribute *}

theory Case_Product
imports Main
begin

text {*
  The {@attribute case_product} attribute combines multiple case distinction
  lemmas into a single case distinction lemma by building the product of all
  these case distinctions.
*}

lemmas nat_list_exhaust = nat.exhaust[case_product list.exhaust]

text {*
  The attribute honors preconditions
*}

lemmas trancl_acc_cases= trancl.cases[case_product acc.cases]

text {*
  Also, case names are generated based on the old names
*}

end