src/HOL/Decision_Procs/ferrack_tac.ML
changeset 58963 26bf09b95dda
parent 58956 a816aa3ff391
child 59582 0fbed69ff081
equal deleted inserted replaced
58960:4bee6d8c1500 58963:26bf09b95dda
    59     (* Theorem for the nat --> int transformation *)
    59     (* Theorem for the nat --> int transformation *)
    60    val pre_thm = Seq.hd (EVERY
    60    val pre_thm = Seq.hd (EVERY
    61       [simp_tac simpset0 1,
    61       [simp_tac simpset0 1,
    62        TRY (simp_tac (put_simpset ferrack_ss ctxt) 1)]
    62        TRY (simp_tac (put_simpset ferrack_ss ctxt) 1)]
    63       (Thm.trivial ct))
    63       (Thm.trivial ct))
    64     fun assm_tac i = REPEAT_DETERM_N nh (assume_tac i)
    64     fun assm_tac i = REPEAT_DETERM_N nh (assume_tac ctxt i)
    65     (* The result of the quantifier elimination *)
    65     (* The result of the quantifier elimination *)
    66     val (th, tac) = case prop_of pre_thm of
    66     val (th, tac) = case prop_of pre_thm of
    67         Const (@{const_name Pure.imp}, _) $ (Const (@{const_name Trueprop}, _) $ t1) $ _ =>
    67         Const (@{const_name Pure.imp}, _) $ (Const (@{const_name Trueprop}, _) $ t1) $ _ =>
    68     let val pth = linr_oracle (ctxt, Envir.eta_long [] t1)
    68     let val pth = linr_oracle (ctxt, Envir.eta_long [] t1)
    69     in 
    69     in