src/Pure/Proof/proof_syntax.ML
changeset 13530 4813fdc0ef17
parent 13199 18402c1f76bf
child 14854 61bdf2ae4dc5
equal deleted inserted replaced
13529:49a0ad8f175e 13530:4813fdc0ef17
   145                      | None => error ("Unknown axiom " ^ quote name))
   145                      | None => error ("Unknown axiom " ^ quote name))
   146                  in PAxm (name, prop, None) end
   146                  in PAxm (name, prop, None) end
   147              | "thm" :: xs =>
   147              | "thm" :: xs =>
   148                  let val name = NameSpace.pack xs;
   148                  let val name = NameSpace.pack xs;
   149                  in (case assoc (thms, name) of
   149                  in (case assoc (thms, name) of
   150                      Some thm => fst (strip_combt (#2 (#der (rep_thm thm))))
   150                      Some thm => fst (strip_combt (Thm.proof_of thm))
   151                    | None => (case Symtab.lookup (tab, name) of
   151                    | None => (case Symtab.lookup (tab, name) of
   152                          Some prf => prf
   152                          Some prf => prf
   153                        | None => error ("Unknown theorem " ^ quote name)))
   153                        | None => error ("Unknown theorem " ^ quote name)))
   154                  end
   154                  end
   155              | _ => error ("Illegal proof constant name: " ^ quote s))
   155              | _ => error ("Illegal proof constant name: " ^ quote s))