2037 map2 (fn thm1 => fn thm2 => @{thm o_bij} OF [thm1, thm2]) fld_o_unf_thms unf_o_fld_thms; |
2037 map2 (fn thm1 => fn thm2 => @{thm o_bij} OF [thm1, thm2]) fld_o_unf_thms unf_o_fld_thms; |
2038 val inj_unf_thms = map (fn thm => thm RS @{thm bij_is_inj}) bij_unf_thms; |
2038 val inj_unf_thms = map (fn thm => thm RS @{thm bij_is_inj}) bij_unf_thms; |
2039 val surj_unf_thms = map (fn thm => thm RS @{thm bij_is_surj}) bij_unf_thms; |
2039 val surj_unf_thms = map (fn thm => thm RS @{thm bij_is_surj}) bij_unf_thms; |
2040 val unf_nchotomy_thms = map (fn thm => thm RS @{thm surjD}) surj_unf_thms; |
2040 val unf_nchotomy_thms = map (fn thm => thm RS @{thm surjD}) surj_unf_thms; |
2041 val unf_inject_thms = map (fn thm => thm RS @{thm inj_eq}) inj_unf_thms; |
2041 val unf_inject_thms = map (fn thm => thm RS @{thm inj_eq}) inj_unf_thms; |
2042 val unf_exhaust_thms = map (fn thm => thm RS @{thm exE}) unf_nchotomy_thms; |
2042 val unf_exhaust_thms = map (fn thm => thm RS exE) unf_nchotomy_thms; |
2043 |
2043 |
2044 val bij_fld_thms = |
2044 val bij_fld_thms = |
2045 map2 (fn thm1 => fn thm2 => @{thm o_bij} OF [thm1, thm2]) unf_o_fld_thms fld_o_unf_thms; |
2045 map2 (fn thm1 => fn thm2 => @{thm o_bij} OF [thm1, thm2]) unf_o_fld_thms fld_o_unf_thms; |
2046 val inj_fld_thms = map (fn thm => thm RS @{thm bij_is_inj}) bij_fld_thms; |
2046 val inj_fld_thms = map (fn thm => thm RS @{thm bij_is_inj}) bij_fld_thms; |
2047 val surj_fld_thms = map (fn thm => thm RS @{thm bij_is_surj}) bij_fld_thms; |
2047 val surj_fld_thms = map (fn thm => thm RS @{thm bij_is_surj}) bij_fld_thms; |
2048 val fld_nchotomy_thms = map (fn thm => thm RS @{thm surjD}) surj_fld_thms; |
2048 val fld_nchotomy_thms = map (fn thm => thm RS @{thm surjD}) surj_fld_thms; |
2049 val fld_inject_thms = map (fn thm => thm RS @{thm inj_eq}) inj_fld_thms; |
2049 val fld_inject_thms = map (fn thm => thm RS @{thm inj_eq}) inj_fld_thms; |
2050 val fld_exhaust_thms = map (fn thm => thm RS @{thm exE}) fld_nchotomy_thms; |
2050 val fld_exhaust_thms = map (fn thm => thm RS exE) fld_nchotomy_thms; |
2051 |
2051 |
2052 val fld_coiter_thms = map3 (fn unf_inject => fn coiter => fn unf_fld => |
2052 val fld_coiter_thms = map3 (fn unf_inject => fn coiter => fn unf_fld => |
2053 iffD1 OF [unf_inject, trans OF [coiter, unf_fld RS sym]]) |
2053 iffD1 OF [unf_inject, trans OF [coiter, unf_fld RS sym]]) |
2054 unf_inject_thms coiter_thms unf_fld_thms; |
2054 unf_inject_thms coiter_thms unf_fld_thms; |
2055 |
2055 |