equal
deleted
inserted
replaced
169 else if String.isPrefix conjecture_prefix ident then |
169 else if String.isPrefix conjecture_prefix ident then |
170 NONE |
170 NONE |
171 else if String.isPrefix helper_prefix ident then |
171 else if String.isPrefix helper_prefix ident then |
172 (case (String.isSuffix typed_helper_suffix ident, space_explode "_" ident) of |
172 (case (String.isSuffix typed_helper_suffix ident, space_explode "_" ident) of |
173 (needs_fairly_sound, _ :: const :: j :: _) => |
173 (needs_fairly_sound, _ :: const :: j :: _) => |
174 nth (AList.lookup (op =) helper_table (const, needs_fairly_sound) |> the) |
174 nth (AList.lookup (op =) (helper_table true) (const, needs_fairly_sound) |> the) |
175 (the (Int.fromString j) - 1) |
175 (the (Int.fromString j) - 1) |
176 |> snd |> prepare_helper ctxt |
176 |> snd |> prepare_helper ctxt |
177 |> Isa_Raw |> some |
177 |> Isa_Raw |> some |
178 | _ => raise Fail ("malformed helper identifier " ^ quote ident)) |
178 | _ => raise Fail ("malformed helper identifier " ^ quote ident)) |
179 else |
179 else |
215 (0 upto length fact_clauses - 1) fact_clauses |
215 (0 upto length fact_clauses - 1) fact_clauses |
216 val (old_skolems, props) = |
216 val (old_skolems, props) = |
217 fold_rev (fn (name, th) => fn (old_skolems, props) => |
217 fold_rev (fn (name, th) => fn (old_skolems, props) => |
218 th |> Thm.prop_of |> Logic.strip_imp_concl |
218 th |> Thm.prop_of |> Logic.strip_imp_concl |
219 |> conceal_old_skolem_terms (length clauses) old_skolems |
219 |> conceal_old_skolem_terms (length clauses) old_skolems |
220 ||> (lam_trans = liftingN orelse lam_trans = lam_liftingN) ? eliminate_lam_wrappers |
220 ||> lam_trans = liftingN ? eliminate_lam_wrappers |
221 ||> (fn prop => (name, prop) :: props)) |
221 ||> (fn prop => (name, prop) :: props)) |
222 clauses ([], []) |
222 clauses ([], []) |
223 (* |
223 (* |
224 val _ = |
224 val _ = |
225 tracing ("PROPS:\n" ^ |
225 tracing ("PROPS:\n" ^ |