equal
deleted
inserted
replaced
80 lemma QPair_iff [simp]: "<a;b> = <c;d> <-> a=c & b=d" |
80 lemma QPair_iff [simp]: "<a;b> = <c;d> <-> a=c & b=d" |
81 apply (simp add: QPair_def) |
81 apply (simp add: QPair_def) |
82 apply (rule sum_equal_iff) |
82 apply (rule sum_equal_iff) |
83 done |
83 done |
84 |
84 |
85 lemmas QPair_inject = QPair_iff [THEN iffD1, THEN conjE, standard, elim!] |
85 lemmas QPair_inject = QPair_iff [THEN iffD1, THEN conjE, elim!] |
86 |
86 |
87 lemma QPair_inject1: "<a;b> = <c;d> ==> a=c" |
87 lemma QPair_inject1: "<a;b> = <c;d> ==> a=c" |
88 by blast |
88 by blast |
89 |
89 |
90 lemma QPair_inject2: "<a;b> = <c;d> ==> b=d" |
90 lemma QPair_inject2: "<a;b> = <c;d> ==> b=d" |
247 lemma qsum_empty [simp]: "0<+>0 = 0" |
247 lemma qsum_empty [simp]: "0<+>0 = 0" |
248 by (simp add: qsum_defs ) |
248 by (simp add: qsum_defs ) |
249 |
249 |
250 (*Injection and freeness rules*) |
250 (*Injection and freeness rules*) |
251 |
251 |
252 lemmas QInl_inject = QInl_iff [THEN iffD1, standard] |
252 lemmas QInl_inject = QInl_iff [THEN iffD1] |
253 lemmas QInr_inject = QInr_iff [THEN iffD1, standard] |
253 lemmas QInr_inject = QInr_iff [THEN iffD1] |
254 lemmas QInl_neq_QInr = QInl_QInr_iff [THEN iffD1, THEN FalseE, elim!] |
254 lemmas QInl_neq_QInr = QInl_QInr_iff [THEN iffD1, THEN FalseE, elim!] |
255 lemmas QInr_neq_QInl = QInr_QInl_iff [THEN iffD1, THEN FalseE, elim!] |
255 lemmas QInr_neq_QInl = QInr_QInl_iff [THEN iffD1, THEN FalseE, elim!] |
256 |
256 |
257 lemma QInlD: "QInl(a): A<+>B ==> a: A" |
257 lemma QInlD: "QInl(a): A<+>B ==> a: A" |
258 by blast |
258 by blast |