let rec is_input_term (term: term) : bool =
  match term with
    | Var _ ->
        true

    | Const symbol ->
        Symbol.is_input symbol

    | Func func ->
        Symbol.is_input func.symbol
        &&
        Tools.array_for_all is_input_term func.subterms