Fix: take assumptions into account for subproof statements
Assumptions are currently not taken into account when checking that a subproof has succeeded in proving its goal at the top-level.
Example:
assume(C)
val ab = have(A |- B)
have(A |- B) subproof {
have(thesis) by Restate.from(ab)
}
Will raise an error saying the subproof proved C; A |- B
, instead of the expected sequent A |- B
. So, C
is being propagated into the subproof as expected, but the top-level correctness check fails to take this assumption into account.
This has been fixed by adding assumptions into the sequent the subproof uses for checking.