equal
deleted
inserted
replaced
368 val P' = subst_bound (x', P); |
368 val P' = subst_bound (x', P); |
369 in |
369 in |
370 Syntax.const @{syntax_const "_qsetsum"} $ Syntax_Trans.mark_bound_abs (x, Tx) $ P' $ t' |
370 Syntax.const @{syntax_const "_qsetsum"} $ Syntax_Trans.mark_bound_abs (x, Tx) $ P' $ t' |
371 end |
371 end |
372 | setsum_tr' _ = raise Match; |
372 | setsum_tr' _ = raise Match; |
373 in [(@{const_syntax setsum}, setsum_tr')] end |
373 in [(@{const_syntax setsum}, K setsum_tr')] end |
374 *} |
374 *} |
375 |
375 |
376 text {* TODO These are candidates for generalization *} |
376 text {* TODO These are candidates for generalization *} |
377 |
377 |
378 context comm_monoid_add |
378 context comm_monoid_add |