src/HOL/Tools/Sledgehammer/sledgehammer_isar_proof.ML
changeset 55282 d4a033f07800
parent 55281 765555d6a0b2
child 55284 bd27ac6ad1c3
equal deleted inserted replaced
55281:765555d6a0b2 55282:d4a033f07800
    54   val canonical_label_ord : (label * label) -> order
    54   val canonical_label_ord : (label * label) -> order
    55 
    55 
    56   val chain_isar_proof : isar_proof -> isar_proof
    56   val chain_isar_proof : isar_proof -> isar_proof
    57   val kill_useless_labels_in_isar_proof : isar_proof -> isar_proof
    57   val kill_useless_labels_in_isar_proof : isar_proof -> isar_proof
    58   val relabel_isar_proof_canonically : isar_proof -> isar_proof
    58   val relabel_isar_proof_canonically : isar_proof -> isar_proof
    59   val relabel_isar_proof_finally : isar_proof -> isar_proof
    59   val relabel_isar_proof_nicely : isar_proof -> isar_proof
    60 
    60 
    61   val string_of_isar_proof : Proof.context -> int -> int ->
    61   val string_of_isar_proof : Proof.context -> int -> int ->
    62     (label -> proof_method list -> string) -> isar_proof -> string
    62     (label -> proof_method list -> string) -> isar_proof -> string
    63 end;
    63 end;
    64 
    64 
   208   end
   208   end
   209 
   209 
   210 val assume_prefix = "a"
   210 val assume_prefix = "a"
   211 val have_prefix = "f"
   211 val have_prefix = "f"
   212 
   212 
   213 val relabel_isar_proof_finally =
   213 val relabel_isar_proof_nicely =
   214   let
   214   let
   215     fun next_label depth prefix l (accum as (next, subst)) =
   215     fun next_label depth prefix l (accum as (next, subst)) =
   216       if l = no_label then
   216       if l = no_label then
   217         (l, accum)
   217         (l, accum)
   218       else
   218       else