src/Pure/Proof/extraction.ML
changeset 53171 a5e54d4d9081
parent 52788 da1fdbfebd39
child 56206 7adec2a527f5
equal deleted inserted replaced
53170:96f7adb55d72 53171:a5e54d4d9081
   420     thy;
   420     thy;
   421 
   421 
   422 
   422 
   423 (** Pure setup **)
   423 (** Pure setup **)
   424 
   424 
   425 val _ = Context.>> (Context.map_theory
   425 val _ = Theory.setup
   426   (add_types [("prop", ([], NONE))] #>
   426   (add_types [("prop", ([], NONE))] #>
   427 
   427 
   428    add_typeof_eqns
   428    add_typeof_eqns
   429      ["(typeof (PROP P)) == (Type (TYPE(Null))) ==>  \
   429      ["(typeof (PROP P)) == (Type (TYPE(Null))) ==>  \
   430     \  (typeof (PROP Q)) == (Type (TYPE('Q))) ==>  \
   430     \  (typeof (PROP Q)) == (Type (TYPE('Q))) ==>  \
   467     \  (!!x. PROP realizes (r (x)) (PROP P (x)))"] #>
   467     \  (!!x. PROP realizes (r (x)) (PROP P (x)))"] #>
   468 
   468 
   469    Attrib.setup (Binding.name "extraction_expand") (Scan.succeed (extraction_expand false))
   469    Attrib.setup (Binding.name "extraction_expand") (Scan.succeed (extraction_expand false))
   470      "specify theorems to be expanded during extraction" #>
   470      "specify theorems to be expanded during extraction" #>
   471    Attrib.setup (Binding.name "extraction_expand_def") (Scan.succeed (extraction_expand true))
   471    Attrib.setup (Binding.name "extraction_expand_def") (Scan.succeed (extraction_expand true))
   472      "specify definitions to be expanded during extraction"));
   472      "specify definitions to be expanded during extraction");
   473 
   473 
   474 
   474 
   475 (**** extract program ****)
   475 (**** extract program ****)
   476 
   476 
   477 val dummyt = Const ("dummy", dummyT);
   477 val dummyt = Const ("dummy", dummyT);