src/HOL/Metis_Examples/Type_Encodings.thy
changeset 46369 9ac0c64ad8e7
parent 45951 e49e45fee615
child 46436 6f0f2b71fd69
equal deleted inserted replaced
46368:ded0390eceae 46369:9ac0c64ad8e7
    65   let
    65   let
    66     fun tac [] st = all_tac st
    66     fun tac [] st = all_tac st
    67       | tac (type_enc :: type_encs) st =
    67       | tac (type_enc :: type_encs) st =
    68         st (* |> tap (fn _ => tracing (PolyML.makestring type_enc)) *)
    68         st (* |> tap (fn _ => tracing (PolyML.makestring type_enc)) *)
    69            |> ((if null type_encs then all_tac else rtac @{thm fork} 1)
    69            |> ((if null type_encs then all_tac else rtac @{thm fork} 1)
    70                THEN Metis_Tactic.metis_tac [type_enc] "combinators" ctxt ths 1
    70                THEN Metis_Tactic.metis_tac [type_enc]
       
    71                     ATP_Problem_Generate.combsN ctxt ths 1
    71                THEN COND (has_fewer_prems 2) all_tac no_tac
    72                THEN COND (has_fewer_prems 2) all_tac no_tac
    72                THEN tac type_encs)
    73                THEN tac type_encs)
    73   in tac end
    74   in tac end
    74 *}
    75 *}
    75 
    76