equal
deleted
inserted
replaced
476 |
476 |
477 fun mk_iso_t (((set_name, iso_name), i), T) = |
477 fun mk_iso_t (((set_name, iso_name), i), T) = |
478 let val isoT = T --> Univ_elT in |
478 let val isoT = T --> Univ_elT in |
479 HOLogic.imp $ |
479 HOLogic.imp $ |
480 (Const (set_name, UnivT') $ Datatype_Aux.mk_Free "x" Univ_elT i) $ |
480 (Const (set_name, UnivT') $ Datatype_Aux.mk_Free "x" Univ_elT i) $ |
481 (if i < length newTs then HOLogic.true_const |
481 (if i < length newTs then @{term True} |
482 else HOLogic.mk_mem (Datatype_Aux.mk_Free "x" Univ_elT i, |
482 else HOLogic.mk_mem (Datatype_Aux.mk_Free "x" Univ_elT i, |
483 Const (@{const_name image}, isoT --> HOLogic.mk_setT T --> UnivT) $ |
483 Const (@{const_name image}, isoT --> HOLogic.mk_setT T --> UnivT) $ |
484 Const (iso_name, isoT) $ Const (@{const_abbrev UNIV}, HOLogic.mk_setT T))) |
484 Const (iso_name, isoT) $ Const (@{const_abbrev UNIV}, HOLogic.mk_setT T))) |
485 end; |
485 end; |
486 |
486 |