use Types::Standard qw(Maybe);
use DX::Step::Backtrack;
use DX::Step::InvokeNextPredicate;
+use DX::Step::MarkAsSolution;
use DX::Class;
has current_hypothesis => (is => 'ro', isa => Hypothesis, required => 1);
has on_exhaustion_step => (is => 'ro', required => 1);
+has on_solution_step => (is => 'ro', required => 1);
+
sub next_proposition {
my ($self, $hyp) = @_;
$hyp ||= $self->current_hypothesis;
: ( is_solution_state => 1 )
),
on_exhaustion_step => undef,
+ on_solution_step => DX::Step::MarkAsSolution->new,
);
}