179 val Hypt = Const ("Hyp", propT --> proofT); |
179 val Hypt = Const ("Hyp", propT --> proofT); |
180 val Oraclet = Const ("Oracle", propT --> proofT); |
180 val Oraclet = Const ("Oracle", propT --> proofT); |
181 val MinProoft = Const ("MinProof", proofT); |
181 val MinProoft = Const ("MinProof", proofT); |
182 |
182 |
183 val mk_tyapp = Library.foldl (fn (prf, T) => Const ("Appt", |
183 val mk_tyapp = Library.foldl (fn (prf, T) => Const ("Appt", |
184 [proofT, itselfT T] ---> proofT) $ prf $ Logic.mk_type T); |
184 [proofT, Term.itselfT T] ---> proofT) $ prf $ Logic.mk_type T); |
185 |
185 |
186 fun term_of _ (PThm ((name, _), _, _, NONE)) = |
186 fun term_of _ (PThm ((name, _), _, _, NONE)) = |
187 Const (NameSpace.append "thm" name, proofT) |
187 Const (NameSpace.append "thm" name, proofT) |
188 | term_of _ (PThm ((name, _), _, _, SOME Ts)) = |
188 | term_of _ (PThm ((name, _), _, _, SOME Ts)) = |
189 mk_tyapp (Const (NameSpace.append "thm" name, proofT), Ts) |
189 mk_tyapp (Const (NameSpace.append "thm" name, proofT), Ts) |