equal
deleted
inserted
replaced
72 fun close p t f = |
72 fun close p t f = |
73 let val vs = Term.add_vars t [] |
73 let val vs = Term.add_vars t [] |
74 in Drule.instantiate' [] (rev (map (SOME o cterm_of thy o Var) vs)) |
74 in Drule.instantiate' [] (rev (map (SOME o cterm_of thy o Var) vs)) |
75 (p (fold (Logic.all o Var) vs t) f) |
75 (p (fold (Logic.all o Var) vs t) f) |
76 end; |
76 end; |
77 fun mkop "op &" T x = SOME (Const (@{const_name Set.inter}, T --> T --> T), x) |
77 fun mkop "op &" T x = SOME (Const (@{const_name Lattices.inf}, T --> T --> T), x) |
78 | mkop "op |" T x = SOME (Const (@{const_name Set.union}, T --> T --> T), x) |
78 | mkop "op |" T x = SOME (Const (@{const_name Lattices.sup}, T --> T --> T), x) |
79 | mkop _ _ _ = NONE; |
79 | mkop _ _ _ = NONE; |
80 fun mk_collect p T t = |
80 fun mk_collect p T t = |
81 let val U = HOLogic.dest_setT T |
81 let val U = HOLogic.dest_setT T |
82 in HOLogic.Collect_const U $ |
82 in HOLogic.Collect_const U $ |
83 HOLogic.mk_psplits (HOLogic.flat_tuple_paths p) U HOLogic.boolT t |
83 HOLogic.mk_psplits (HOLogic.flat_tuple_paths p) U HOLogic.boolT t |