equal
deleted
inserted
replaced
31 fun mono_eq_prover ctxt prop = |
31 fun mono_eq_prover ctxt prop = |
32 let |
32 let |
33 val refl_rules = Lifting_Info.get_reflexivity_rules ctxt |
33 val refl_rules = Lifting_Info.get_reflexivity_rules ctxt |
34 val transfer_rules = Transfer.get_transfer_raw ctxt |
34 val transfer_rules = Transfer.get_transfer_raw ctxt |
35 |
35 |
36 fun main_tac i = (REPEAT_ALL_NEW (DETERM o resolve_tac refl_rules) THEN_ALL_NEW |
36 fun main_tac i = (REPEAT_ALL_NEW (DETERM o resolve_tac ctxt refl_rules) THEN_ALL_NEW |
37 (REPEAT_ALL_NEW (DETERM o resolve_tac transfer_rules))) i |
37 (REPEAT_ALL_NEW (DETERM o resolve_tac ctxt transfer_rules))) i |
38 in |
38 in |
39 SOME (Goal.prove ctxt [] [] prop (K (main_tac 1))) |
39 SOME (Goal.prove ctxt [] [] prop (K (main_tac 1))) |
40 handle ERROR _ => NONE |
40 handle ERROR _ => NONE |
41 end |
41 end |
42 |
42 |
543 @{thm rel_fun_eq_rel[THEN eq_reflection]}, |
543 @{thm rel_fun_eq_rel[THEN eq_reflection]}, |
544 @{thm rel_fun_def[THEN eq_reflection]}] |
544 @{thm rel_fun_def[THEN eq_reflection]}] |
545 fun binop_conv2 cv1 cv2 = Conv.combination_conv (Conv.arg_conv cv1) cv2 |
545 fun binop_conv2 cv1 cv2 = Conv.combination_conv (Conv.arg_conv cv1) cv2 |
546 val eq_onp_assms_tac_rules = @{thm left_unique_OO} :: |
546 val eq_onp_assms_tac_rules = @{thm left_unique_OO} :: |
547 eq_onp_assms_tac_fixed_rules @ (Transfer.get_transfer_raw lthy) |
547 eq_onp_assms_tac_fixed_rules @ (Transfer.get_transfer_raw lthy) |
548 val eq_onp_assms_tac = (TRY o REPEAT_ALL_NEW (resolve_tac eq_onp_assms_tac_rules) |
548 val eq_onp_assms_tac = (TRY o REPEAT_ALL_NEW (resolve_tac lthy eq_onp_assms_tac_rules) |
549 THEN_ALL_NEW (DETERM o Transfer.eq_tac lthy)) 1 |
549 THEN_ALL_NEW (DETERM o Transfer.eq_tac lthy)) 1 |
550 val relator_eq_onp_conv = Conv.bottom_conv |
550 val relator_eq_onp_conv = Conv.bottom_conv |
551 (K (Conv.try_conv (assms_rewrs_conv eq_onp_assms_tac |
551 (K (Conv.try_conv (assms_rewrs_conv eq_onp_assms_tac |
552 (Lifting_Info.get_relator_eq_onp_rules lthy)))) lthy |
552 (Lifting_Info.get_relator_eq_onp_rules lthy)))) lthy |
553 val relator_eq_conv = Conv.bottom_conv |
553 val relator_eq_conv = Conv.bottom_conv |