144 |
144 |
145 val reconstructor_names = [metisN, smtN] |
145 val reconstructor_names = [metisN, smtN] |
146 val plain_metis = Metis (hd partial_type_encs, combinatorsN) |
146 val plain_metis = Metis (hd partial_type_encs, combinatorsN) |
147 |
147 |
148 fun bunch_of_reconstructors needs_full_types lam_trans = |
148 fun bunch_of_reconstructors needs_full_types lam_trans = |
149 [(false, Metis (hd partial_type_encs, lam_trans metis_default_lam_trans)), |
149 [(false, Metis (hd partial_type_encs, lam_trans true)), |
150 (true, Metis (hd full_type_encs, lam_trans hide_lamsN)), |
150 (true, Metis (hd full_type_encs, lam_trans false)), |
151 (false, Metis (no_type_enc, lam_trans hide_lamsN)), |
151 (false, Metis (no_type_enc, lam_trans false)), |
152 (true, SMT)] |
152 (true, SMT)] |
153 |> map_filter (fn (full_types, reconstr) => |
153 |> map_filter (fn (full_types, reconstr) => |
154 if needs_full_types andalso not full_types then NONE |
154 if needs_full_types andalso not full_types then NONE |
155 else SOME reconstr) |
155 else SOME reconstr) |
156 |
156 |
784 let |
784 let |
785 val used_facts = used_facts_in_atp_proof ctxt fact_names atp_proof |
785 val used_facts = used_facts_in_atp_proof ctxt fact_names atp_proof |
786 val needs_full_types = is_typed_helper_used_in_proof atp_proof |
786 val needs_full_types = is_typed_helper_used_in_proof atp_proof |
787 val reconstrs = |
787 val reconstrs = |
788 bunch_of_reconstructors needs_full_types |
788 bunch_of_reconstructors needs_full_types |
789 (lam_trans_from_atp_proof atp_proof) |
789 (lam_trans_from_atp_proof atp_proof |
|
790 o (fn plain => |
|
791 if plain then metis_default_lam_trans else hide_lamsN)) |
790 in |
792 in |
791 (used_facts, |
793 (used_facts, |
792 fn () => |
794 fn () => |
793 let |
795 let |
794 val used_ths = |
796 val used_ths = |
975 case outcome of |
977 case outcome of |
976 NONE => |
978 NONE => |
977 (fn () => |
979 (fn () => |
978 play_one_line_proof mode debug verbose preplay_timeout used_ths |
980 play_one_line_proof mode debug verbose preplay_timeout used_ths |
979 state subgoal SMT |
981 state subgoal SMT |
980 (bunch_of_reconstructors false (K lam_liftingN)), |
982 (bunch_of_reconstructors false |
|
983 (fn plain => |
|
984 if plain then metis_default_lam_trans |
|
985 else lam_liftingN)), |
981 fn preplay => |
986 fn preplay => |
982 let |
987 let |
983 val one_line_params = |
988 val one_line_params = |
984 (preplay, proof_banner mode name, used_facts, |
989 (preplay, proof_banner mode name, used_facts, |
985 choose_minimize_command minimize_command name preplay, |
990 choose_minimize_command minimize_command name preplay, |