equal
deleted
inserted
replaced
156 state |
156 state |
157 |> Proof.have NONE (K I) |
157 |> Proof.have NONE (K I) |
158 [(Binding.name Auto_Bind.thesisN, NONE, NoSyn)] |
158 [(Binding.name Auto_Bind.thesisN, NONE, NoSyn)] |
159 (map (fn (a, A) => ((a, [Context_Rules.intro_query NONE]), [(A, [])])) obtains) |
159 (map (fn (a, A) => ((a, [Context_Rules.intro_query NONE]), [(A, [])])) obtains) |
160 [((Binding.empty, atts), [(thesis, [])])] int |
160 [((Binding.empty, atts), [(thesis, [])])] int |
161 |> (fn state' => state' |
161 |-> Proof.refine_insert |
162 |> Proof.refine_insert (Assumption.local_prems_of (Proof.context_of state') ctxt)) |
|
163 end; |
162 end; |
164 |
163 |
165 in |
164 in |
166 |
165 |
167 val consider = gen_consider cert_obtains; |
166 val consider = gen_consider cert_obtains; |
231 state |
230 state |
232 |> Proof.have NONE after_qed |
231 |> Proof.have NONE after_qed |
233 [(Binding.name Auto_Bind.thesisN, NONE, NoSyn)] |
232 [(Binding.name Auto_Bind.thesisN, NONE, NoSyn)] |
234 [((that_binding, [Context_Rules.intro_query NONE]), [(that_prop, [])])] |
233 [((that_binding, [Context_Rules.intro_query NONE]), [(that_prop, [])])] |
235 [(Thm.empty_binding, [(thesis, [])])] int |
234 [(Thm.empty_binding, [(thesis, [])])] int |
236 |> (fn state' => state' |
235 |-> Proof.refine_insert |
237 |> Proof.refine_insert (Assumption.local_prems_of (Proof.context_of state') ctxt)) |
|
238 |> Proof.map_context (fold Variable.bind_term binds') |
236 |> Proof.map_context (fold Variable.bind_term binds') |
239 end; |
237 end; |
240 |
238 |
241 in |
239 in |
242 |
240 |
405 |> Proof.enter_forward |
403 |> Proof.enter_forward |
406 |> Proof.begin_block |
404 |> Proof.begin_block |
407 |> Proof.fix [(Binding.name Auto_Bind.thesisN, NONE, NoSyn)] |
405 |> Proof.fix [(Binding.name Auto_Bind.thesisN, NONE, NoSyn)] |
408 |> Proof.chain_facts chain_facts |
406 |> Proof.chain_facts chain_facts |
409 |> Proof.internal_goal print_result Proof_Context.mode_schematic "guess" |
407 |> Proof.internal_goal print_result Proof_Context.mode_schematic "guess" |
410 (SOME before_qed) after_qed [] [] [(Thm.empty_binding, [(Logic.mk_term goal, []), (goal, [])])] |
408 (SOME before_qed) after_qed |
|
409 [] [] [(Thm.empty_binding, [(Logic.mk_term goal, []), (goal, [])])] |
|
410 |> snd |
411 |> Proof.refine (Method.primitive_text (fn _ => fn _ => |
411 |> Proof.refine (Method.primitive_text (fn _ => fn _ => |
412 Goal.init (Thm.cterm_of ctxt thesis))) |> Seq.hd |
412 Goal.init (Thm.cterm_of ctxt thesis))) |
|
413 |> Seq.hd |
413 end; |
414 end; |
414 |
415 |
415 in |
416 in |
416 |
417 |
417 val guess = gen_guess Proof_Context.cert_var; |
418 val guess = gen_guess Proof_Context.cert_var; |