equal
deleted
inserted
replaced
62 val Abs_map = list_comb (mk_map_of_bnf Ds As Bs bnf, nth argss' 1) |
62 val Abs_map = list_comb (mk_map_of_bnf Ds As Bs bnf, nth argss' 1) |
63 val Rep_map = list_comb (mk_map_of_bnf Ds Bs As bnf, nth argss' 2) |
63 val Rep_map = list_comb (mk_map_of_bnf Ds Bs As bnf, nth argss' 2) |
64 val T_rel = list_comb (mk_rel_of_bnf Ds As Bs bnf, nth argss' 3) |
64 val T_rel = list_comb (mk_rel_of_bnf Ds As Bs bnf, nth argss' 3) |
65 val concl = mk_Quotient [R_rel, Abs_map, Rep_map, T_rel] |> HOLogic.mk_Trueprop |
65 val concl = mk_Quotient [R_rel, Abs_map, Rep_map, T_rel] |> HOLogic.mk_Trueprop |
66 val goal = Logic.list_implies (assms, concl) |
66 val goal = Logic.list_implies (assms, concl) |
67 val thm = Goal.prove ctxt [] [] goal |
67 val thm = Goal.prove_sorry ctxt [] [] goal |
68 (fn {context = ctxt, prems = _} => Quotient_tac bnf ctxt 1) |
68 (fn {context = ctxt, prems = _} => Quotient_tac bnf ctxt 1) |
|
69 |> Thm.close_derivation |
69 in |
70 in |
70 Drule.zero_var_indexes (singleton (Variable.export ctxt old_ctxt) thm) |
71 Drule.zero_var_indexes (singleton (Variable.export ctxt old_ctxt) thm) |
71 end |
72 end |
72 |
73 |
73 |
74 |