declare {upper,lower,convex}_pd_induct as default induction rules
authorhuffman
Tue, 16 Nov 2010 11:57:10 -0800
changeset 40576 fa5e0cacd5e7
parent 40575 b9a86f15e763
child 40577 5c6225a1c2c0
declare {upper,lower,convex}_pd_induct as default induction rules
src/HOLCF/ConvexPD.thy
src/HOLCF/LowerPD.thy
src/HOLCF/UpperPD.thy
--- a/src/HOLCF/ConvexPD.thy	Tue Nov 16 11:50:05 2010 -0800
+++ b/src/HOLCF/ConvexPD.thy	Tue Nov 16 11:57:10 2010 -0800
@@ -289,7 +289,8 @@
 apply (erule insert [OF unit])
 done
 
-lemma convex_pd_induct:
+lemma convex_pd_induct
+  [case_names adm convex_unit convex_plus, induct type: convex_pd]:
   assumes P: "adm P"
   assumes unit: "\<And>x. P {x}\<natural>"
   assumes plus: "\<And>xs ys. \<lbrakk>P xs; P ys\<rbrakk> \<Longrightarrow> P (xs +\<natural> ys)"
--- a/src/HOLCF/LowerPD.thy	Tue Nov 16 11:50:05 2010 -0800
+++ b/src/HOLCF/LowerPD.thy	Tue Nov 16 11:57:10 2010 -0800
@@ -281,7 +281,8 @@
 apply (erule insert [OF unit])
 done
 
-lemma lower_pd_induct:
+lemma lower_pd_induct
+  [case_names adm lower_unit lower_plus, induct type: lower_pd]:
   assumes P: "adm P"
   assumes unit: "\<And>x. P {x}\<flat>"
   assumes plus: "\<And>xs ys. \<lbrakk>P xs; P ys\<rbrakk> \<Longrightarrow> P (xs +\<flat> ys)"
--- a/src/HOLCF/UpperPD.thy	Tue Nov 16 11:50:05 2010 -0800
+++ b/src/HOLCF/UpperPD.thy	Tue Nov 16 11:57:10 2010 -0800
@@ -276,7 +276,8 @@
 apply (erule insert [OF unit])
 done
 
-lemma upper_pd_induct:
+lemma upper_pd_induct
+  [case_names adm upper_unit upper_plus, induct type: upper_pd]:
   assumes P: "adm P"
   assumes unit: "\<And>x. P {x}\<sharp>"
   assumes plus: "\<And>xs ys. \<lbrakk>P xs; P ys\<rbrakk> \<Longrightarrow> P (xs +\<sharp> ys)"