Skip to content

Commit b1b221d

Browse files
Adding docker image 2.5.0-rocq-prover-9.1.
1 parent 0453615 commit b1b221d

14 files changed

Lines changed: 47 additions & 15 deletions

File tree

.github/workflows/docker-action.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ jobs:
1818
matrix:
1919
image:
2020
- 'mathcomp/mathcomp:2.4.0-rocq-prover-9.0'
21+
- 'mathcomp/mathcomp:2.5.0-rocq-prover-9.1'
2122
- 'mathcomp/mathcomp-dev:rocq-prover-dev'
2223
fail-fast: false
2324
steps:

README.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ Follow the instructions on https://github.com/coq-community/templates to regener
1010
[docker-action-link]: https://github.com/imdea-software/htt/actions/workflows/docker-action.yml
1111

1212

13-
14-
1513
Hoare Type Theory (HTT) is a verification system for reasoning about sequential heap-manipulating
1614
programs based on Separation logic.
1715

@@ -130,3 +128,10 @@ The original version of HTT can be found [here](https://software.imdea.org/~alek
130128
Kasper Svendsen, Lars Birkedal and Aleksandar Nanevski. TLCA 2011.
131129

132130
A semantic model for HTT, with large sigma types.
131+
132+
* [Verifying Graph Algorithms in Separation Logic: A Case for an
133+
Algebraic Approach](https://software.imdea.org/~aleks/icfp25/paper-sub.pdf)
134+
135+
Marcos Grandury, Aleksandar Nanevski and Alexander Gryzlov. ICFP 2025.
136+
137+
The paper on verifying graphs algorithms using PCMs and their morphism.

coq-htt-core.opam

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ build: [make "-C" "htt" "-j%{jobs}%"]
3535
install: [make "-C" "htt" "install"]
3636
depends: [
3737
"dune" {>= "3.6"}
38-
"coq" { (>= "9.0" & < "9.1~") | (= "dev") }
39-
"coq-hierarchy-builder" { (>= "1.7.0" & < "1.10~") | (= "dev") }
40-
"coq-mathcomp-ssreflect" { (>= "2.4.0" & < "2.5~") | (= "dev") }
38+
"coq" { (>= "9.0" & < "9.2~") | (= "dev") }
39+
"coq-hierarchy-builder" { (>= "1.7.0" & < "1.11~") | (= "dev") }
40+
"coq-mathcomp-ssreflect" { (>= "2.4.0" & < "2.6~") | (= "dev") }
4141
"coq-mathcomp-algebra"
4242
"coq-mathcomp-fingroup"
4343
"coq-fcsl-pcm" { (>= "2.2.0" & < "2.3~") | (= "dev") }

coq-htt.opam

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ build: [make "-C" "examples" "-j%{jobs}%"]
3232
install: [make "-C" "examples" "install"]
3333
depends: [
3434
"dune" {>= "3.6"}
35-
"coq" { (>= "9.0" & < "9.1~") | (= "dev") }
36-
"coq-mathcomp-ssreflect" { (>= "2.4.0" & < "2.5~") | (= "dev") }
35+
"coq" { (>= "9.0" & < "9.2~") | (= "dev") }
36+
"coq-mathcomp-ssreflect" { (>= "2.4.0" & < "2.6~") | (= "dev") }
3737
"coq-mathcomp-algebra"
3838
"coq-mathcomp-fingroup"
3939
"coq-fcsl-pcm" { (>= "2.2.0" & < "2.3~") | (= "dev") }

examples/array.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ From htt Require Import options model heapauto.
2727
Record array (I : finType) (T : Type) : Set := Array {orig :> ptr}.
2828
Arguments Array {I T}.
2929

30-
Definition array_for (I : finType) (T : Type) of phant (I -> T) := array I T.
30+
Definition array_for (I : finType) (T : Type) & phant (I -> T) := array I T.
3131
Identity Coercion array_for_array : array_for >-> array.
3232
Notation "{ 'array' aT }" := (array_for (Phant aT))
3333
(at level 0, format "{ 'array' '[hv' aT ']' }") : type_scope.

examples/bubblesort.v

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ Import Order.NatOrder Order.TTheory.
2222
Local Open Scope order_scope.
2323
Local Open Scope nat_scope.
2424

25+
(* change Set to Unset when porting the file, then remove the line when requiring MathComp >= 2.6 *)
26+
Set SsrOldRewriteGoalsOrder.
27+
2528
(* Brief mathematics of (bubble) array sorting: *)
2629
(* Theory of permutations built out of (adjacent-element) swaps acting on *)
2730
(* finite functions from bounded nats to ordered values. *)

examples/congmath.v

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ From Stdlib Require Import Recdef Setoid ssreflect ssrbool ssrfun.
1616
From mathcomp Require Import eqtype choice ssrnat seq bigop fintype finfun.
1717
From pcm Require Import options prelude ordtype finmap pred seqext.
1818

19+
(* change Set to Unset when porting the file, then remove the line when requiring MathComp >= 2.6 *)
20+
Set SsrOldRewriteGoalsOrder.
21+
1922
(**********************)
2023
(* Congruence closure *)
2124
(**********************)

examples/congprog.v

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ From pcm Require Import unionmap heap autopcm automap.
1919
From htt Require Import options model heapauto llist array.
2020
From htt Require Import kvmaps hashtab congmath.
2121

22+
(* change Set to Unset when porting the file, then remove the line when requiring MathComp >= 2.6 *)
23+
Set SsrOldRewriteGoalsOrder.
24+
2225
(***********************************)
2326
(* Congruence closure verification *)
2427
(***********************************)

examples/hashtab.v

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ From pcm Require Import pcm unionmap heap autopcm.
1919
From htt Require Import options model heapauto.
2020
From htt Require Import array kvmaps.
2121

22+
(* change Set to Unset when porting the file, then remove the line when requiring MathComp >= 2.6 *)
23+
Set SsrOldRewriteGoalsOrder.
24+
2225
(* hash table is array of buckets, i.e. KV maps *)
2326
(* bucket indices are provided by the hash function *)
2427
(* using dynaming kv-maps for buckets *)

examples/kvmaps.v

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ From pcm Require Import options axioms pred ordtype finmap seqext.
2222
From pcm Require Import pcm unionmap heap autopcm automap.
2323
From htt Require Import options model heapauto.
2424

25+
(* change Set to Unset when porting the file, then remove the line when requiring MathComp >= 2.6 *)
26+
Set SsrOldRewriteGoalsOrder.
27+
2528
(* Dynamic KV map is determined by its root pointer(s). *)
2629
(* Functions such insert and remove may modify *)
2730
(* the root, and will correspondingly return the new one. *)

0 commit comments

Comments
 (0)