Skip to content

feat(phl): support backward ecall on bdHoare/phoare goals#1031

Open
mbbarbosa wants to merge 1 commit into
mainfrom
ecall-phoare-bwd
Open

feat(phl): support backward ecall on bdHoare/phoare goals#1031
mbbarbosa wants to merge 1 commit into
mainfrom
ecall-phoare-bwd

Conversation

@mbbarbosa
Copy link
Copy Markdown
Contributor

Extend backward ecall to bdHoare statement goals, so a bdHoare/phoare contract can be applied to the last call of a phoare goal — mirroring the existing hoare backward ecall.

  • ecPhlExists.ml: add t_ecall_bdhoare_bwd / process_ecall_bdhoare, and dispatch FbdHoareS in process_ecall (phoare added to the no-xhl error kinds). Program-variable contract arguments are handled via the existing ecall abstraction machinery; a trivial probability split routes the suffix call through t_bdhoare_seq, lifting the hoare prefix subgoal via t_hoareS_conseq_bdhoare.
  • ecPhlConseq.mli: expose t_hoareS_conseq_bdhoare / t_hoareF_conseq_bdhoare.

Extend backward `ecall` to bdHoare statement goals, so a bdHoare/phoare
contract can be applied to the last call of a phoare goal — mirroring the
existing hoare backward `ecall`.

- ecPhlExists.ml: add `t_ecall_bdhoare_bwd` / `process_ecall_bdhoare`, and
  dispatch `FbdHoareS` in `process_ecall` (phoare added to the no-xhl error
  kinds). Program-variable contract arguments are handled via the existing
  ecall abstraction machinery; a trivial probability split routes the suffix
  call through `t_bdhoare_seq`, lifting the hoare prefix subgoal via
  `t_hoareS_conseq_bdhoare`.
- ecPhlConseq.mli: expose `t_hoareS_conseq_bdhoare` / `t_hoareF_conseq_bdhoare`.
@mbbarbosa mbbarbosa requested a review from strub June 4, 2026 08:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant