equal
deleted
inserted
replaced
81 val s = |
81 val s = |
82 encode_str name ^ ": " ^ encode_features (sort_wrt fst feats) ^ "\n" |
82 encode_str name ^ ": " ^ encode_features (sort_wrt fst feats) ^ "\n" |
83 in File.append path s end |
83 in File.append path s end |
84 in List.app do_fact facts end |
84 in List.app do_fact facts end |
85 |
85 |
|
86 val prover_marker = "$a" |
86 val isar_marker = "$i" |
87 val isar_marker = "$i" |
87 val omitted_marker = "$o" |
88 val omitted_marker = "$o" |
88 val prover_marker = "$a" |
89 val unprovable_marker = "$u" (* axiom or definition or characteristic theorem *) |
89 val prover_failed_marker = "$x" |
90 val prover_failed_marker = "$x" |
90 |
91 |
91 fun smart_dependencies_of ctxt params_opt facts name_tabs th isar_deps_opt = |
92 fun smart_dependencies_of ctxt params_opt facts name_tabs th isar_deps_opt = |
92 let |
93 let |
93 val (marker, deps) = |
94 val (marker, deps) = |
99 let |
100 let |
100 val deps = |
101 val deps = |
101 case isar_deps_opt of |
102 case isar_deps_opt of |
102 SOME deps => deps |
103 SOME deps => deps |
103 | NONE => isar_dependencies_of name_tabs th |
104 | NONE => isar_dependencies_of name_tabs th |
104 in (isar_marker, deps) end |
105 in (if null deps then unprovable_marker else isar_marker, deps) end |
105 in |
106 in |
106 case trim_dependencies th deps of |
107 case trim_dependencies th deps of |
107 SOME deps => (marker, deps) |
108 SOME deps => (marker, deps) |
108 | NONE => (omitted_marker, []) |
109 | NONE => (omitted_marker, []) |
109 end |
110 end |