src/HOLCF/ex/coind.ML
changeset 297 5ef75ff3baeb
parent 244 929fc2c63bd0
equal deleted inserted replaced
296:e1f6cd9f682e 297:5ef75ff3baeb
    55 
    55 
    56 val coind_lemma1 = prove_goal Coind.thy "iterator[n][smap[dsucc]][nats] =\
    56 val coind_lemma1 = prove_goal Coind.thy "iterator[n][smap[dsucc]][nats] =\
    57 \		 scons[n][iterator[dsucc[n]][smap[dsucc]][nats]]"
    57 \		 scons[n][iterator[dsucc[n]][smap[dsucc]][nats]]"
    58  (fn prems =>
    58  (fn prems =>
    59 	[
    59 	[
    60 	(res_inst_tac [("s","n")] dnat_ind2 1),
    60 	(res_inst_tac [("s","n")] dnat_ind 1),
    61 	(simp_tac (HOLCF_ss addsimps (coind_rews @ stream_rews)) 1),
    61 	(simp_tac (HOLCF_ss addsimps (coind_rews @ stream_rews)) 1),
    62 	(simp_tac (HOLCF_ss addsimps (coind_rews @ stream_rews)) 1),
    62 	(simp_tac (HOLCF_ss addsimps (coind_rews @ stream_rews)) 1),
    63 	(rtac trans 1),
    63 	(rtac trans 1),
    64 	(rtac nats_def2 1),
    64 	(rtac nats_def2 1),
    65 	(simp_tac (HOLCF_ss addsimps (coind_rews @ dnat_rews)) 1),
    65 	(simp_tac (HOLCF_ss addsimps (coind_rews @ dnat_rews)) 1),