src/HOL/Tools/Sledgehammer/sledgehammer.ML
changeset 75046 52b37e8a617b
parent 75040 fada390d49dd
child 75054 ec18dcd6e85f
equal deleted inserted replaced
75045:f47410c603c6 75046:52b37e8a617b
    69   | alternative _ NONE (y as SOME _) = y
    69   | alternative _ NONE (y as SOME _) = y
    70   | alternative _ NONE NONE = NONE
    70   | alternative _ NONE NONE = NONE
    71 
    71 
    72 fun max_outcome outcomes =
    72 fun max_outcome outcomes =
    73   let
    73   let
    74     val result = find_first (fn (SH_Some _, _) => true | _ => false) outcomes
    74     val some = find_first (fn (SH_Some _, _) => true | _ => false) outcomes
    75     val unknown = find_first (fn (SH_Unknown, _) => true | _ => false) outcomes
    75     val unknown = find_first (fn (SH_Unknown, _) => true | _ => false) outcomes
    76     val timeout = find_first (fn (SH_Timeout, _) => true | _ => false) outcomes
    76     val timeout = find_first (fn (SH_Timeout, _) => true | _ => false) outcomes
    77     val none = find_first (fn (SH_None, _) => true | _ => false) outcomes
    77     val none = find_first (fn (SH_None, _) => true | _ => false) outcomes
    78   in
    78   in
    79     result
    79     some
    80     |> alternative snd unknown
    80     |> alternative snd unknown
    81     |> alternative snd timeout
    81     |> alternative snd timeout
    82     |> alternative snd none
    82     |> alternative snd none
    83     |> the_default (SH_Unknown, "")
    83     |> the_default (SH_Unknown, "")
    84   end
    84   end