This repository was archived by the owner on Apr 25, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +6
-20
lines changed Expand file tree Collapse file tree 1 file changed +6
-20
lines changed Original file line number Diff line number Diff line change @@ -254,26 +254,12 @@ def get_refutation_id(self, node_id: int) -> str:
254
254
return f'{ self .id } .node-infeasible-{ node_id } '
255
255
256
256
def specialize_target_node (self ) -> None :
257
- target_subsumed = self .kcfg .predecessors (self .target )
258
- if len (target_subsumed ) < 2 :
259
- _LOGGER .info (
260
- f'Found less than 2 nodes subsumed into target, not specializing target node { self .id } : { target_subsumed } '
261
- )
262
- return
263
- target_subsumed_covers : list [KCFG .Cover ] = []
264
- for ts in target_subsumed :
265
- if type (ts ) is KCFG .Cover :
266
- target_subsumed_covers .append (ts )
267
- else :
268
- _LOGGER .info (
269
- f'Found non-cover predecessor into target node, not specializing target node { self .id } : { ts } '
270
- )
271
- return
272
- for tsc in target_subsumed_covers :
273
- self .kcfg .remove_cover (tsc .source .id , tsc .target .id )
274
- merge_id = self .kcfg .create_merge ([cover .source .id for cover in target_subsumed_covers ])
275
- self .kcfg .create_cover (merge_id , self .target )
276
- _LOGGER .info (f'Created specialized target subsumed node { self .id } : { merge_id } ' )
257
+ pullback = self .kcfg .pullback_covers (self .target )
258
+ if pullback is None :
259
+ _LOGGER .warning (f'Could not make a cover pullback for target node: { self .target } ' )
260
+ else :
261
+ merge_id , source_ids = pullback
262
+ _LOGGER .info (f'Created specialized target subsumed node { self .id } : { pullback } ' )
277
263
278
264
279
265
class APRBMCProof (APRProof ):
You can’t perform that action at this time.
0 commit comments