src/HOL/Auth/Shared.ML
changeset 10833 c0844a30ea4e
parent 9970 dfe4747c8318
equal deleted inserted replaced
10832:e33b47e4246d 10833:c0844a30ea4e
   221 
   221 
   222 Goal "A <= - (range shrK) ==> shrK x ~: A";
   222 Goal "A <= - (range shrK) ==> shrK x ~: A";
   223 by (Blast_tac 1);
   223 by (Blast_tac 1);
   224 qed "subset_Compl_range";
   224 qed "subset_Compl_range";
   225 
   225 
   226 Goal "insert (Key K) H = Key `` {K} Un H";
   226 Goal "insert (Key K) H = Key ` {K} Un H";
   227 by (Blast_tac 1);
   227 by (Blast_tac 1);
   228 qed "insert_Key_singleton";
   228 qed "insert_Key_singleton";
   229 
   229 
   230 Goal "insert (Key K) (Key``KK Un C) = Key `` (insert K KK) Un C";
   230 Goal "insert (Key K) (Key`KK Un C) = Key ` (insert K KK) Un C";
   231 by (Blast_tac 1);
   231 by (Blast_tac 1);
   232 qed "insert_Key_image";
   232 qed "insert_Key_image";
   233 
   233 
   234 (*Reverse the normal simplification of "image" to build up (not break down)
   234 (*Reverse the normal simplification of "image" to build up (not break down)
   235   the set of keys.  Use analz_insert_eq with (Un_upper2 RS analz_mono) to
   235   the set of keys.  Use analz_insert_eq with (Un_upper2 RS analz_mono) to
   242 			 insert_Key_singleton, subset_Compl_range,
   242 			 insert_Key_singleton, subset_Compl_range,
   243 			 Key_not_used, insert_Key_image, Un_assoc RS sym]
   243 			 Key_not_used, insert_Key_image, Un_assoc RS sym]
   244 			@disj_comms;
   244 			@disj_comms;
   245 
   245 
   246 (*Lemma for the trivial direction of the if-and-only-if*)
   246 (*Lemma for the trivial direction of the if-and-only-if*)
   247 Goal "(Key K : analz (Key``nE Un H)) --> (K : nE | Key K : analz H)  ==> \
   247 Goal "(Key K : analz (Key`nE Un H)) --> (K : nE | Key K : analz H)  ==> \
   248 \        (Key K : analz (Key``nE Un H)) = (K : nE | Key K : analz H)";
   248 \        (Key K : analz (Key`nE Un H)) = (K : nE | Key K : analz H)";
   249 by (blast_tac (claset() addIs [impOfSubs analz_mono]) 1);
   249 by (blast_tac (claset() addIs [impOfSubs analz_mono]) 1);
   250 qed "analz_image_freshK_lemma";
   250 qed "analz_image_freshK_lemma";