Skip to content

Commit f00b343

Browse files
committed
Add simp law scene_inter_unit to simplify proof of scene_union_inter_minus
1 parent 7e4e5c9 commit f00b343

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

Scene_Spaces.thy

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ bot_scene_space [intro]: "\<bottom>\<^sub>S \<in> scene_space" |
224224
Vars_scene_space [intro]: "x \<in> set Vars \<Longrightarrow> x \<in> scene_space" |
225225
union_scene_space [intro]: "\<lbrakk> x \<in> scene_space; y \<in> scene_space \<rbrakk> \<Longrightarrow> x \<squnion>\<^sub>S y \<in> scene_space"
226226

227-
lemma idem_scene_space: "a \<in> scene_space \<Longrightarrow> idem_scene a"
227+
lemma idem_scene_space [intro, simp]: "a \<in> scene_space \<Longrightarrow> idem_scene a"
228228
by (induct rule: scene_space.induct) auto
229229

230230
lemma set_Vars_scene_space [simp]: "set Vars \<subseteq> scene_space"
@@ -372,12 +372,12 @@ proof (rule scene_union_indep_uniq[where Z="foldr (\<squnion>\<^sub>S) xs \<bott
372372
(metis \<open>idem_scene (- \<Squnion>\<^sub>S xs)\<close> local.span_Vars scene_span_def scene_union_compl uminus_scene_twice)
373373
qed
374374

375-
lemma scene_space_uminus: "\<lbrakk> a \<in> scene_space \<rbrakk> \<Longrightarrow> - a \<in> scene_space"
375+
lemma scene_space_uminus [intro, simp]: "\<lbrakk> a \<in> scene_space \<rbrakk> \<Longrightarrow> - a \<in> scene_space"
376376
by (auto simp add: scene_space_vars_decomp_iff uminus_vars_other_vars)
377377
(metis filter_is_subset)
378378

379379
lemma scene_space_inter: "\<lbrakk> a \<in> scene_space; b \<in> scene_space \<rbrakk> \<Longrightarrow> a \<sqinter>\<^sub>S b \<in> scene_space"
380-
by (simp add: inf_scene_def scene_space.union_scene_space scene_space_uminus)
380+
by (simp add: inf_scene_def scene_space.union_scene_space)
381381

382382
lemma scene_union_foldr_remove_element:
383383
assumes "set xs \<subseteq> set Vars"
@@ -595,7 +595,7 @@ qed
595595
lemma scene_union_inter_minus:
596596
assumes "a \<in> scene_space" "b \<in> scene_space"
597597
shows "a \<squnion>\<^sub>S (b \<sqinter>\<^sub>S - a) = a \<squnion>\<^sub>S b"
598-
by (metis assms(1) assms(2) bot_idem_scene idem_scene_space idem_scene_uminus local.scene_union_inter_distrib scene_demorgan1 scene_space_uminus scene_union_compl scene_union_unit(1) uminus_scene_twice)
598+
by (simp add: assms scene_union_inter_distrib scene_union_compl)
599599

600600
lemma scene_union_foldr_minus_element:
601601
assumes "a \<in> scene_space" "set xs \<subseteq> scene_space"

Scenes.thy

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,9 @@ lemma scene_equiv_sym [simp]: "idem_scene a \<Longrightarrow> s\<^sub>1 \<approx
221221
lemma scene_union_unit [simp]: "X \<squnion>\<^sub>S \<bottom>\<^sub>S = X" "\<bottom>\<^sub>S \<squnion>\<^sub>S X = X"
222222
by (transfer, simp)+
223223

224+
lemma scene_inter_unit [simp]: "X \<sqinter>\<^sub>S \<top>\<^sub>S = X" "\<top>\<^sub>S \<sqinter>\<^sub>S X = X"
225+
by (simp_all add: inf_scene_def uminus_scene_twice)
226+
224227
lemma scene_indep_bot [simp]: "X \<bowtie>\<^sub>S \<bottom>\<^sub>S"
225228
by (transfer, simp)
226229

@@ -283,7 +286,7 @@ lemma scene_union_indep_uniq:
283286
lemma scene_union_idem: "X \<squnion>\<^sub>S X = X"
284287
by (transfer, simp)
285288

286-
lemma scene_union_compl: "idem_scene X \<Longrightarrow> X \<squnion>\<^sub>S - X = \<top>\<^sub>S"
289+
lemma scene_union_compl [intro]: "idem_scene X \<Longrightarrow> X \<squnion>\<^sub>S - X = \<top>\<^sub>S"
287290
by (transfer, auto)
288291

289292
lemma scene_inter_idem: "X \<sqinter>\<^sub>S X = X"

0 commit comments

Comments
 (0)