MCPcopy Create free account
hub / github.com/NeuralNetworkVerification/Marabou / explainAndCheckContradiction

Method explainAndCheckContradiction

src/engine/Engine.cpp:3570–3587  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3568}
3569
3570bool Engine::explainAndCheckContradiction( unsigned var, bool isUpper, const TableauRow *row )
3571{
3572 ASSERT( _produceUNSATProofs );
3573
3574 SparseUnsortedList backup( 0 );
3575 backup = _boundManager.getExplanation( var, isUpper );
3576
3577 _boundManager.updateBoundExplanation( *row, isUpper, var );
3578
3579 // Ensure the proof is correct
3580 if ( certifyInfeasibility( var ) )
3581 return true;
3582
3583 // If not, restores previous certificate if the proof is wrong
3584 _boundManager.setExplanation( backup, var, isUpper );
3585
3586 return false;
3587}
3588
3589bool Engine::explainAndCheckContradiction( unsigned var,
3590 bool isUpper,

Callers

nothing calls this directly

Calls 3

setExplanationMethod · 0.45

Tested by

no test coverage detected