Skip to content

Eval tactic: weak head normalize argument step by step#1376

Open
fblanqui wants to merge 4 commits into
Deducteam:masterfrom
fblanqui:tac_eval
Open

Eval tactic: weak head normalize argument step by step#1376
fblanqui wants to merge 4 commits into
Deducteam:masterfrom
fblanqui:tac_eval

Conversation

@fblanqui
Copy link
Copy Markdown
Member

@fblanqui fblanqui commented May 22, 2026

@fblanqui
Copy link
Copy Markdown
Member Author

@melanie-taprogge @bodeveix @NotBad4U Could you please check how this PR impacts your LP devs?

@melanie-taprogge
Copy link
Copy Markdown

Thank you for looking into this right away!
Unfortunately, while the PR does fix my initial issue, I encountered some new problems when trying out the PR on my examples. One problem I identified is that now tactics that are defined inline seem to cause problems in certain constellations (I experienced issues when both #repeat and #rewrite were used, while using them individually was okay.)
I attached a new example to this comment, the interesting file is newMiniExample.lp, here you can see that in the first two example, Lambdapi checks the proofs, however, when I uncomment the last one, I get the error

Uncaught [File "src/core/term.ml", line 926, characters 14-20: Assertion failed].
Raised at Core__Term.cleanup in file "src/core/term.ml", line 926, characters 14-26
Called from Core__Print.term_in in file "src/core/print.ml", line 350, characters 41-52
Called from Stdlib__Format.output_acc in file "format.ml", line 1307, characters 32-48
Called from Stdlib__Format.kfprintf.(fun) in file "format.ml", line 1356, characters 16-34
Called from Handle__Tactic.p_term.term in file "src/handle/tactic.ml", line 258, characters 38-56
Called from Handle__Tactic.p_term.term_aux in file "src/handle/tactic.ml", line 268, characters 40-52
Called from Handle__Tactic.p_term.term in file "src/handle/tactic.ml", line 258, characters 38-56
Called from Handle__Tactic.p_term.term_aux in file "src/handle/tactic.ml", line 268, characters 26-38
Called from Handle__Tactic.p_term.term in file "src/handle/tactic.ml", line 258, characters 38-56
Called from Handle__Tactic.p_tactic.tac_eval in file "src/handle/tactic.ml", line 360, characters 44-54
Called from Handle__Tactic.p_tactic.tac in file "src/handle/tactic.ml", line 394, characters 43-55
Called from Handle__Tactic.handle in file "src/handle/tactic.ml", line 698, characters 31-56
Called from Handle__Tactic.handle in file "src/handle/tactic.ml", line 718, characters 4-32
Called from Parsing__Syntax.fold_proof.proofstep in file "src/parsing/syntax.ml", line 527, characters 28-53
Called from Stdlib__List.fold_left in file "list.ml", line 121, characters 24-34
Called from Stdlib__List.fold_left in file "list.ml", line 121, characters 24-34
Called from Handle__Command.handle in file "src/handle/command.ml", line 642, characters 6-107
Called from Handle__Compile.compile_with.consume in file "src/handle/compile.ml", line 63, characters 38-60
Called from Common__Debug.stream_iter.(fun).do_rec in file "src/common/debug.ml", line 175, characters 40-45
Called from Handle__Compile.compile_with in file "src/handle/compile.ml", line 64, characters 6-55
Called from Dune__exe__Lambdapi.check_cmd.run.handle in file "src/cli/lambdapi.ml", line 130, characters 21-46
Called from Stdlib__List.iter in file "list.ml", line 110, characters 12-15
Called from Common__Error.handle_exceptions in file "src/common/error.ml", line 72, characters 6-10

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.

#rewrite tactic appears to unfold symbols in transparent rewrite lemmas before matching

2 participants