equal
deleted
inserted
replaced
13 val mk_imp: term * term -> term |
13 val mk_imp: term * term -> term |
14 val dest_imp: term -> term * term |
14 val dest_imp: term -> term * term |
15 val dest_conj: term -> term list |
15 val dest_conj: term -> term list |
16 val mk_iff: term * term -> term |
16 val mk_iff: term * term -> term |
17 val dest_iff: term -> term * term |
17 val dest_iff: term -> term * term |
18 val mk_all: term * term -> term |
18 val mk_all: string * typ -> term -> term |
19 val mk_exists: term * term -> term |
19 val mk_exists: string * typ -> term -> term |
20 val mk_eq: term * term -> term |
20 val mk_eq: term * term -> term |
21 val dest_eq: term -> term * term |
21 val dest_eq: term -> term * term |
22 end; |
22 end; |
23 |
23 |
24 structure FOLogic: FOLOGIC = |
24 structure FOLogic: FOLOGIC = |
44 let val T = fastype_of t |
44 let val T = fastype_of t |
45 in \<^Const>\<open>eq T for t u\<close> end; |
45 in \<^Const>\<open>eq T for t u\<close> end; |
46 |
46 |
47 val dest_eq = \<^Const_fn>\<open>eq _ for lhs rhs => \<open>(lhs, rhs)\<close>\<close>; |
47 val dest_eq = \<^Const_fn>\<open>eq _ for lhs rhs => \<open>(lhs, rhs)\<close>\<close>; |
48 |
48 |
49 fun mk_all (Free (x, T), P) = \<^Const>\<open>All T for \<open>absfree (x, T) P\<close>\<close>; |
49 fun mk_all (x, T) P = \<^Const>\<open>All T for \<open>absfree (x, T) P\<close>\<close>; |
50 fun mk_exists (Free (x, T), P) = \<^Const>\<open>Ex T for \<open>absfree (x, T) P\<close>\<close>; |
50 fun mk_exists (x, T) P = \<^Const>\<open>Ex T for \<open>absfree (x, T) P\<close>\<close>; |
51 |
51 |
52 end; |
52 end; |