src/HOL/Statespace/DistinctTreeProver.thy
changeset 44890 22f665a2e91c
parent 42287 d98eb048a2e4
child 45355 c0704e988526
equal deleted inserted replaced
44889:340df9f3491f 44890:22f665a2e91c
   139         by (auto split: split_if_asm)
   139         by (auto split: split_if_asm)
   140     next
   140     next
   141       case None
   141       case None
   142       with l'_l Some x_l_Some del
   142       with l'_l Some x_l_Some del
   143       show ?thesis
   143       show ?thesis
   144         by (fastsimp split: split_if_asm)
   144         by (fastforce split: split_if_asm)
   145     qed
   145     qed
   146   next
   146   next
   147     case None
   147     case None
   148     note x_l_None = this
   148     note x_l_None = this
   149     show ?thesis
   149     show ?thesis
   152       with Node.hyps
   152       with Node.hyps
   153       have "set_of r' \<subseteq> set_of r"
   153       have "set_of r' \<subseteq> set_of r"
   154         by simp
   154         by simp
   155       with Some x_l_None del
   155       with Some x_l_None del
   156       show ?thesis
   156       show ?thesis
   157         by (fastsimp split: split_if_asm)
   157         by (fastforce split: split_if_asm)
   158     next
   158     next
   159       case None
   159       case None
   160       with x_l_None del
   160       with x_l_None del
   161       show ?thesis
   161       show ?thesis
   162         by (fastsimp split: split_if_asm)
   162         by (fastforce split: split_if_asm)
   163     qed
   163     qed
   164   qed
   164   qed
   165 qed
   165 qed
   166 
   166 
   167 lemma delete_Some_all_distinct: 
   167 lemma delete_Some_all_distinct: 
   196       from delete_Some_set_of [OF Some]
   196       from delete_Some_set_of [OF Some]
   197       have "set_of r' \<subseteq> set_of r".
   197       have "set_of r' \<subseteq> set_of r".
   198       
   198       
   199       with dist_l' dist_r' l'_l Some x_l_Some del d dist_l_r
   199       with dist_l' dist_r' l'_l Some x_l_Some del d dist_l_r
   200       show ?thesis
   200       show ?thesis
   201         by fastsimp
   201         by fastforce
   202     next
   202     next
   203       case None
   203       case None
   204       with l'_l dist_l'  x_l_Some del d dist_l_r dist_r
   204       with l'_l dist_l'  x_l_Some del d dist_l_r dist_r
   205       show ?thesis
   205       show ?thesis
   206         by fastsimp
   206         by fastforce
   207     qed
   207     qed
   208   next
   208   next
   209     case None
   209     case None
   210     note x_l_None = this
   210     note x_l_None = this
   211     show ?thesis
   211     show ?thesis
   216         by simp
   216         by simp
   217       from delete_Some_set_of [OF Some]
   217       from delete_Some_set_of [OF Some]
   218       have "set_of r' \<subseteq> set_of r".
   218       have "set_of r' \<subseteq> set_of r".
   219       with Some dist_r' x_l_None del dist_l d dist_l_r
   219       with Some dist_r' x_l_None del dist_l d dist_l_r
   220       show ?thesis
   220       show ?thesis
   221         by fastsimp
   221         by fastforce
   222     next
   222     next
   223       case None
   223       case None
   224       with x_l_None del dist_l dist_r d dist_l_r
   224       with x_l_None del dist_l dist_r d dist_l_r
   225       show ?thesis
   225       show ?thesis
   226         by (fastsimp split: split_if_asm)
   226         by (fastforce split: split_if_asm)
   227     qed
   227     qed
   228   qed
   228   qed
   229 qed
   229 qed
   230 
   230 
   231 lemma delete_None_set_of_conv: "delete x t = None = (x \<notin> set_of t)"
   231 lemma delete_None_set_of_conv: "delete x t = None = (x \<notin> set_of t)"