equal
deleted
inserted
replaced
483 Abs ("x", domT, Const ("FunDef.THE_default", ranT --> (ranT --> boolT) --> ranT) $ (default $ Bound 0) $ |
483 Abs ("x", domT, Const ("FunDef.THE_default", ranT --> (ranT --> boolT) --> ranT) $ (default $ Bound 0) $ |
484 Abs ("y", ranT, G $ Bound 1 $ Bound 0)) |
484 Abs ("y", ranT, G $ Bound 1 $ Bound 0)) |
485 |> Syntax.check_term lthy |
485 |> Syntax.check_term lthy |
486 |
486 |
487 val ((f, (_, f_defthm)), lthy) = |
487 val ((f, (_, f_defthm)), lthy) = |
488 LocalTheory.define Thm.internalK ((Name.binding (function_name fname), mixfix), ((Name.binding fdefname, []), f_def)) lthy |
488 LocalTheory.define Thm.internalK ((Binding.name (function_name fname), mixfix), ((Binding.name fdefname, []), f_def)) lthy |
489 in |
489 in |
490 ((f, f_defthm), lthy) |
490 ((f, f_defthm), lthy) |
491 end |
491 end |
492 |
492 |
493 |
493 |
896 |
896 |
897 val ((R, RIntro_thmss, R_elim), lthy) = |
897 val ((R, RIntro_thmss, R_elim), lthy) = |
898 PROFILE "def_rel" (define_recursion_relation (rel_name defname) domT ranT fvar f abstract_qglrs clauses RCss) lthy |
898 PROFILE "def_rel" (define_recursion_relation (rel_name defname) domT ranT fvar f abstract_qglrs clauses RCss) lthy |
899 |
899 |
900 val (_, lthy) = |
900 val (_, lthy) = |
901 LocalTheory.abbrev Syntax.mode_default ((Name.binding (dom_name defname), NoSyn), mk_acc domT R) lthy |
901 LocalTheory.abbrev Syntax.mode_default ((Binding.name (dom_name defname), NoSyn), mk_acc domT R) lthy |
902 |
902 |
903 val newthy = ProofContext.theory_of lthy |
903 val newthy = ProofContext.theory_of lthy |
904 val clauses = map (transfer_clause_ctx newthy) clauses |
904 val clauses = map (transfer_clause_ctx newthy) clauses |
905 |
905 |
906 val cert = cterm_of (ProofContext.theory_of lthy) |
906 val cert = cterm_of (ProofContext.theory_of lthy) |