Skip to content

Property Verification for the frame stack semantics#58

Merged
berpeti merged 24 commits into
masterfrom
gergo_symbolic
Feb 17, 2026
Merged

Property Verification for the frame stack semantics#58
berpeti merged 24 commits into
masterfrom
gergo_symbolic

Conversation

@MTLEVR
Copy link
Copy Markdown
Collaborator

@MTLEVR MTLEVR commented Dec 1, 2025

This pull request is for the property verification tactics that I've described in my master's thesis.

src/Symbolic/SymbTheorems.v contains theorems needed for the verification tactics.

src/Symbolic/SymbTactics.v contains the property verification tactic solve_symbolically, as well as helper tactics. Note that the tactic itself is described twice, once for a single symbolic variable, and once for multiple symbolic variables. Due to the complexity (and lack of proper semantics) of Ltac I was not able to adequately merge these. Tactic notations are given to merge these two tactics.

src/Symbolic/SymbExamples.v contains examples for the solve_symbolically tactic.

@berpeti berpeti self-requested a review January 28, 2026 14:26
@MTLEVR MTLEVR changed the title Gergo symbolic - draft pull request for the thesis Property Verification for the frame stack semantics Feb 4, 2026
Comment thread src/Symbolic/SymbTactics.v
Comment thread src/Symbolic/SymbTactics.v Outdated
intros t.

Ltac strip_IH_precond IH :=
(* By this point, the induction hypothesis is an implication list. Note that this tactic
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This explanation is not detailed enough. Could you provide some more insights? (Where is this tactic used, what kind of goals it should reshape?)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in 4f997b1

Comment thread src/Symbolic/SymbTactics.v
Comment thread src/Symbolic/SymbTactics.v
Comment thread src/Symbolic/SymbTactics.v Outdated
].

Ltac base_case_mult precond heq' h t :=
(* We need to return h and the precondition to the goal, before the loop begins. *)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand this comment. Isn't this about initialising the loop based on the precondition and current goal? Then "return" is confusing, "passing as an argument" to the tactic loop is better phrased.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in 4f997b1

Comment thread src/Symbolic/SymbTactics.v
@MTLEVR MTLEVR marked this pull request as ready for review February 16, 2026 15:35
@MTLEVR
Copy link
Copy Markdown
Collaborator Author

MTLEVR commented Feb 16, 2026

I've addressed all the comments, plus I've added some more documenting comments to SymbTheorems and SymbExamples as well.

@berpeti berpeti merged commit 2436896 into master Feb 17, 2026
1 check passed
@berpeti berpeti deleted the gergo_symbolic branch February 17, 2026 13:34
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.

2 participants