equal
deleted
inserted
replaced
100 val mk_ordLeq: term -> term -> term |
100 val mk_ordLeq: term -> term -> term |
101 val mk_rel_comp: term * term -> term |
101 val mk_rel_comp: term * term -> term |
102 val mk_subset: term -> term -> term |
102 val mk_subset: term -> term -> term |
103 val mk_wpull: term -> term -> term -> term -> term -> (term * term) option -> term -> term -> term |
103 val mk_wpull: term -> term -> term -> term -> term -> (term * term) option -> term -> term -> term |
104 |
104 |
|
105 val rapp: term -> term -> term |
|
106 |
105 val list_all_free: term list -> term -> term |
107 val list_all_free: term list -> term -> term |
106 val list_exists_free: term list -> term -> term |
108 val list_exists_free: term list -> term -> term |
107 |
109 |
108 (*parameterized terms*) |
110 (*parameterized terms*) |
109 val mk_nthN: int -> term -> int -> term |
111 val mk_nthN: int -> term -> int -> term |
502 let val T = (case xs of [] => defT | (x::_) => fastype_of x); |
504 let val T = (case xs of [] => defT | (x::_) => fastype_of x); |
503 in Const (@{const_name collect}, HOLogic.mk_setT T --> T) $ (HOLogic.mk_set T xs) end; |
505 in Const (@{const_name collect}, HOLogic.mk_setT T --> T) $ (HOLogic.mk_set T xs) end; |
504 |
506 |
505 fun mk_permute src dest xs = map (nth xs o (fn x => find_index ((curry op =) x) src)) dest; |
507 fun mk_permute src dest xs = map (nth xs o (fn x => find_index ((curry op =) x) src)) dest; |
506 |
508 |
|
509 fun rapp u t = betapply (t, u); |
|
510 |
507 val list_all_free = |
511 val list_all_free = |
508 fold_rev (fn free => fn P => |
512 fold_rev (fn free => fn P => |
509 let val (x, T) = Term.dest_Free free; |
513 let val (x, T) = Term.dest_Free free; |
510 in HOLogic.all_const T $ Term.absfree (x, T) P end); |
514 in HOLogic.all_const T $ Term.absfree (x, T) P end); |
511 |
515 |