src/FOL/fologic.ML
changeset 74321 714e87ce6e9d
parent 74320 dd04da556d1a
child 74342 5d411d85da8c
equal deleted inserted replaced
74320:dd04da556d1a 74321:714e87ce6e9d
    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;