equal
deleted
inserted
replaced
2033 let |
2033 let |
2034 val thy = Thm.theory_of_cterm ct; |
2034 val thy = Thm.theory_of_cterm ct; |
2035 val t = Thm.term_of ct; |
2035 val t = Thm.term_of ct; |
2036 val fs = OldTerm.term_frees t; |
2036 val fs = OldTerm.term_frees t; |
2037 val bs = term_bools [] t; |
2037 val bs = term_bools [] t; |
2038 val vs = fs ~~ (0 upto (length fs - 1)) |
2038 val vs = map_index swap fs; |
2039 val ps = bs ~~ (0 upto (length bs - 1)) |
2039 val ps = map_index swap bs; |
2040 val t' = (term_of_fm ps vs o @{code pa} o fm_of_term ps vs) t; |
2040 val t' = (term_of_fm ps vs o @{code pa} o fm_of_term ps vs) t; |
2041 in (Thm.cterm_of thy o HOLogic.mk_Trueprop o HOLogic.mk_eq) (t, t') end |
2041 in (Thm.cterm_of thy o HOLogic.mk_Trueprop o HOLogic.mk_eq) (t, t') end |
2042 end; |
2042 end; |
2043 *} |
2043 *} |
2044 |
2044 |