equal
deleted
inserted
replaced
45 Const (@{const_name Predicate.Pred}, T --> mk_predT T') $ f |
45 Const (@{const_name Predicate.Pred}, T --> mk_predT T') $ f |
46 end; |
46 end; |
47 |
47 |
48 fun mk_Eval (f, x) = |
48 fun mk_Eval (f, x) = |
49 let |
49 let |
50 val T = fastype_of x |
50 val T = dest_predT (fastype_of f) |
51 in |
51 in |
52 Const (@{const_name Predicate.eval}, mk_predT T --> T --> HOLogic.boolT) $ f $ x |
52 Const (@{const_name Predicate.eval}, mk_predT T --> T --> HOLogic.boolT) $ f $ x |
53 end; |
53 end; |
54 |
54 |
55 fun dest_Eval (Const (@{const_name Predicate.eval}, _) $ f $ x) = (f, x) |
55 fun dest_Eval (Const (@{const_name Predicate.eval}, _) $ f $ x) = (f, x) |