src/HOL/SMT/Tools/smt_translate.ML
changeset 33299 73af7831ba1e
parent 33017 4fb8a33f74d6
child 33664 d62805a237ef
equal deleted inserted replaced
33298:dfda74619509 33299:73af7831ba1e
   199     | group_quant qname vs t = (vs, t)
   199     | group_quant qname vs t = (vs, t)
   200 
   200 
   201   fun dest_trigger (@{term trigger} $ tl $ t) = (HOLogic.dest_list tl, t)
   201   fun dest_trigger (@{term trigger} $ tl $ t) = (HOLogic.dest_list tl, t)
   202     | dest_trigger t = ([], t)
   202     | dest_trigger t = ([], t)
   203 
   203 
   204   fun pat f ps (Const (@{const_name pat}, _) $ p) = SPat (rev (f p :: ps))
   204   fun pat f ts (Const (@{const_name pat}, _) $ t) = SPat (rev (f t :: ts))
   205     | pat f ps (Const (@{const_name nopat}, _) $ p) = SNoPat (rev (f p :: ps))
   205     | pat f ts (Const (@{const_name nopat}, _) $ t) = SNoPat (rev (f t :: ts))
   206     | pat f ps (Const (@{const_name andpat}, _) $ p $ t) = pat f (f p :: ps) t
   206     | pat f ts (Const (@{const_name andpat}, _) $ p $ t) = pat f (f t :: ts) p
   207     | pat _ _ t = raise TERM ("pat", [t])
   207     | pat _ _ t = raise TERM ("pat", [t])
   208 
   208 
   209   fun trans Ts t =
   209   fun trans Ts t =
   210     (case Term.strip_comb t of
   210     (case Term.strip_comb t of
   211       (t1 as Const (qn, qT), [t2 as Abs (n, T, t3)]) =>
   211       (t1 as Const (qn, qT), [t2 as Abs (n, T, t3)]) =>