equal
deleted
inserted
replaced
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 |