src/HOL/Real/Hyperreal/SEQ.ML
changeset 10699 f0c3da8477e9
parent 10677 36625483213f
child 10712 351ba950d4d9
equal deleted inserted replaced
10698:dc5e984dfe13 10699:f0c3da8477e9
   201 Goalw [LIMSEQ_def] "(%n. k) ----> k";
   201 Goalw [LIMSEQ_def] "(%n. k) ----> k";
   202 by (Auto_tac);
   202 by (Auto_tac);
   203 qed "LIMSEQ_const";
   203 qed "LIMSEQ_const";
   204 
   204 
   205 Goalw [NSLIMSEQ_def]
   205 Goalw [NSLIMSEQ_def]
   206       "[| X ----NS> a; Y ----NS> b |] \
   206       "[| X ----NS> a; Y ----NS> b |] ==> (%n. X n + Y n) ----NS> a + b";
   207 \           ==> (%n. X n + Y n) ----NS> a + b";
       
   208 by (auto_tac (claset() addIs [inf_close_add],
   207 by (auto_tac (claset() addIs [inf_close_add],
   209     simpset() addsimps [starfunNat_add RS sym,hypreal_of_real_add]));
   208     simpset() addsimps [starfunNat_add RS sym,hypreal_of_real_add]));
   210 qed "NSLIMSEQ_add";
   209 qed "NSLIMSEQ_add";
   211 
   210 
   212 Goal "[| X ----> a; Y ----> b |] \
   211 Goal "[| X ----> a; Y ----> b |] \
   214 by (asm_full_simp_tac (simpset() addsimps [LIMSEQ_NSLIMSEQ_iff,
   213 by (asm_full_simp_tac (simpset() addsimps [LIMSEQ_NSLIMSEQ_iff,
   215     NSLIMSEQ_add]) 1);
   214     NSLIMSEQ_add]) 1);
   216 qed "LIMSEQ_add";
   215 qed "LIMSEQ_add";
   217 
   216 
   218 Goalw [NSLIMSEQ_def]
   217 Goalw [NSLIMSEQ_def]
   219       "[| X ----NS> a; Y ----NS> b |] \
   218       "[| X ----NS> a; Y ----NS> b |] ==> (%n. X n * Y n) ----NS> a * b";
   220 \           ==> (%n. X n * Y n) ----NS> a * b";
       
   221 by (auto_tac (claset() addSIs [starfunNat_mult_HFinite_inf_close],
   219 by (auto_tac (claset() addSIs [starfunNat_mult_HFinite_inf_close],
   222     simpset() addsimps [hypreal_of_real_mult]));
   220     simpset() addsimps [hypreal_of_real_mult]));
   223 qed "NSLIMSEQ_mult";
   221 qed "NSLIMSEQ_mult";
   224 
   222 
   225 Goal "[| X ----> a; Y ----> b |] \
   223 Goal "[| X ----> a; Y ----> b |] ==> (%n. X n * Y n) ----> a * b";
   226 \           ==> (%n. X n * Y n) ----> a * b";
       
   227 by (asm_full_simp_tac (simpset() addsimps [LIMSEQ_NSLIMSEQ_iff,
   224 by (asm_full_simp_tac (simpset() addsimps [LIMSEQ_NSLIMSEQ_iff,
   228     NSLIMSEQ_mult]) 1);
   225                                            NSLIMSEQ_mult]) 1);
   229 qed "LIMSEQ_mult";
   226 qed "LIMSEQ_mult";
   230 
   227 
   231 Goalw [NSLIMSEQ_def] 
   228 Goalw [NSLIMSEQ_def] 
   232       "X ----NS> a ==> (%n. -(X n)) ----NS> -a";
   229      "X ----NS> a ==> (%n. -(X n)) ----NS> -a";
   233 by (auto_tac (claset() addIs [inf_close_minus],
   230 by (auto_tac (claset() addIs [inf_close_minus],
   234     simpset() addsimps [starfunNat_minus RS sym,
   231        simpset() addsimps [starfunNat_minus RS sym, hypreal_of_real_minus]));
   235     hypreal_of_real_minus]));
       
   236 qed "NSLIMSEQ_minus";
   232 qed "NSLIMSEQ_minus";
   237 
   233 
   238 Goal "X ----> a ==> (%n. -(X n)) ----> -a";
   234 Goal "X ----> a ==> (%n. -(X n)) ----> -a";
   239 by (asm_full_simp_tac (simpset() addsimps [LIMSEQ_NSLIMSEQ_iff,
   235 by (asm_full_simp_tac (simpset() addsimps [LIMSEQ_NSLIMSEQ_iff,
   240     NSLIMSEQ_minus]) 1);
   236                                            NSLIMSEQ_minus]) 1);
   241 qed "LIMSEQ_minus";
   237 qed "LIMSEQ_minus";
   242 
   238 
   243 Goal "(%n. -(X n)) ----> -a ==> X ----> a";
   239 Goal "(%n. -(X n)) ----> -a ==> X ----> a";
   244 by (dtac LIMSEQ_minus 1);
   240 by (dtac LIMSEQ_minus 1);
   245 by (Asm_full_simp_tac 1);
   241 by (Asm_full_simp_tac 1);