delete_binding : string -> unit
- Define `fact x = if x=0 then 1 else x * fact (x-1)`; Equations stored under "fact_def". Induction stored under "fact_ind". > val it = |- fact x = (if x = 0 then 1 else x * fact (x - 1)) : thm - current_theorems(); > val it = [("fact_def", |- fact x = (if x = 0 then 1 else x * fact (x - 1))), ("fact_ind", |- !P. (!x. (~(x = 0) ==> P (x - 1)) ==> P x) ==> !v. P v)] : (string * thm) list - delete_binding "fact_ind"; > val it = () : unit - current_theorems(); > val it = [("fact_def", |- fact x = (if x = 0 then 1 else x * fact (x - 1)))] : (string * thm) list
Removing an axiom has the consequence that all theorems proved from it become garbage.