src/HOL/Tools/Function/termination.ML
changeset 34974 18b41bba42b5
parent 34236 010a3206cbbe
child 35092 cfe605c54e50
equal deleted inserted replaced
34973:ae634fad947e 34974:18b41bba42b5
   201         (Term.list_all (vs,
   201         (Term.list_all (vs,
   202            Logic.mk_implies (HOLogic.mk_Trueprop Gam,
   202            Logic.mk_implies (HOLogic.mk_Trueprop Gam,
   203              HOLogic.mk_Trueprop (Const (rel, @{typ "nat => nat => bool"})
   203              HOLogic.mk_Trueprop (Const (rel, @{typ "nat => nat => bool"})
   204                $ (m2 $ r) $ (m1 $ l)))))) tac
   204                $ (m2 $ r) $ (m1 $ l)))))) tac
   205   in
   205   in
   206     case try @{const_name HOL.less} of
   206     case try @{const_name Algebras.less} of
   207        Solved thm => Less thm
   207        Solved thm => Less thm
   208      | Stuck thm =>
   208      | Stuck thm =>
   209        (case try @{const_name HOL.less_eq} of
   209        (case try @{const_name Algebras.less_eq} of
   210           Solved thm2 => LessEq (thm2, thm)
   210           Solved thm2 => LessEq (thm2, thm)
   211         | Stuck thm2 =>
   211         | Stuck thm2 =>
   212           if prems_of thm2 = [HOLogic.Trueprop $ HOLogic.false_const]
   212           if prems_of thm2 = [HOLogic.Trueprop $ HOLogic.false_const]
   213           then False thm2 else None (thm2, thm)
   213           then False thm2 else None (thm2, thm)
   214         | _ => raise Match) (* FIXME *)
   214         | _ => raise Match) (* FIXME *)