src/Tools/Argo/argo_rewr.ML
changeset 66301 8a6a89d6cf2b
parent 64927 a5a09855e424
equal deleted inserted replaced
66300:829f1f62b087 66301:8a6a89d6cf2b
    53       let val ((e, c2), c1) = cv e |>> seq cvs
    53       let val ((e, c2), c1) = cv e |>> seq cvs
    54       in (e, Argo_Proof.mk_then_conv c1 c2) end
    54       in (e, Argo_Proof.mk_then_conv c1 c2) end
    55 
    55 
    56 fun on_args f (Argo_Expr.E (k, es)) =
    56 fun on_args f (Argo_Expr.E (k, es)) =
    57   let val (es, cs) = split_list (f es)
    57   let val (es, cs) = split_list (f es)
    58   in (Argo_Expr.E (k, es), Argo_Proof.mk_args_conv cs) end
    58   in (Argo_Expr.E (k, es), Argo_Proof.mk_args_conv k cs) end
    59 
    59 
    60 fun args cv e = on_args (map cv) e
    60 fun args cv e = on_args (map cv) e
    61 
    61 
    62 fun all_args cv k (e as Argo_Expr.E (k', _)) = if k = k' then args (all_args cv k) e else cv e
    62 fun all_args cv k (e as Argo_Expr.E (k', _)) = if k = k' then args (all_args cv k) e else cv e
    63 
    63