Skip to content

Proof of a custom mutex implementation. - #160

Closed
dkxb wants to merge 16 commits into
paolo/atomic-specsfrom
ke/mutex_impl
Closed

dkxb wants to merge 16 commits into
paolo/atomic-specsfrom
ke/mutex_impl

Conversation

@dkxb

@dkxb dkxb commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

Depend on #132 #127 .

@dkxb
dkxb requested a review from pgiarrusso-sl September 1, 2026 04:51
@skylabs-ai-ci

skylabs-ai-ci Bot commented Sep 1, 2026

Copy link
Copy Markdown

CI summary (Details)

Active Repos

Repo Job Branch Job Commit Branch Tip Base branch Base commit PR
fmdeps/brick-libcpp/ ke/mutex_impl 8b4447e 5719fb7 main 4a05f01 #160

Passive Repos

Repo Job Branch Job Commit
./ main fc2860d
fmdeps/BRiCk/ main f8dc05c
fmdeps/auto/ main d3a8984
fmdeps/auto-docs/ main 6490c5f
bluerock/NOVA/ skylabs-proof eb2fd0d
bluerock/bhv/ skylabs-main e6646bb
fmdeps/ci/ main 6a09c2f
vendored/elpi/ skylabs-master c0b9653
vendored/flocq/ skylabs-master cf9cc84
vendored/rocq/ skylabs-master bef7df5
fmdeps/rocq-agent-toolkit/ main 227bb83
vendored/rocq-elpi/ skylabs-master 7dee592
vendored/rocq-equations/ skylabs-main 9cf8471
vendored/rocq-iris/ skylabs-master a7af9f7
vendored/rocq-lsp/ skylabs-main 64ef78a
vendored/rocq-stdlib/ skylabs-master 00897b3
vendored/rocq-stdpp/ skylabs-master 0c5e505
fmdeps/skylabs-fm/ main c8da9fd
vendored/vsrocq/ skylabs-main ee79e7a

Changes in Warnings or Errors

Before New Fixed After
Errors 0 ${\color{red}2}$ 0 2
Warnings 118 0 0 118
Code quality details

Rocq Files with Errors (2)

# Files with new errors
- fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/atomic/test_cpp_proof.v
- fmdeps/brick-libcpp/rocq-brick-libstdcpp/test/mutex/test_cpp_proof.v

❌ New Errors (2)

File "./fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/atomic/test_cpp_proof.v", line 77, characters 4-5:
Error: Syntax error: [lconstr] expected after '(' (in [elpi_cmd_arg]).
File "./fmdeps/brick-libcpp/rocq-brick-libstdcpp/test/mutex/test_cpp_proof.v", line 12, characters 2-56:
Error:
The following dependencies are missing specifications:
"std::mutex::lock()"%cpp_name
"std::mutex::unlock()"%cpp_name
"std::mutex::mutex()"%cpp_name
"std::mutex::~mutex()"%cpp_name
- You can add specifications for these functions using [cpp.spec].
- You can use [verify?[ source ] "test_mutex()"%cpp_name] to start the verification anyways.

Performance

Relative Master MR Change Filename
+1.32% 194132.7 196691.7 +2559.1 total
-0.08% 157.4 - -157.4 ├ disappeared files (1)
+1.38% - 2722.5 +2722.5 ├ newly appeared files (9)
-0.00% 193975.2 193969.2 -6.0 └ common files
-0.00% 52863.1 52863.1 -0.0 ├ translation units
-0.00% 141112.1 141106.1 -6.0 └ proofs and tests
Full Results
Relative Master MR Change Filename
-3.47% 30.5 29.4 -1.1 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/spec/mutex.v
-2.90% 50.2 48.8 -1.5 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/proof/unique_lock.v
-2.01% 51.1 50.0 -1.0 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/proof/unique_lock_recursive_mutex.v
-1.69% 70.8 69.6 -1.2 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/demo_cpp_proof.v
-1.25% 98.6 97.4 -1.2 fmdeps/brick-libcpp/rocq-brick-libstdcpp/test/mutex/guard_recursive_cpp_proof.v
+1.32% 194132.7 196691.7 +2559.1 total
-0.08% 157.4 - -157.4 ├ disappeared files (1)
+1.38% - 2722.5 +2722.5 ├ newly appeared files (9)
-0.00% 193975.2 193969.2 -6.0 └ common files
-0.00% 52863.1 52863.1 -0.0 ├ translation units
-0.00% 141112.1 141106.1 -6.0 └ proofs and tests

