equal
deleted
inserted
replaced
170 let |
170 let |
171 val th = Drule.eta_contraction_rule th |
171 val th = Drule.eta_contraction_rule th |
172 val eqth = introduce_combinators_in_cterm (cprop_of th) |
172 val eqth = introduce_combinators_in_cterm (cprop_of th) |
173 in Thm.equal_elim eqth th end |
173 in Thm.equal_elim eqth th end |
174 handle THM (msg, _, _) => |
174 handle THM (msg, _, _) => |
175 (warning ("Error in the combinator translation of " ^ |
175 (warning ("Error in the combinator translation of " ^ Display.string_of_thm ctxt th ^ |
176 Display.string_of_thm ctxt th ^ |
176 "\nException message: " ^ msg); |
177 "\nException message: " ^ msg ^ "."); |
|
178 (* A type variable of sort "{}" will make "abstraction" fail. *) |
177 (* A type variable of sort "{}" will make "abstraction" fail. *) |
179 TrueI) |
178 TrueI) |
180 |
179 |
181 (*cterms are used throughout for efficiency*) |
180 (*cterms are used throughout for efficiency*) |
182 val cTrueprop = cterm_of @{theory HOL} HOLogic.Trueprop; |
181 val cTrueprop = cterm_of @{theory HOL} HOLogic.Trueprop; |