src/ZF/Coind/Map.ML
changeset 6046 2c8a8be36c94
parent 5265 9d1d4c43c76d
child 6068 2d8f3e1f1151
equal deleted inserted replaced
6045:6a9dc67d48f5 6046:2c8a8be36c94
    30 
    30 
    31 
    31 
    32 (* ############################################################ *)
    32 (* ############################################################ *)
    33 (* Lemmas                                                       *)
    33 (* Lemmas                                                       *)
    34 (* ############################################################ *)
    34 (* ############################################################ *)
       
    35 
       
    36 Goal "Sigma(A,B)``{a} = if (a:A, B(a), 0)";
       
    37 by Auto_tac;
       
    38 qed "qbeta_if";
    35 
    39 
    36 Goal "a:A ==> Sigma(A,B)``{a} = B(a)";
    40 Goal "a:A ==> Sigma(A,B)``{a} = B(a)";
    37 by (Fast_tac 1);
    41 by (Fast_tac 1);
    38 qed "qbeta";
    42 qed "qbeta";
    39 
    43 
   188 qed "map_domain_owr";
   192 qed "map_domain_owr";
   189 
   193 
   190 (** Application **)
   194 (** Application **)
   191 
   195 
   192 Goalw [map_app_def,map_owr_def] 
   196 Goalw [map_app_def,map_owr_def] 
   193   "map_app(map_owr(f,a,b),a) = b";
   197   "map_app(map_owr(f,a,b),c) = if (c=a, b, map_app(f,c))";
   194 by (stac qbeta 1);
   198 by (asm_simp_tac (simpset() addsimps [qbeta_if]) 1);
   195 by (Fast_tac 1);
   199 by (Fast_tac 1);
   196 by (Simp_tac 1);
   200 qed "map_app_owr";
       
   201 
       
   202 Goal "map_app(map_owr(f,a,b),a) = b";
       
   203 by (asm_simp_tac (simpset() addsimps [map_app_owr]) 1);
   197 qed "map_app_owr1";
   204 qed "map_app_owr1";
   198 
   205 
   199 Goalw [map_app_def,map_owr_def] 
   206 Goal "c ~= a ==> map_app(map_owr(f,a,b),c)= map_app(f,c)";
   200   "c ~= a ==> map_app(map_owr(f,a,b),c)= map_app(f,c)";
   207 by (asm_simp_tac (simpset() addsimps [map_app_owr]) 1);
   201 by (rtac (excluded_middle RS disjE) 1);
       
   202 by (stac qbeta_emp 1);
       
   203 by (assume_tac 1);
       
   204 by (Fast_tac 1);
       
   205 by (etac (qbeta RS ssubst) 1);
       
   206 by (Asm_simp_tac 1);
       
   207 qed "map_app_owr2";
   208 qed "map_app_owr2";
   208 
       
   209 
       
   210 
       
   211 
       
   212 
       
   213 
       
   214 
       
   215 
       
   216 
       
   217 
       
   218 
       
   219 
       
   220 
       
   221 
       
   222 
       
   223 
       
   224 
       
   225 
       
   226 
       
   227 
       
   228 
       
   229 
       
   230 
       
   231 
       
   232 
       
   233 
       
   234 
       
   235 
       
   236 
       
   237 
       
   238 
       
   239 
       
   240 
       
   241 
       
   242 
       
   243 
       
   244 
       
   245 
       
   246 
       
   247 
       
   248