- SET_TO_LIST_THM
-
|- FINITE s ==>
(SET_TO_LIST s = (if s = {} then [] else CHOICE s::SET_TO_LIST (REST s)))
- SET_TO_LIST_IND
-
|- !P. (!s. (FINITE s /\ ~(s = {}) ==> P (REST s)) ==> P s) ==> !v. P v
- SET_TO_LIST_INV
-
|- !s. FINITE s ==> (LIST_TO_SET (SET_TO_LIST s) = s)
- SET_TO_LIST_CARD
-
|- !s. FINITE s ==> (LENGTH (SET_TO_LIST s) = CARD s)
- SET_TO_LIST_IN_MEM
-
|- !s. FINITE s ==> !x. x IN s = IS_EL x (SET_TO_LIST s)
- UNION_APPEND
-
|- !l1 l2. LIST_TO_SET l1 UNION LIST_TO_SET l2 = LIST_TO_SET (APPEND l1 l2)
- BAG_TO_LIST_THM
-
|- FINITE_BAG bag ==>
(BAG_TO_LIST bag =
(if bag = {||} then [] else BAG_CHOICE bag::BAG_TO_LIST (BAG_REST bag)))
- BAG_TO_LIST_IND
-
|- !P.
(!bag.
(FINITE_BAG bag /\ ~(bag = {||}) ==> P (BAG_REST bag)) ==> P bag) ==>
!v. P v
- BAG_TO_LIST_INV
-
|- !b. FINITE_BAG b ==> (LIST_TO_BAG (BAG_TO_LIST b) = b)
- BAG_TO_LIST_CARD
-
|- !b. FINITE_BAG b ==> (LENGTH (BAG_TO_LIST b) = BAG_CARD b)
- BAG_IN_MEM
-
|- !b. FINITE_BAG b ==> !x. BAG_IN x b = IS_EL x (BAG_TO_LIST b)