src/Tools/isac/BaseDefinitions/termC.sml
changeset 59998 5dd825c9e2d5
parent 59997 46fe5a8c3911
child 60017 cdcc5eba067b
     1.1 --- a/src/Tools/isac/BaseDefinitions/termC.sml	Wed May 20 12:52:09 2020 +0200
     1.2 +++ b/src/Tools/isac/BaseDefinitions/termC.sml	Sun May 24 16:05:36 2020 +0200
     1.3 @@ -89,7 +89,8 @@
     1.4  
     1.5    val var2free: term -> term
     1.6    val vars: term -> term list  (* recognises numverals, should replace "fun vars_of" *)
     1.7 -  val vars_of: term -> term list
     1.8 +  val vars': term list -> term list
     1.9 +  val vars_of: term -> term list   (* deprecated *)
    1.10    val dest_list': term -> term list
    1.11    val negates: term -> term -> bool
    1.12  
    1.13 @@ -273,6 +274,8 @@
    1.14        | scan vs (Abs (_, _, t)) = scan vs t
    1.15        | scan vs (t1 $ t2) = (scan vs t1) @ (scan vs t2)
    1.16    in (distinct o (scan [])) t end;
    1.17 +fun vars' ts = ts |> map vars |> flat |> distinct
    1.18 +
    1.19  (* bypass Isabelle's Pretty, which requires ctxt *)
    1.20  fun ids2str t =
    1.21    let