equal
deleted
inserted
replaced
79 fun merge ((tab1, monos1), (tab2, monos2)) = (Symtab.merge (K true) (tab1, tab2), |
79 fun merge ((tab1, monos1), (tab2, monos2)) = (Symtab.merge (K true) (tab1, tab2), |
80 Library.generic_merge Thm.eq_thm I I monos1 monos2); |
80 Library.generic_merge Thm.eq_thm I I monos1 monos2); |
81 |
81 |
82 fun print sg (tab, monos) = |
82 fun print sg (tab, monos) = |
83 [Pretty.strs ("(co)inductives:" :: map #1 (Sign.cond_extern_table sg Sign.constK tab)), |
83 [Pretty.strs ("(co)inductives:" :: map #1 (Sign.cond_extern_table sg Sign.constK tab)), |
84 Pretty.big_list "monotonicity rules:" (map Display.pretty_thm monos)] |
84 Pretty.big_list "monotonicity rules:" (map (Display.pretty_thm_sg sg) monos)] |
85 |> Pretty.chunks |> Pretty.writeln; |
85 |> Pretty.chunks |> Pretty.writeln; |
86 end; |
86 end; |
87 |
87 |
88 structure InductiveData = TheoryDataFun(InductiveArgs); |
88 structure InductiveData = TheoryDataFun(InductiveArgs); |
89 val print_inductives = InductiveData.print; |
89 val print_inductives = InductiveData.print; |