Skip to content

PHL: make eqobs-in programmatically reusable (split parse/tactic)#1023

Open
strub wants to merge 1 commit into
mainfrom
deploy-eqobs-refactor
Open

PHL: make eqobs-in programmatically reusable (split parse/tactic)#1023
strub wants to merge 1 commit into
mainfrom
deploy-eqobs-refactor

Conversation

@strub
Copy link
Copy Markdown
Member

@strub strub commented May 31, 2026

Splits the eqobs-in machinery into a parse layer and a tactic layer:

  • A new elaborated 'sim_info' record (in EcPhlEqobs) holds resolved
    data (Mpv2.t equalities, ts_inv invariant, resolved codegap1
    positions), distinct from the parsetree side which is renamed
    'sim_info' -> 'psim_info'.
  • 'process_eqobs_in{,S,F}' now only elaborate 'psim_info' -> 'sim_info'
    and delegate to new tactic functions 't_eqobs_in{,S,F}' that operate
    on already-elaborated data. New 'empty_sim_info' helper.
  • This exposes a programmatic 't_eqobs_in cm info tc' entry point,
    used by ecPhlRwEquiv and ecPhlOutline (which previously had to go
    through the parser-facing path).
  • ecPhlRwEquiv.t_rewrite_equiv now takes an elaborated 'codepos1'
    (callers elaborate via EcTyping.trans_codepos1) instead of 'pcodepos1'.

Behaviour-preserving refactor (uses the existing ts_inv type).

Splits the eqobs-in machinery into a parse layer and a tactic layer:

- A new elaborated 'sim_info' record (in EcPhlEqobs) holds resolved
  data (Mpv2.t equalities, ts_inv invariant, resolved codegap1
  positions), distinct from the parsetree side which is renamed
  'sim_info' -> 'psim_info'.
- 'process_eqobs_in{,S,F}' now only elaborate 'psim_info' -> 'sim_info'
  and delegate to new tactic functions 't_eqobs_in{,S,F}' that operate
  on already-elaborated data. New 'empty_sim_info' helper.
- This exposes a programmatic 't_eqobs_in cm info tc' entry point,
  used by ecPhlRwEquiv and ecPhlOutline (which previously had to go
  through the parser-facing path).
- ecPhlRwEquiv.t_rewrite_equiv now takes an elaborated 'codepos1'
  (callers elaborate via EcTyping.trans_codepos1) instead of 'pcodepos1'.

Behaviour-preserving refactor (uses the existing ts_inv type).
@strub strub requested review from Gustavo2622 and oskgo May 31, 2026 09:49
strub added a commit that referenced this pull request May 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant