src/HOL/Tools/Metis/metis_tactics.ML
changeset 44493 a867ebb12209
parent 44416 1cf2256f1b07
child 44689 fbc3d9a3a6cd
     1.1 --- a/src/HOL/Tools/Metis/metis_tactics.ML	Fri Jul 01 15:53:37 2011 +0200
     1.2 +++ b/src/HOL/Tools/Metis/metis_tactics.ML	Fri Jul 01 15:53:38 2011 +0200
     1.3 @@ -13,10 +13,10 @@
     1.4    val full_typesN : string
     1.5    val partial_typesN : string
     1.6    val no_typesN : string
     1.7 -  val really_full_type_sys : string
     1.8 -  val full_type_sys : string
     1.9 -  val partial_type_sys : string
    1.10 -  val no_type_sys : string
    1.11 +  val really_full_type_enc : string
    1.12 +  val full_type_enc : string
    1.13 +  val partial_type_enc : string
    1.14 +  val no_type_enc : string
    1.15    val full_type_syss : string list
    1.16    val partial_type_syss : string list
    1.17    val trace : bool Config.T
    1.18 @@ -39,22 +39,22 @@
    1.19  val partial_typesN = "partial_types"
    1.20  val no_typesN = "no_types"
    1.21  
    1.22 -val really_full_type_sys = "poly_tags_heavy"
    1.23 -val full_type_sys = "poly_preds_heavy_query"
    1.24 -val partial_type_sys = "poly_args"
    1.25 -val no_type_sys = "erased"
    1.26 +val really_full_type_enc = "poly_tags_heavy"
    1.27 +val full_type_enc = "poly_preds_heavy_query"
    1.28 +val partial_type_enc = "poly_args"
    1.29 +val no_type_enc = "erased"
    1.30  
    1.31 -val full_type_syss = [full_type_sys, really_full_type_sys]
    1.32 -val partial_type_syss = partial_type_sys :: full_type_syss
    1.33 +val full_type_syss = [full_type_enc, really_full_type_enc]
    1.34 +val partial_type_syss = partial_type_enc :: full_type_syss
    1.35  
    1.36 -val type_sys_aliases =
    1.37 +val type_enc_aliases =
    1.38    [(full_typesN, full_type_syss),
    1.39     (partial_typesN, partial_type_syss),
    1.40 -   (no_typesN, [no_type_sys])]
    1.41 +   (no_typesN, [no_type_enc])]
    1.42  
    1.43 -fun method_call_for_type_sys type_syss =
    1.44 +fun method_call_for_type_enc type_syss =
    1.45    metisN ^ " (" ^
    1.46 -  (case AList.find (op =) type_sys_aliases type_syss of
    1.47 +  (case AList.find (op =) type_enc_aliases type_syss of
    1.48       [alias] => alias
    1.49     | _ => hd type_syss) ^ ")"
    1.50  
    1.51 @@ -102,7 +102,7 @@
    1.52  val resolution_params = {active = active_params, waiting = waiting_params}
    1.53  
    1.54  (* Main function to start Metis proof and reconstruction *)
    1.55 -fun FOL_SOLVE (type_sys :: fallback_type_syss) ctxt cls ths0 =
    1.56 +fun FOL_SOLVE (type_enc :: fallback_type_syss) ctxt cls ths0 =
    1.57    let val thy = Proof_Context.theory_of ctxt
    1.58        val new_skolemizer =
    1.59          Config.get ctxt new_skolemizer orelse null (Meson.choice_theorems thy)
    1.60 @@ -118,7 +118,7 @@
    1.61        val _ = trace_msg ctxt (fn () => "THEOREM CLAUSES")
    1.62        val _ = app (fn th => trace_msg ctxt (fn () => Display.string_of_thm ctxt th)) ths
    1.63        val (sym_tab, axioms, old_skolems) =
    1.64 -        prepare_metis_problem ctxt type_sys cls ths
    1.65 +        prepare_metis_problem ctxt type_enc cls ths
    1.66        fun get_isa_thm mth Isa_Reflexive_or_Trivial =
    1.67            reflexive_or_trivial_from_metis ctxt sym_tab old_skolems mth
    1.68          | get_isa_thm _ (Isa_Raw ith) = ith
    1.69 @@ -126,7 +126,7 @@
    1.70        val _ = trace_msg ctxt (fn () => "CLAUSES GIVEN TO METIS")
    1.71        val thms = axioms |> map fst
    1.72        val _ = app (fn th => trace_msg ctxt (fn () => Metis_Thm.toString th)) thms
    1.73 -      val _ = trace_msg ctxt (fn () => "type_sys = " ^ type_sys)
    1.74 +      val _ = trace_msg ctxt (fn () => "type_enc = " ^ type_enc)
    1.75        val _ = trace_msg ctxt (fn () => "START METIS PROVE PROCESS")
    1.76    in
    1.77        case filter (fn t => prop_of t aconv @{prop False}) cls of
    1.78 @@ -186,7 +186,7 @@
    1.79           | _ =>
    1.80             (verbose_warning ctxt
    1.81                  ("Falling back on " ^
    1.82 -                 quote (method_call_for_type_sys fallback_type_syss) ^ "...");
    1.83 +                 quote (method_call_for_type_enc fallback_type_syss) ^ "...");
    1.84              FOL_SOLVE fallback_type_syss ctxt cls ths0)
    1.85  
    1.86  val neg_clausify =
    1.87 @@ -249,7 +249,7 @@
    1.88  
    1.89  fun setup_method (binding, type_syss) =
    1.90    ((Args.parens (Scan.repeat Parse.short_ident)
    1.91 -    >> maps (fn s => case AList.lookup (op =) type_sys_aliases s of
    1.92 +    >> maps (fn s => case AList.lookup (op =) type_enc_aliases s of
    1.93                         SOME tss => tss
    1.94                       | NONE => [s]))
    1.95      |> Scan.option |> Scan.lift)