equal
deleted
inserted
replaced
451 val Type(_,listT::_) = eqT |
451 val Type(_,listT::_) = eqT |
452 val appT = [listT,listT] ---> listT |
452 val appT = [listT,listT] ---> listT |
453 val app = Const("List.op @",appT) |
453 val app = Const("List.op @",appT) |
454 val F2 = eq $ (app$lhs1$lastl) $ (app$rhs1$lastr) |
454 val F2 = eq $ (app$lhs1$lastl) $ (app$rhs1$lastr) |
455 val eq = HOLogic.mk_Trueprop (HOLogic.mk_eq (F,F2)); |
455 val eq = HOLogic.mk_Trueprop (HOLogic.mk_eq (F,F2)); |
456 val thm = Tactic.prove sg [] [] eq |
456 val thm = Goal.prove sg [] [] eq |
457 (K (simp_tac (Simplifier.inherit_context ss rearr_ss) 1)); |
457 (K (simp_tac (Simplifier.inherit_context ss rearr_ss) 1)); |
458 in SOME ((conv RS (thm RS trans)) RS eq_reflection) end; |
458 in SOME ((conv RS (thm RS trans)) RS eq_reflection) end; |
459 |
459 |
460 in |
460 in |
461 if list1 lastl andalso list1 lastr then rearr append1_eq_conv |
461 if list1 lastl andalso list1 lastr then rearr append1_eq_conv |