equal
deleted
inserted
replaced
99 val prep_ext = I; |
99 val prep_ext = I; |
100 fun merge ((tab1, monos1), (tab2, monos2)) = |
100 fun merge ((tab1, monos1), (tab2, monos2)) = |
101 (Symtab.merge (K true) (tab1, tab2), Drule.merge_rules (monos1, monos2)); |
101 (Symtab.merge (K true) (tab1, tab2), Drule.merge_rules (monos1, monos2)); |
102 |
102 |
103 fun print sg (tab, monos) = |
103 fun print sg (tab, monos) = |
104 [Pretty.strs ("(co)inductives:" :: map #1 (Sign.cond_extern_table sg Sign.constK tab)), |
104 [Pretty.strs ("(co)inductives:" :: map #1 (Sign.extern_table sg Sign.constK tab)), |
105 Pretty.big_list "monotonicity rules:" (map (Display.pretty_thm_sg sg) monos)] |
105 Pretty.big_list "monotonicity rules:" (map (Display.pretty_thm_sg sg) monos)] |
106 |> Pretty.chunks |> Pretty.writeln; |
106 |> Pretty.chunks |> Pretty.writeln; |
107 end; |
107 end; |
108 |
108 |
109 structure InductiveData = TheoryDataFun(InductiveArgs); |
109 structure InductiveData = TheoryDataFun(InductiveArgs); |