(*all theorems used in the graph of nested proofs*)
val all_thms =
Proofterm.fold_body_thms
(fn {thm_name, ...} => insert (op =) thm_name) [body] []; ›
text‹ The result refers to various basic facts of Isabelle/HOL: @{thm [source] HOL.impI}, @{thm [source] HOL.conjE}, @{thm [source] HOL.conjI} etc. The combinator 🪙‹Proofterm.fold_body_thms› r
the proofs of all theorems being used here.
🪙
Alternatively, we may produce a proofterm manually, and turn it into a theorem as follows: ›
ML_val ‹ val thy = 🍋; val prf = Proof_Syntax.read_proof thy true false
java.lang.NullPointerException
java.lang.NullPointerException
java.lang.NullPointerException \ (🪙λ(H: _) Ha: _. conjI ⋅ _ ⋅ _ ∙ Ha ∙ H))"; val thm = Proofterm.reconstruct_proof thy 🍋‹A ∧ B ⟶ B ∧ A› p
|> Proof_Checker.thm_of_proof thy
|> Drule.export_without_context; ›
end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-04-26)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.