equal
deleted
inserted
replaced
324 |
324 |
325 fun pretty_statement ctxt kind raw_th = |
325 fun pretty_statement ctxt kind raw_th = |
326 let |
326 let |
327 val thy = ProofContext.theory_of ctxt; |
327 val thy = ProofContext.theory_of ctxt; |
328 val th = Goal.norm_hhf raw_th; |
328 val th = Goal.norm_hhf raw_th; |
329 val maxidx = #maxidx (Thm.rep_thm th); |
|
330 |
329 |
331 fun standard_thesis t = |
330 fun standard_thesis t = |
332 let |
331 let |
333 val C = ObjectLogic.drop_judgment thy (Thm.concl_of th); |
332 val C = ObjectLogic.drop_judgment thy (Thm.concl_of th); |
334 val C' = Var ((AutoBind.thesisN, maxidx + 1), Term.fastype_of C); |
333 val C' = Var ((AutoBind.thesisN, Thm.maxidx_of th + 1), Term.fastype_of C); |
335 in Term.subst_atomic [(C, C')] t end; |
334 in Term.subst_atomic [(C, C')] t end; |
336 |
335 |
337 val raw_prop = |
336 val raw_prop = |
338 Thm.prop_of th |
337 Thm.prop_of th |
339 |> singleton (ProofContext.monomorphic ctxt) |
338 |> singleton (ProofContext.monomorphic ctxt) |