@pgiarrusso-sl
pgiarrusso-sl changed the base branch from main to paolo/atomic-specs September 1, 2026 07:59
@pgiarrusso-sl
pgiarrusso-sl force-pushed the paolo/atomic-specs branch 3 times, most recently from dbc8b33 to 7967331 Compare September 1, 2026 09:09
@skylabs-ai-ci

skylabs-ai-ci Bot commented Sep 1, 2026

Copy link
Copy Markdown

⚠️ Base Build Failed! ⚠️

Performance results and warnings/errors analysis will be incomplete and possibly confusing.

CI summary (Details)

Active Repos

Repo Job Branch Job Commit Branch Tip Base branch Base commit PR
fmdeps/brick-libcpp/ ke/mutex_impl 88828cb 441bd7d paolo/atomic-specs ( ⚠️ non-default) 7967331 #160

Passive Repos

Repo Job Branch Job Commit
./ main fc2860d
fmdeps/BRiCk/ main f8dc05c
fmdeps/auto/ paolo/atomic-specs ⚠️ 5af05fd
fmdeps/auto-docs/ main 6490c5f
bluerock/NOVA/ skylabs-proof eb2fd0d
bluerock/bhv/ skylabs-main e6646bb
fmdeps/ci/ main 6a09c2f
vendored/elpi/ skylabs-master c0b9653
vendored/flocq/ skylabs-master cf9cc84
vendored/rocq/ skylabs-master bef7df5
fmdeps/rocq-agent-toolkit/ main 227bb83
vendored/rocq-elpi/ skylabs-master 7dee592
vendored/rocq-equations/ skylabs-main 9cf8471
vendored/rocq-iris/ skylabs-master a7af9f7
vendored/rocq-lsp/ skylabs-main 64ef78a
vendored/rocq-stdlib/ skylabs-master 00897b3
vendored/rocq-stdpp/ skylabs-master 0c5e505
fmdeps/skylabs-fm/ main c8da9fd
vendored/vsrocq/ skylabs-main ee79e7a
Code quality details

Performance

Relative Master MR Change Filename
-0.07% 195967.4 195820.5 -146.9 total
-0.08% 157.4 - -157.4 ├ disappeared files (1)
+0.01% - 16.6 +16.6 ├ newly appeared files (1)
-0.00% 195810.0 195803.9 -6.1 └ common files
-0.00% 54146.2 54146.2 -0.0 ├ translation units
-0.00% 141663.7 141657.7 -6.1 └ proofs and tests
Full Results
Relative Master MR Change Filename
-3.50% 30.5 29.4 -1.1 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/spec/mutex.v
-2.90% 50.2 48.8 -1.5 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/proof/unique_lock.v
-2.02% 51.1 50.0 -1.0 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/proof/unique_lock_recursive_mutex.v
-1.70% 70.8 69.6 -1.2 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/demo_cpp_proof.v
-1.26% 98.6 97.4 -1.2 fmdeps/brick-libcpp/rocq-brick-libstdcpp/test/mutex/guard_recursive_cpp_proof.v
-0.07% 195967.4 195820.5 -146.9 total
-0.08% 157.4 - -157.4 ├ disappeared files (1)
+0.01% - 16.6 +16.6 ├ newly appeared files (1)
-0.00% 195810.0 195803.9 -6.1 └ common files
-0.00% 54146.2 54146.2 -0.0 ├ translation units
-0.00% 141663.7 141657.7 -6.1 └ proofs and tests

@skylabs-ai-ci

skylabs-ai-ci Bot commented Sep 1, 2026

Copy link
Copy Markdown

⚠️ Base Build Failed! ⚠️

Performance results and warnings/errors analysis will be incomplete and possibly confusing.

CI summary (Details)

