src/HOL/List.thy
changeset 17956 369e2af8ee45
parent 17906 719364f5179b
child 18049 156bba334c12
equal deleted inserted replaced
17955:3b34516662c6 17956:369e2af8ee45
   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