equal
deleted
inserted
replaced
98 |
98 |
99 val [f_B,g_B] = map (cterm_of @{theory}) (OldTerm.term_vars (prop_of @{thm abs_B})); |
99 val [f_B,g_B] = map (cterm_of @{theory}) (OldTerm.term_vars (prop_of @{thm abs_B})); |
100 val [g_C,f_C] = map (cterm_of @{theory}) (OldTerm.term_vars (prop_of @{thm abs_C})); |
100 val [g_C,f_C] = map (cterm_of @{theory}) (OldTerm.term_vars (prop_of @{thm abs_C})); |
101 val [f_S,g_S] = map (cterm_of @{theory}) (OldTerm.term_vars (prop_of @{thm abs_S})); |
101 val [f_S,g_S] = map (cterm_of @{theory}) (OldTerm.term_vars (prop_of @{thm abs_S})); |
102 |
102 |
103 (*FIXME: requires more use of cterm constructors*) |
103 (* FIXME: Requires more use of cterm constructors. *) |
104 fun abstract ct = |
104 fun abstract ct = |
105 let |
105 let |
106 val thy = theory_of_cterm ct |
106 val thy = theory_of_cterm ct |
107 val Abs(x,_,body) = term_of ct |
107 val Abs(x,_,body) = term_of ct |
108 val Type(@{type_name fun}, [xT,bodyT]) = typ_of (ctyp_of_term ct) |
108 val Type(@{type_name fun}, [xT,bodyT]) = typ_of (ctyp_of_term ct) |