equal
deleted
inserted
replaced
1717 handle ERROR msg => raise CONTEXT (msg, [cT], [], [], NONE); |
1717 handle ERROR msg => raise CONTEXT (msg, [cT], [], [], NONE); |
1718 val c = Sign.certify_class thy raw_c; |
1718 val c = Sign.certify_class thy raw_c; |
1719 val Cterm {t = prop, maxidx, sorts, ...} = global_cterm_of thy (Logic.mk_of_class (T, c)); |
1719 val Cterm {t = prop, maxidx, sorts, ...} = global_cterm_of thy (Logic.mk_of_class (T, c)); |
1720 in |
1720 in |
1721 if Sign.of_sort thy (T, [c]) then |
1721 if Sign.of_sort thy (T, [c]) then |
1722 Thm (deriv_rule0 (fn () => Proofterm.OfClass (T, c)), |
1722 Thm (deriv_rule0 (fn () => Proofterm.PClass (T, c)), |
1723 {cert = cert, |
1723 {cert = cert, |
1724 tags = [], |
1724 tags = [], |
1725 maxidx = maxidx, |
1725 maxidx = maxidx, |
1726 constraints = insert_constraints thy (T, [c]) [], |
1726 constraints = insert_constraints thy (T, [c]) [], |
1727 shyps = sorts, |
1727 shyps = sorts, |