equal
deleted
inserted
replaced
89 val (th, tac) = case (prop_of pre_thm) of |
89 val (th, tac) = case (prop_of pre_thm) of |
90 Const ("==>", _) $ (Const ("Trueprop", _) $ t1) $ _ => |
90 Const ("==>", _) $ (Const ("Trueprop", _) $ t1) $ _ => |
91 let val pth = linr_oracle thy (Pattern.eta_long [] t1) |
91 let val pth = linr_oracle thy (Pattern.eta_long [] t1) |
92 in |
92 in |
93 (trace_msg ("calling procedure with term:\n" ^ |
93 (trace_msg ("calling procedure with term:\n" ^ |
94 Sign.string_of_term thy t1); |
94 Syntax.string_of_term ctxt t1); |
95 ((pth RS iffD2) RS pre_thm, |
95 ((pth RS iffD2) RS pre_thm, |
96 assm_tac (i + 1) THEN (if q then I else TRY) (rtac TrueI i))) |
96 assm_tac (i + 1) THEN (if q then I else TRY) (rtac TrueI i))) |
97 end |
97 end |
98 | _ => (pre_thm, assm_tac i) |
98 | _ => (pre_thm, assm_tac i) |
99 in (rtac (((mp_step nh) o (spec_step np)) th) i |
99 in (rtac (((mp_step nh) o (spec_step np)) th) i |