equal
deleted
inserted
replaced
1973 HOLogic.mk_conj (HOLogic.mk_mem (y, jset $ Jz), phi $ y $ Jz)))))) |
1973 HOLogic.mk_conj (HOLogic.mk_mem (y, jset $ Jz), phi $ y $ Jz)))))) |
1974 phis jsets Jzs Jzs'; |
1974 phis jsets Jzs Jzs'; |
1975 in |
1975 in |
1976 @{map 6} (fn set_minimal => fn set_set_inclss => fn jsets => fn y => fn y' => fn phis => |
1976 @{map 6} (fn set_minimal => fn set_set_inclss => fn jsets => fn y => fn y' => fn phis => |
1977 ((set_minimal |
1977 ((set_minimal |
1978 |> Drule.instantiate' cTs (mk_induct_tinst phis jsets y y') |
1978 |> Thm.instantiate' cTs (mk_induct_tinst phis jsets y y') |
1979 |> unfold_thms lthy incls) OF |
1979 |> unfold_thms lthy incls) OF |
1980 (replicate n ballI @ |
1980 (replicate n ballI @ |
1981 maps (map (fn thm => thm RS @{thm subset_CollectI})) set_set_inclss)) |
1981 maps (map (fn thm => thm RS @{thm subset_CollectI})) set_set_inclss)) |
1982 |> singleton (Proof_Context.export names_lthy lthy) |
1982 |> singleton (Proof_Context.export names_lthy lthy) |
1983 |> rule_by_tactic lthy (ALLGOALS (TRY o etac lthy asm_rl))) |
1983 |> rule_by_tactic lthy (ALLGOALS (TRY o etac lthy asm_rl))) |
2105 |> Thm.cterm_of lthy; |
2105 |> Thm.cterm_of lthy; |
2106 |
2106 |
2107 val cphis = @{map 9} mk_cphi |
2107 val cphis = @{map 9} mk_cphi |
2108 Jsetss_by_bnf Jzs' Jzs fs_Jmaps fs_copy_Jmaps Jys' Jys Jys'_copy Jys_copy; |
2108 Jsetss_by_bnf Jzs' Jzs fs_Jmaps fs_copy_Jmaps Jys' Jys Jys'_copy Jys_copy; |
2109 |
2109 |
2110 val coinduct = Drule.instantiate' cTs (map SOME cphis) dtor_coinduct_thm; |
2110 val coinduct = Thm.instantiate' cTs (map SOME cphis) dtor_coinduct_thm; |
2111 |
2111 |
2112 val goal = |
2112 val goal = |
2113 HOLogic.mk_Trueprop (Library.foldr1 HOLogic.mk_conj |
2113 HOLogic.mk_Trueprop (Library.foldr1 HOLogic.mk_conj |
2114 (@{map 4} mk_map_cong0 Jsetss_by_bnf Jzs fs_Jmaps fs_copy_Jmaps)); |
2114 (@{map 4} mk_map_cong0 Jsetss_by_bnf Jzs fs_Jmaps fs_copy_Jmaps)); |
2115 |
2115 |