equal
deleted
inserted
replaced
228 |
228 |
229 (** Rewrite rules for boolean case-splitting: faster than split_if [split] |
229 (** Rewrite rules for boolean case-splitting: faster than split_if [split] |
230 **) |
230 **) |
231 |
231 |
232 lemmas split_if_eq1 = split_if [of "%x. x = b"] for b |
232 lemmas split_if_eq1 = split_if [of "%x. x = b"] for b |
233 lemmas split_if_eq2 = split_if [of "%x. a = x"] for x |
233 lemmas split_if_eq2 = split_if [of "%x. a = x"] for a |
234 |
234 |
235 lemmas split_if_mem1 = split_if [of "%x. x \<in> b"] for b |
235 lemmas split_if_mem1 = split_if [of "%x. x \<in> b"] for b |
236 lemmas split_if_mem2 = split_if [of "%x. a \<in> x"] for x |
236 lemmas split_if_mem2 = split_if [of "%x. a \<in> x"] for a |
237 |
237 |
238 lemmas split_ifs = split_if_eq1 split_if_eq2 split_if_mem1 split_if_mem2 |
238 lemmas split_ifs = split_if_eq1 split_if_eq2 split_if_mem1 split_if_mem2 |
239 |
239 |
240 (*Logically equivalent to split_if_mem2*) |
240 (*Logically equivalent to split_if_mem2*) |
241 lemma if_iff: "a: (if P then x else y) \<longleftrightarrow> P & a \<in> x | ~P & a \<in> y" |
241 lemma if_iff: "a: (if P then x else y) \<longleftrightarrow> P & a \<in> x | ~P & a \<in> y" |