1 package DX::Step::EnterRecheck;
7 has proposition_list => (is => 'ro', required => 1);
10 my ($self, $old_ss) = @_;
12 my ($prop, @rest) = @{$self->proposition_list};
14 die "NOT YET DAMNIT" if @rest;
16 my $old_hyp = $old_ss->current_hypothesis;
18 # we should probably be doing something about pruning the scope
19 # but that's completely pointless until we have rules (and also,
20 # the lock_to_depth arg needs to come from the proposition somehow)
22 my $ap = DX::ActionPolicy::LockScope->new(
23 lock_to_depth => $old_hyp->scope->depth,
24 next_policy => $old_hyp->action_policy,
27 my $hyp = ref($old_hyp)->new(
28 scope => $old_hyp->scope,
29 resolved_propositions => DX::ResolvedPropositionSet->new_empty,
31 action_applications => [],
35 my $pseq = DX::PropositionSequence->new(
41 trace 'step.recheck.hyp' => $hyp;
43 my $ss = DX::SearchState->new(
44 current_hypothesis => $hyp,
46 propositions => $pseq,
47 next_step => DX::Step::ConsiderProposition->new(
50 is_solution_state => 0,
51 on_exhaustion_step => undef,
52 on_solution_step => DX::Step::MarkAsSolution->new,