Active Repos

Repo Job Branch Job Commit Branch Tip Base branch Base commit PR
fmdeps/brick-libcpp/ ke/mutex_impl 2f111d3 bfc0f31 paolo/atomic-specs ( ⚠️ non-default) 7967331 #160

Passive Repos

Repo Job Branch Job Commit
./ main fc2860d
fmdeps/BRiCk/ main f8dc05c
fmdeps/auto/ paolo/atomic-specs ⚠️ 5af05fd
fmdeps/auto-docs/ main 6490c5f
bluerock/NOVA/ skylabs-proof eb2fd0d
bluerock/bhv/ skylabs-main e6646bb
fmdeps/ci/ main 6a09c2f
vendored/elpi/ skylabs-master c0b9653
vendored/flocq/ skylabs-master cf9cc84
vendored/rocq/ skylabs-master bef7df5
fmdeps/rocq-agent-toolkit/ main 227bb83
vendored/rocq-elpi/ skylabs-master 7dee592
vendored/rocq-equations/ skylabs-main 9cf8471
vendored/rocq-iris/ skylabs-master a7af9f7
vendored/rocq-lsp/ skylabs-main 64ef78a
vendored/rocq-stdlib/ skylabs-master 00897b3
vendored/rocq-stdpp/ skylabs-master 0c5e505
fmdeps/skylabs-fm/ main 69d6d20
vendored/vsrocq/ skylabs-main ee79e7a
Code quality details

Performance

Relative Master MR Change Filename
-0.07% 195967.4 195837.9 -129.5 total
-0.08% 157.4 - -157.4 ├ disappeared files (1)
+0.02% - 33.9 +33.9 ├ newly appeared files (1)
-0.00% 195810.0 195804.1 -5.9 └ common files
-0.00% 54146.2 54146.1 -0.1 ├ translation units
-0.00% 141663.7 141658.0 -5.8 └ proofs and tests
Full Results
Relative Master MR Change Filename
-2.90% 50.2 48.8 -1.5 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/proof/unique_lock.v
-2.02% 51.1 50.0 -1.0 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/proof/unique_lock_recursive_mutex.v
-1.70% 70.8 69.6 -1.2 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/demo_cpp_proof.v
-1.26% 98.6 97.4 -1.2 fmdeps/brick-libcpp/rocq-brick-libstdcpp/test/mutex/guard_recursive_cpp_proof.v
-0.07% 195967.4 195837.9 -129.5 total
-0.08% 157.4 - -157.4 ├ disappeared files (1)
+0.02% - 33.9 +33.9 ├ newly appeared files (1)
-0.00% 195810.0 195804.1 -5.9 └ common files
-0.00% 54146.2 54146.1 -0.1 ├ translation units
-0.00% 141663.7 141658.0 -5.8 └ proofs and tests

dkxb added 2 commits September 1, 2026 21:35
Fix invariant.
Add specs for all functions in MyMutex.
Not sure if we need do_store_C or do_load_C.
@skylabs-ai-ci

skylabs-ai-ci Bot commented Sep 2, 2026

Copy link
Copy Markdown

⚠️ Base Build Failed! ⚠️

Performance results and warnings/errors analysis will be incomplete and possibly confusing.

CI summary (Details)

Active Repos

Repo Job Branch Job Commit Branch Tip Base branch Base commit PR
fmdeps/brick-libcpp/ ke/mutex_impl 03c51a6 e7f35d7 paolo/atomic-specs ( ⚠️ non-default) 7967331 #160

Passive Repos

Repo Job Branch Job Commit
./ main fc2860d
fmdeps/BRiCk/ main f8dc05c
fmdeps/auto/ paolo/atomic-specs ⚠️ 5af05fd
fmdeps/auto-docs/ main 6490c5f
bluerock/NOVA/ skylabs-proof eb2fd0d
bluerock/bhv/ skylabs-main e6646bb
fmdeps/ci/ main 6a09c2f
vendored/elpi/ skylabs-master c0b9653
vendored/flocq/ skylabs-master cf9cc84
vendored/rocq/ skylabs-master bef7df5
fmdeps/rocq-agent-toolkit/ main 227bb83
vendored/rocq-elpi/ skylabs-master 7dee592
vendored/rocq-equations/ skylabs-main 9cf8471
vendored/rocq-iris/ skylabs-master a7af9f7
vendored/rocq-lsp/ skylabs-main 64ef78a
vendored/rocq-stdlib/ skylabs-master 00897b3
vendored/rocq-stdpp/ skylabs-master 0c5e505
fmdeps/skylabs-fm/ main 69d6d20
vendored/vsrocq/ skylabs-main ee79e7a
Code quality details

