src/HOL/Map.ML
changeset 8254 84a5fe44520f
parent 8160 837a6b515005
child 8259 a8d2606f4921
equal deleted inserted replaced
8253:975eb12aa040 8254:84a5fe44520f
    20 	(K [rtac ext 1, Asm_simp_tac 1]);
    20 	(K [rtac ext 1, Asm_simp_tac 1]);
    21 (*Addsimps [map_upd_triv];*)
    21 (*Addsimps [map_upd_triv];*)
    22 
    22 
    23 Goalw [image_def] "finite (range f) ==> finite (range (f(a|->b)))";
    23 Goalw [image_def] "finite (range f) ==> finite (range (f(a|->b)))";
    24 by (full_simp_tac (simpset() addsimps [full_SetCompr_eq]) 1);
    24 by (full_simp_tac (simpset() addsimps [full_SetCompr_eq]) 1);
    25 br finite_subset 1;
    25 by (rtac finite_subset 1);
    26 ba  2;
    26 by (assume_tac 2);
    27 by Auto_tac;
    27 by Auto_tac;
    28 qed "finite_range_updI";
    28 qed "finite_range_updI";
    29 
    29 
    30 
    30 
    31 section "map_upds";
    31 section "map_upds";
    69 qed "map_of_filter_in";
    69 qed "map_of_filter_in";
    70 
    70 
    71 Goal "finite (range (map_of l))";
    71 Goal "finite (range (map_of l))";
    72 by (induct_tac "l" 1);
    72 by (induct_tac "l" 1);
    73 by  (ALLGOALS (simp_tac (simpset() addsimps [image_constant])));
    73 by  (ALLGOALS (simp_tac (simpset() addsimps [image_constant])));
    74 br finite_subset 1;
    74 by (rtac finite_subset 1);
    75 ba  2;
    75 by (assume_tac 2);
    76 by Auto_tac;
    76 by Auto_tac;
    77 qed "finite_range_map_of";
    77 qed "finite_range_map_of";
    78 
    78 
    79 section "option_map related";
    79 section "option_map related";
    80 
    80 
   119 by (simp_tac (simpset() addsplits [option.split]) 1);
   119 by (simp_tac (simpset() addsplits [option.split]) 1);
   120 qed "override_None";
   120 qed "override_None";
   121 AddIffs [override_None];
   121 AddIffs [override_None];
   122 
   122 
   123 Goalw [override_def] "f ++ g(x|->y) = (f ++ g)(x|->y)";
   123 Goalw [override_def] "f ++ g(x|->y) = (f ++ g)(x|->y)";
   124 br ext 1;
   124 by (rtac ext 1);
   125 by (auto_tac (claset_of Map.thy, simpset_of Map.thy));
   125 by (auto_tac (claset_of Map.thy, simpset_of Map.thy));
   126 qed "override_upd";
   126 qed "override_upd";
   127 Addsimps[override_upd];
   127 Addsimps[override_upd];
   128 
   128 
   129 Goalw [override_def] "map_of ys ++ map_of xs = map_of (xs@ys)";
   129 Goalw [override_def] "map_of ys ++ map_of xs = map_of (xs@ys)";