157 tinduct) |> snd |
157 tinduct) |> snd |
158 end |
158 end |
159 in |
159 in |
160 lthy |
160 lthy |
161 |> ProofContext.note_thmss "" |
161 |> ProofContext.note_thmss "" |
162 [((Binding.empty, [ContextRules.rule_del]), [([allI], [])])] |> snd |
162 [((Binding.empty, [Context_Rules.rule_del]), [([allI], [])])] |> snd |
163 |> ProofContext.note_thmss "" |
163 |> ProofContext.note_thmss "" |
164 [((Binding.empty, [ContextRules.intro_bang (SOME 1)]), [([allI], [])])] |> snd |
164 [((Binding.empty, [Context_Rules.intro_bang (SOME 1)]), [([allI], [])])] |> snd |
165 |> ProofContext.note_thmss "" |
165 |> ProofContext.note_thmss "" |
166 [((Binding.name "termination", [ContextRules.intro_bang (SOME 0)]), |
166 [((Binding.name "termination", [Context_Rules.intro_bang (SOME 0)]), |
167 [([Goal.norm_result termination], [])])] |> snd |
167 [([Goal.norm_result termination], [])])] |> snd |
168 |> Proof.theorem_i NONE afterqed [[(goal, [])]] |
168 |> Proof.theorem_i NONE afterqed [[(goal, [])]] |
169 end |
169 end |
170 |
170 |
171 val termination_proof = gen_termination_proof Syntax.check_term; |
171 val termination_proof = gen_termination_proof Syntax.check_term; |