Performance

Relative Master MR Change Filename
-0.01% 195967.4 195942.8 -24.6 total
-0.08% 157.4 - -157.4 ├ disappeared files (1)
+0.07% - 138.9 +138.9 ├ newly appeared files (1)
-0.00% 195810.0 195804.0 -6.0 └ common files
-0.00% 54146.2 54146.0 -0.2 ├ translation units
-0.00% 141663.7 141657.9 -5.8 └ proofs and tests
Full Results
Relative Master MR Change Filename
-2.90% 50.2 48.8 -1.5 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/proof/unique_lock.v
-2.02% 51.1 50.0 -1.0 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/proof/unique_lock_recursive_mutex.v
-1.70% 70.8 69.6 -1.2 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/demo_cpp_proof.v
-1.26% 98.6 97.4 -1.2 fmdeps/brick-libcpp/rocq-brick-libstdcpp/test/mutex/guard_recursive_cpp_proof.v
-0.01% 195967.4 195942.8 -24.6 total
-0.08% 157.4 - -157.4 ├ disappeared files (1)
+0.07% - 138.9 +138.9 ├ newly appeared files (1)
-0.00% 195810.0 195804.0 -6.0 └ common files
-0.00% 54146.2 54146.0 -0.2 ├ translation units
-0.00% 141663.7 141657.9 -5.8 └ proofs and tests

@skylabs-ai-ci

skylabs-ai-ci Bot commented Sep 2, 2026

Copy link
Copy Markdown

⚠️ Base Build Failed! ⚠️

Performance results and warnings/errors analysis will be incomplete and possibly confusing.

CI summary (Details)

Active Repos

Repo Job Branch Job Commit Branch Tip Base branch Base commit PR
fmdeps/brick-libcpp/ ke/mutex_impl 23a92e0 c5aec84 paolo/atomic-specs ( ⚠️ non-default) 7967331 #160

Passive Repos

Repo Job Branch Job Commit
./ main fc2860d
fmdeps/BRiCk/ main f8dc05c
fmdeps/auto/ paolo/atomic-specs ⚠️ 5af05fd
fmdeps/auto-docs/ main 6490c5f
bluerock/NOVA/ skylabs-proof eb2fd0d
bluerock/bhv/ skylabs-main e6646bb
fmdeps/ci/ main 6a09c2f
vendored/elpi/ skylabs-master c0b9653
vendored/flocq/ skylabs-master cf9cc84
vendored/rocq/ skylabs-master bef7df5
fmdeps/rocq-agent-toolkit/ main 227bb83
vendored/rocq-elpi/ skylabs-master 7dee592
vendored/rocq-equations/ skylabs-main 9cf8471
vendored/rocq-iris/ skylabs-master a7af9f7
vendored/rocq-lsp/ skylabs-main 64ef78a
vendored/rocq-stdlib/ skylabs-master 00897b3
vendored/rocq-stdpp/ skylabs-master 0c5e505
fmdeps/skylabs-fm/ main 69d6d20
vendored/vsrocq/ skylabs-main ee79e7a
Code quality details

Performance

