equal
deleted
inserted
replaced
150 |
150 |
151 val afp_bulky_sessions = |
151 val afp_bulky_sessions = |
152 (for (name <- afp_sessions.iterator if deps.sessions_structure(name).is_afp_bulky) |
152 (for (name <- afp_sessions.iterator if deps.sessions_structure(name).is_afp_bulky) |
153 yield name).toList |
153 yield name).toList |
154 |
154 |
155 val base_sessions = session_graph.all_preds(List(logic)).reverse |
155 val base_sessions = |
|
156 session_graph.all_preds(List(logic).filter(session_graph.defined)).reverse |
156 |
157 |
157 val base = |
158 val base = |
158 if (logic == isabelle.Thy_Header.PURE) Nil |
159 if (logic == isabelle.Thy_Header.PURE || base_sessions.isEmpty) Nil |
159 else List(new Session(context, isabelle.Thy_Header.PURE, log, base_sessions)) |
160 else List(new Session(context, isabelle.Thy_Header.PURE, log, base_sessions)) |
160 |
161 |
161 val main = |
162 val main = |
162 new Session(context, logic, log, |
163 new Session(context, logic, log, |
163 session_graph.topological_order.filterNot(name => |
164 session_graph.topological_order.filterNot(name => |
167 if (afp_sessions.isEmpty) Nil |
168 if (afp_sessions.isEmpty) Nil |
168 else { |
169 else { |
169 val (part1, part2) = |
170 val (part1, part2) = |
170 { |
171 { |
171 val graph = session_graph.restrict(afp_sessions -- afp_bulky_sessions) |
172 val graph = session_graph.restrict(afp_sessions -- afp_bulky_sessions) |
172 val force_partition1 = AFP.force_partition1.filter(graph.defined(_)) |
173 val force_partition1 = AFP.force_partition1.filter(graph.defined) |
173 val force_part1 = graph.all_preds(graph.all_succs(force_partition1)).toSet |
174 val force_part1 = graph.all_preds(graph.all_succs(force_partition1)).toSet |
174 graph.keys.partition(a => force_part1(a) || graph.is_isolated(a)) |
175 graph.keys.partition(a => force_part1(a) || graph.is_isolated(a)) |
175 } |
176 } |
176 for (part <- List(part1, part2, afp_bulky_sessions) if part.nonEmpty) |
177 for (part <- List(part1, part2, afp_bulky_sessions) if part.nonEmpty) |
177 yield new Session(context, logic, log, part) |
178 yield new Session(context, logic, log, part) |