equal
deleted
inserted
replaced
589 in mk_cong_type thy (Const(f,T'),T') end; |
589 in mk_cong_type thy (Const(f,T'),T') end; |
590 |
590 |
591 fun mk_congs thy = List.concat o map (mk_cong_thy thy); |
591 fun mk_congs thy = List.concat o map (mk_cong_thy thy); |
592 |
592 |
593 fun mk_typed_congs thy = |
593 fun mk_typed_congs thy = |
594 let val S0 = Sign.defaultS thy; |
594 let |
595 fun readfT(f,s) = |
595 fun readfT(f,s) = |
596 let val T = Logic.incr_tvar 9 (Sign.read_typ(thy, K(SOME(S0))) s); |
596 let |
597 val t = case Sign.const_type thy f of |
597 val T = Logic.incr_tvar 9 (Sign.read_typ thy s); |
598 SOME(_) => Const(f,T) | NONE => Free(f,T) |
598 val t = case Sign.const_type thy f of |
599 in (t,T) end |
599 SOME(_) => Const(f,T) | NONE => Free(f,T) |
|
600 in (t,T) end |
600 in List.concat o map (mk_cong_type thy o readfT) end; |
601 in List.concat o map (mk_cong_type thy o readfT) end; |
601 |
602 |
602 end (* local *) |
603 end; |
603 end (* SIMP *); |
604 end; |