File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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 :
Original file line number Diff line number Diff 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-
1513Hoare Type Theory (HTT) is a verification system for reasoning about sequential heap-manipulating
1614programs 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.
Original file line number Diff line number Diff line change @@ -35,9 +35,9 @@ build: [make "-C" "htt" "-j%{jobs}%"]
3535install: [make "-C" "htt" "install"]
3636depends: [
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") }
Original file line number Diff line number Diff line change @@ -32,8 +32,8 @@ build: [make "-C" "examples" "-j%{jobs}%"]
3232install: [make "-C" "examples" "install"]
3333depends: [
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") }
Original file line number Diff line number Diff line change @@ -27,7 +27,7 @@ From htt Require Import options model heapauto.
2727Record array (I : finType) (T : Type) : Set := Array {orig :> ptr}.
2828Arguments 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.
3131Identity Coercion array_for_array : array_for >-> array.
3232Notation "{ 'array' aT }" := (array_for (Phant aT))
3333 (at level 0, format "{ 'array' '[hv' aT ']' }") : type_scope.
Original file line number Diff line number Diff line change @@ -22,6 +22,9 @@ Import Order.NatOrder Order.TTheory.
2222Local Open Scope order_scope.
2323Local 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. *)
Original file line number Diff line number Diff line change @@ -16,6 +16,9 @@ From Stdlib Require Import Recdef Setoid ssreflect ssrbool ssrfun.
1616From mathcomp Require Import eqtype choice ssrnat seq bigop fintype finfun.
1717From 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(********************* *)
Original file line number Diff line number Diff line change @@ -19,6 +19,9 @@ From pcm Require Import unionmap heap autopcm automap.
1919From htt Require Import options model heapauto llist array.
2020From 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(********************************** *)
Original file line number Diff line number Diff line change @@ -19,6 +19,9 @@ From pcm Require Import pcm unionmap heap autopcm.
1919From htt Require Import options model heapauto.
2020From 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 *)
Original file line number Diff line number Diff line change @@ -22,6 +22,9 @@ From pcm Require Import options axioms pred ordtype finmap seqext.
2222From pcm Require Import pcm unionmap heap autopcm automap.
2323From 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. *)
You can’t perform that action at this time.
0 commit comments