Relative Master MR Change Filename
-0.00% 195967.4 195965.6 -1.8 total
-0.08% 157.4 - -157.4 ├ disappeared files (1)
+0.08% - 161.6 +161.6 ├ newly appeared files (1)
-0.00% 195810.0 195804.0 -6.0 └ common files
-0.00% 54146.2 54146.0 -0.2 ├ translation units
-0.00% 141663.7 141657.9 -5.8 └ proofs and tests
Full Results
Relative Master MR Change Filename
-2.90% 50.2 48.8 -1.5 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/proof/unique_lock.v
-2.02% 51.1 50.0 -1.0 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/proof/unique_lock_recursive_mutex.v
-1.70% 70.8 69.6 -1.2 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/demo_cpp_proof.v
-1.26% 98.6 97.4 -1.2 fmdeps/brick-libcpp/rocq-brick-libstdcpp/test/mutex/guard_recursive_cpp_proof.v
-0.00% 195967.4 195965.6 -1.8 total
-0.08% 157.4 - -157.4 ├ disappeared files (1)
+0.08% - 161.6 +161.6 ├ newly appeared files (1)
-0.00% 195810.0 195804.0 -6.0 └ common files
-0.00% 54146.2 54146.0 -0.2 ├ translation units
-0.00% 141663.7 141657.9 -5.8 └ proofs and tests

@pgiarrusso-sl pgiarrusso-sl mentioned this pull request Sep 4, 2026
@skylabs-ai-ci

skylabs-ai-ci Bot commented Sep 4, 2026

Copy link
Copy Markdown

⚠️ Base Build Failed! ⚠️

Performance results and warnings/errors analysis will be incomplete and possibly confusing.

CI summary (Details)

Active Repos

Repo Job Branch Job Commit Branch Tip Base branch Base commit PR
fmdeps/brick-libcpp/ ke/mutex_impl c784df9 6a75fb6 paolo/atomic-specs ( ⚠️ non-default) 7967331 #160

Passive Repos

Repo Job Branch Job Commit
./ main db1581e
fmdeps/BRiCk/ main 389d262
fmdeps/auto/ paolo/atomic-specs ⚠️ 5af05fd
fmdeps/auto-docs/ main 6490c5f
bluerock/NOVA/ skylabs-proof bbb220a
bluerock/bhv/ skylabs-main e6646bb
fmdeps/ci/ main 6a09c2f
vendored/elpi/ skylabs-master c0b9653
vendored/flocq/ skylabs-master cf9cc84
vendored/rocq/ skylabs-master bef7df5
fmdeps/rocq-agent-toolkit/ main 227bb83
vendored/rocq-elpi/ skylabs-master 7dee592
vendored/rocq-equations/ skylabs-main 9cf8471
vendored/rocq-iris/ skylabs-master a7af9f7
vendored/rocq-lsp/ skylabs-main 64ef78a
vendored/rocq-stdlib/ skylabs-master 00897b3
vendored/rocq-stdpp/ skylabs-master 0c5e505
fmdeps/skylabs-fm/ main 69d6d20
vendored/vsrocq/ skylabs-main ee79e7a
Code quality details

Performance

Relative Master MR Change Filename
+0.00% 196835.0 196844.0 +9.0 total
-0.08% 157.4 - -157.4 ├ disappeared files (1)
+0.08% - 162.9 +162.9 ├ newly appeared files (1)
+0.00% 196677.6 196681.1 +3.4 └ common files
-0.00% 54390.6 54390.5 -0.1 ├ translation units
+0.00% 142287.0 142290.5 +3.5 └ proofs and tests
Full Results
Relative Master MR Change Filename
+1.22% 97.4 98.6 +1.2 fmdeps/brick-libcpp/rocq-brick-libstdcpp/test/mutex/guard_recursive_cpp_proof.v
+1.72% 69.6 70.8 +1.2 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/demo_cpp_proof.v
+2.04% 50.0 51.1 +1.0 fmdeps/brick-libcpp/rocq-brick-libstdcpp/proof/mutex/proof/unique_lock_recursive_mutex.v
+0.00% 196835.0 196844.0 +9.0 total
-0.08% 157.4 - -157.4 ├ disappeared files (1)
+0.08% - 162.9 +162.9 ├ newly appeared files (1)
+0.00% 196677.6 196681.1 +3.4 └ common files
-0.00% 54390.6 54390.5 -0.1 ├ translation units
+0.00% 142287.0 142290.5 +3.5 └ proofs and tests

@pgiarrusso-sl
pgiarrusso-sl deleted the branch paolo/atomic-specs September 4, 2026 17:52
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