src/HOL/ex/Case_Product.thy
author wenzelm
Sun, 15 Oct 2023 13:36:48 +0200
changeset 78780 a611bbfeb9cd
parent 65563 e83c9e94e891
permissions -rw-r--r--
updated to stack-2.13.1: include arm64-darwin, although it does not quite work yet (e.g. session "Haskell"); enforce rebuild of Isabelle/Pure and thus all Haskell applications;

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

section \<open>Examples for the 'case_product' attribute\<close>

theory Case_Product
imports Main
begin

text \<open>
  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.
\<close>

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

text \<open>The attribute honours preconditions.\<close>

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

text \<open>Also, case names are generated based on the old names.\<close>

end