src/Pure/Isar/interpretation.ML
changeset 67702 2d9918f5b33c
parent 67450 b0ae74b86ef3
child 67740 b6ce18784872
equal deleted inserted replaced
67701:454dfdaf021d 67702:2d9918f5b33c
   173     fun lift_after_qed after_qed witss eqns =
   173     fun lift_after_qed after_qed witss eqns =
   174       Proof.map_context (after_qed witss eqns) #> Proof.reset_facts;
   174       Proof.map_context (after_qed witss eqns) #> Proof.reset_facts;
   175     fun setup_proof after_qed propss eqns goal_ctxt =
   175     fun setup_proof after_qed propss eqns goal_ctxt =
   176       Element.witness_local_proof_eqs (lift_after_qed after_qed) "interpret"
   176       Element.witness_local_proof_eqs (lift_after_qed after_qed) "interpret"
   177         propss eqns goal_ctxt state;
   177         propss eqns goal_ctxt state;
       
   178     fun add_registration reg mixin export ctxt = ctxt
       
   179       |> Proof_Context.set_stmt false
       
   180       |> Context.proof_map (Locale.add_registration reg mixin export)
       
   181       |> Proof_Context.restore_stmt ctxt;
   178   in
   182   in
   179     Proof.context_of state
   183     Proof.context_of state
   180     |> generic_interpretation prep_interpretation setup_proof
   184     |> generic_interpretation prep_interpretation setup_proof
   181       Attrib.local_notes (Context.proof_map ooo Locale.add_registration) expression [] raw_eqns
   185       Attrib.local_notes add_registration expression [] raw_eqns
   182   end;
   186   end;
   183 
   187 
   184 in
   188 in
   185 
   189 
   186 val interpret = gen_interpret cert_interpretation;
   190 val interpret = gen_interpret cert_interpretation;